package org.ovirt.engine.core.common.businessentities; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; import javax.xml.bind.annotation.XmlElement; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Type; import org.hibernate.annotations.TypeDef; import org.ovirt.engine.core.common.businessentities.mapping.GuidType; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.StringFormat; @Entity @Table(name = "image_templates") @TypeDef(name = "guid", typeClass = GuidType.class) public class DiskImageTemplate implements IImage,BusinessEntity<Guid> { private static final long serialVersionUID = -4485009586150352291L; public DiskImageTemplate() { } public DiskImageTemplate(Guid vtim_it_guid, Guid vmt_guid, String internal_drive_mapping, Guid it_guid, String os, String os_version, java.util.Date creation_date, long size, String description, Boolean bootable) { this.vtim_it_guidField = vtim_it_guid; this.vmTemplateId = vmt_guid; this.internal_drive_mappingField = internal_drive_mapping; this.id = it_guid; this.os = os; this.osVersion = os_version; this.creationDate = creation_date; this.size = size; this.description = description; this.bootable = bootable; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((bootable == null) ? 0 : bootable.hashCode()); result = prime * result + ((creationDate == null) ? 0 : creationDate .hashCode()); result = prime * result + ((description == null) ? 0 : description.hashCode()); result = prime * result + ((internal_drive_mappingField == null) ? 0 : internal_drive_mappingField.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((os == null) ? 0 : os.hashCode()); result = prime * result + ((osVersion == null) ? 0 : osVersion.hashCode()); result = prime * result + (int) (size ^ (size >>> 32)); result = prime * result + ((vmTemplateId == null) ? 0 : vmTemplateId.hashCode()); result = prime * result + ((vtim_it_guidField == null) ? 0 : vtim_it_guidField .hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; DiskImageTemplate other = (DiskImageTemplate) obj; if (bootable == null) { if (other.bootable != null) return false; } else if (!bootable.equals(other.bootable)) return false; if (creationDate == null) { if (other.creationDate != null) return false; } else if (!creationDate.equals(other.creationDate)) return false; if (description == null) { if (other.description != null) return false; } else if (!description.equals(other.description)) return false; if (internal_drive_mappingField == null) { if (other.internal_drive_mappingField != null) return false; } else if (!internal_drive_mappingField .equals(other.internal_drive_mappingField)) return false; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; if (os == null) { if (other.os != null) return false; } else if (!os.equals(other.os)) return false; if (osVersion == null) { if (other.osVersion != null) return false; } else if (!osVersion.equals(other.osVersion)) return false; if (size != other.size) return false; if (vmTemplateId == null) { if (other.vmTemplateId != null) return false; } else if (!vmTemplateId.equals(other.vmTemplateId)) return false; if (vtim_it_guidField == null) { if (other.vtim_it_guidField != null) return false; } else if (!vtim_it_guidField.equals(other.vtim_it_guidField)) return false; return true; } @Transient @Type(type = "guid") private Guid vtim_it_guidField = new Guid(); public Guid getvtim_it_guid() { return this.vtim_it_guidField; } public void setvtim_it_guid(Guid value) { this.vtim_it_guidField = value; } @Transient @Type(type = "guid") private Guid vmTemplateId = new Guid(); public Guid getvmt_guid() { return this.vmTemplateId; } public void setvmt_guid(Guid value) { this.vmTemplateId = value; } @Transient private String internal_drive_mappingField; @Override public String getinternal_drive_mapping() { return this.internal_drive_mappingField; } @Override public void setinternal_drive_mapping(String value) { this.internal_drive_mappingField = value; } @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "org.ovirt.engine.core.dao.GuidGenerator") @Column(name = "it_guid") @Type(type = "guid") private Guid id = new Guid(); @Override public Guid getit_guid() { return getId(); } @Override public void setit_guid(Guid value) { setId(value); } @Column(name = "os", length = 40) private String os; public String getos() { return this.os; } public void setos(String value) { this.os = value; } @Column(name = "os_version", length = 40) private String osVersion; public String getos_version() { return this.osVersion; } public void setos_version(String value) { this.osVersion = value; } @Column(name = "creation_date", nullable = false) private java.util.Date creationDate = new java.util.Date(0); @Override public java.util.Date getcreation_date() { return this.creationDate; } @Override public void setcreation_date(java.util.Date value) { this.creationDate = value; } @Column(name = "size", nullable = false) private long size; @Override public long getsize() { return this.size; } @Override public void setsize(long value) { this.size = value; } @Column(name = "description", length = 4000) private String description; @Override public String getdescription() { return this.description; } @Override public void setdescription(String value) { this.description = value; } @Column(name = "bootable") private Boolean bootable; public Boolean getbootable() { return this.bootable; } public void setbootable(Boolean value) { this.bootable = value; } @Override public String toString() { return StringFormat.format("'%1$s' - uid = '%2$s' , description = '%3$s'", this.getinternal_drive_mapping(), this.getit_guid(), this.getdescription()); } @Override public Guid getcontainer_guid() { return getvmt_guid(); } @Override public void setcontainer_guid(Guid value) { setvmt_guid(value); } @Override public int getread_rate_kb_per_sec() { return -1; } @Override public void setread_rate_kb_per_sec(int value) { throw new RuntimeException("The method or operation is not implemented."); } @Override public int getwrite_rate_kb_per_sec() { return -1; } @Override public void setwrite_rate_kb_per_sec(int value) { throw new RuntimeException("The method or operation is not implemented."); } // C# TO JAVA CONVERTER TODO TASK: Java annotations will not correspond to // .NET attributes: @XmlElement public long getSizeInGigabyte() { return getsize() / (1024 * 1024 * 1024); } public void setSizeInGigabyte(long value) { setsize(value * (1024 * 1024 * 1024)); } @Override public Guid getId() { return id; } @Override public void setId(Guid id) { this.id = id; } }