Vered Volansky has uploaded a new change for review. Change subject: core : [WIP] Disk refactoring - DeviceDisk entity ......................................................................
core : [WIP] Disk refactoring - DeviceDisk entity The plugged property is a disk-vm property, and is irrelevant to the Disk entity. This patch introduces a new BE - the VmDisk. This class inherits from Disk and contains the plugged property. In the future other properties related to the vm/template-disk relationship should be added to this class. Change-Id: Id5973c33e94d3e4ce7fe4f2cbd249c2851cc60c1 Signed-off-by: Vered Volansky <vvola...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByVmIdQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Disk.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DiskImageBase.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/LunDisk.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDisk.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmsResourceTest.java M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DiskMapper.java M backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DiskMapperTest.java M backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/LunDiskMapperTest.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskStatusColumn.java M frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java 17 files changed, 95 insertions(+), 47 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/90/15290/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByVmIdQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByVmIdQuery.java index d7dae5b..733bc06 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByVmIdQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetAllDisksByVmIdQuery.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Set; +import org.ovirt.engine.core.common.businessentities.VmDisk; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; import org.ovirt.engine.core.common.businessentities.DiskImage; @@ -26,7 +27,7 @@ Set<Guid> pluggedDiskIds = getPluggedDiskIds(); List<Disk> disks = new ArrayList<Disk>(allDisks); for (Disk disk : allDisks) { - disk.setPlugged(pluggedDiskIds.contains(disk.getId())); + ((VmDisk) disk).setPlugged(pluggedDiskIds.contains(disk.getId())); if (disk.getDiskStorageType() == DiskStorageType.IMAGE) { DiskImage diskImage = (DiskImage) disk; diskImage.getSnapshots().addAll(getAllImageSnapshots(diskImage)); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Disk.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Disk.java index aa460c3..e1716ad 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Disk.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Disk.java @@ -23,7 +23,6 @@ private VmEntityType vmEntityType; private int numberOfVms; private ArrayList<String> vmNames; - private Boolean plugged; /** * @return Whether taking snapshots of this disk is allowed @@ -43,13 +42,6 @@ this.vmEntityType = vmEntityType; } - public Boolean getPlugged() { - return plugged; - } - - public void setPlugged(Boolean plugged) { - this.plugged = plugged; - } public abstract long getSize(); @@ -57,7 +49,6 @@ public int hashCode() { final int prime = 31; int result = super.hashCode(); - result = prime * result + ((plugged == null) ? 0 : plugged.hashCode()); result = prime * result + ((vmNames == null) ? 0 : vmNames.hashCode()); result = prime * result + ((vmEntityType == null) ? 0 : vmEntityType.hashCode()); result = prime * result + numberOfVms; @@ -76,8 +67,7 @@ return false; } Disk other = (Disk) obj; - return (ObjectUtils.objectsEqual(plugged, other.plugged) - && ObjectUtils.objectsEqual(vmNames, other.vmNames) + return (ObjectUtils.objectsEqual(vmNames, other.vmNames) && vmEntityType == other.vmEntityType && numberOfVms == other.numberOfVms); } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DiskImageBase.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DiskImageBase.java index 59e07f5..36fb1c8 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DiskImageBase.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DiskImageBase.java @@ -4,7 +4,7 @@ import org.ovirt.engine.core.compat.Guid; -public class DiskImageBase extends Disk { +public class DiskImageBase extends VmDisk { private static final long serialVersionUID = 4913899921353163969L; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/LunDisk.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/LunDisk.java index 302463a..bdaa9f2 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/LunDisk.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/LunDisk.java @@ -5,7 +5,7 @@ /** * A type of disk that is stored directly on a LUN ({@link LUNs}). This disk will contain the LUN details. */ -public class LunDisk extends Disk { +public class LunDisk extends VmDisk { private static final long serialVersionUID = -5177863078960026966L; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDisk.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDisk.java new file mode 100644 index 0000000..4851d75 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmDisk.java @@ -0,0 +1,41 @@ +package org.ovirt.engine.core.common.businessentities; + +import org.ovirt.engine.core.common.utils.ObjectUtils; + +public abstract class VmDisk extends Disk { + + private static final long serialVersionUID = -4130066611386706349L; + + private Boolean plugged; + + public Boolean getPlugged() { + return plugged; + } + + public void setPlugged(Boolean plugged) { + this.plugged = plugged; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + result = prime * result + ((plugged == null) ? 0 : plugged.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + VmDisk other = (VmDisk) obj; + return ObjectUtils.objectsEqual(plugged, other.plugged); + } +} diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java index 6a6a354..0b6a9b8 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java @@ -32,7 +32,7 @@ public Response add(Disk disk) { validateDiskForCreation(disk); AddDiskParameters params = new AddDiskParameters(); - params.setDiskInfo(getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class).map(disk, null)); + params.setDiskInfo(getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.VmDisk.class).map(disk, null)); if (disk.isSetStorageDomains() && disk.getStorageDomains().isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetId()) { params.setStorageDomainId(Guid.createGuidFromString(disk.getStorageDomains().getStorageDomains().get(0).getId())); } else if (disk.isSetStorageDomains() && disk.getStorageDomains().getStorageDomains().get(0).isSetName()) { diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java index 647e44d..22d5dfe 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResource.java @@ -59,14 +59,14 @@ DiskImage unregisteredDisk = getEntity(DiskImage.class, VdcQueryType.GetUnregisteredDisk, getDiskParams, disk.getId()); unregisteredDisk = - (DiskImage) getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class).map(disk, + (DiskImage) getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.VmDisk.class).map(disk, unregisteredDisk); RegisterDiskParameters registerDiskParams = new RegisterDiskParameters(unregisteredDisk); return performCreate(VdcActionType.RegisterDisk, registerDiskParams, ID_RESOLVER); } else { validateDiskForCreation(disk); AddDiskParameters params = new AddDiskParameters(); - params.setDiskInfo(getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class).map( + params.setDiskInfo(getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.VmDisk.class).map( disk, null)); params.setStorageDomainId(this.storageDomainId); return performCreate(VdcActionType.AddDisk, params, ID_RESOLVER); diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java index 4db5fc5..2a68391 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java @@ -190,7 +190,10 @@ if (disks.getDisks() != null) { for (Disk disk : disks.getDisks()) { DiskImage diskImageFromConfig = imagesFromConfiguration.get(asGuid(disk.getImageId())); - DiskImage diskImage = (DiskImage)getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class).map(disk, diskImageFromConfig); + DiskImage diskImage = + (DiskImage) getMapper(Disk.class, + org.ovirt.engine.core.common.businessentities.VmDisk.class).map(disk, + diskImageFromConfig); imagesFromConfiguration.put(diskImage.getId(), diskImage); } } @@ -269,7 +272,8 @@ } private DiskImage map(Disk entity, DiskImage template) { - return (DiskImage)getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class).map(entity, template); + return (DiskImage) getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.VmDisk.class).map(entity, + template); } protected Response addVm(VmStatic staticVm, VM vm, Guid storageDomainId, Guid templateId) { diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResourceTest.java index 4106f27..f25530b 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainDisksResourceTest.java @@ -18,13 +18,14 @@ import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.AsyncTaskStatus; import org.ovirt.engine.core.common.businessentities.AsyncTaskStatusEnum; +import org.ovirt.engine.core.common.businessentities.VmDisk; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.DiskInterface; import org.ovirt.engine.core.common.businessentities.ImageStatus; import org.ovirt.engine.core.common.businessentities.PropagateErrors; +import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VolumeFormat; import org.ovirt.engine.core.common.businessentities.VolumeType; -import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.interfaces.SearchType; import org.ovirt.engine.core.common.queries.GetUnregisteredDiskQueryParameters; import org.ovirt.engine.core.common.queries.GetUnregisteredDisksQueryParameters; @@ -116,7 +117,8 @@ new Object[] {GUIDS[0], GUIDS[3], storagePoolId}, getEntity(0)); Disk model = getModel(0); - org.ovirt.engine.core.common.businessentities.Disk imageToRegister = new DiskMapper().map(model, getEntity(0)); + org.ovirt.engine.core.common.businessentities.Disk imageToRegister = + new DiskMapper().map(model, (VmDisk) (getEntity(0))); // imageToRegister.setDiskAlias("alias"); setUpCreationExpectations(VdcActionType.RegisterDisk, diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmsResourceTest.java index e3675ba..bbb6b94 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmsResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmsResourceTest.java @@ -1021,7 +1021,8 @@ } private Disk map(DiskImage entity, Disk template) { - return getMapper(org.ovirt.engine.core.common.businessentities.Disk.class, Disk.class).map(entity, template); + return getMapper(org.ovirt.engine.core.common.businessentities.VmDisk.class, Disk.class).map(entity, + template); } private Snapshot map(org.ovirt.engine.core.common.businessentities.Snapshot entity, Snapshot template) { diff --git a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DiskMapper.java b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DiskMapper.java index 06b43b9..f600b35 100644 --- a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DiskMapper.java +++ b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/DiskMapper.java @@ -23,9 +23,10 @@ public class DiskMapper { - @Mapping(from = Disk.class, to = org.ovirt.engine.core.common.businessentities.Disk.class) - public static org.ovirt.engine.core.common.businessentities.Disk map(Disk disk, org.ovirt.engine.core.common.businessentities.Disk template) { - org.ovirt.engine.core.common.businessentities.Disk engineDisk = template; + @Mapping(from = Disk.class, to = org.ovirt.engine.core.common.businessentities.VmDisk.class) + public static org.ovirt.engine.core.common.businessentities.VmDisk map(Disk disk, + org.ovirt.engine.core.common.businessentities.VmDisk template) { + org.ovirt.engine.core.common.businessentities.VmDisk engineDisk = template; if (engineDisk == null) { if (disk.isSetLunStorage()) { engineDisk = new LunDisk(); @@ -54,7 +55,7 @@ engineDisk.setWipeAfterDelete(disk.isWipeAfterDelete()); } if (disk.isSetActive()) { - engineDisk.setPlugged(disk.isActive()); + (engineDisk).setPlugged(disk.isActive()); } if (disk.isSetInterface()) { DiskInterface diskInterface = DiskInterface.fromValue(disk.getInterface()); @@ -118,8 +119,8 @@ } } - @Mapping(from = org.ovirt.engine.core.common.businessentities.Disk.class, to = Disk.class) - public static Disk map(org.ovirt.engine.core.common.businessentities.Disk entity, Disk template) { + @Mapping(from = org.ovirt.engine.core.common.businessentities.VmDisk.class, to = Disk.class) + public static Disk map(org.ovirt.engine.core.common.businessentities.VmDisk entity, Disk template) { Disk model = template != null ? template : new Disk(); // name is depreciated, use alias instead. model.setName(entity.getDiskAlias()); diff --git a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DiskMapperTest.java b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DiskMapperTest.java index 35e58f0..51b3ba5 100644 --- a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DiskMapperTest.java +++ b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/DiskMapperTest.java @@ -48,10 +48,10 @@ Disk model = Disk.class.cast(populate(Disk.class)); model = postPopulate(model); - Mapper<Disk, org.ovirt.engine.core.common.businessentities.Disk> out = - getMappingLocator().getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class); - Mapper<org.ovirt.engine.core.common.businessentities.Disk, Disk> back = - getMappingLocator().getMapper(org.ovirt.engine.core.common.businessentities.Disk.class, Disk.class); + Mapper<Disk, org.ovirt.engine.core.common.businessentities.VmDisk> out = + getMappingLocator().getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.VmDisk.class); + Mapper<org.ovirt.engine.core.common.businessentities.VmDisk, Disk> back = + getMappingLocator().getMapper(org.ovirt.engine.core.common.businessentities.VmDisk.class, Disk.class); DiskImage to = (DiskImage) out.map(model, null); DiskImage inverse = getInverse(to); Disk transform = back.map(inverse, null); diff --git a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/LunDiskMapperTest.java b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/LunDiskMapperTest.java index 2de6df8..54d2803 100644 --- a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/LunDiskMapperTest.java +++ b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/LunDiskMapperTest.java @@ -45,10 +45,10 @@ Disk model = Disk.class.cast(populate(Disk.class)); model = postPopulate(model); - Mapper<Disk, org.ovirt.engine.core.common.businessentities.Disk> out = - getMappingLocator().getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.Disk.class); - Mapper<org.ovirt.engine.core.common.businessentities.Disk, Disk> back = - getMappingLocator().getMapper(org.ovirt.engine.core.common.businessentities.Disk.class, Disk.class); + Mapper<Disk, org.ovirt.engine.core.common.businessentities.VmDisk> out = + getMappingLocator().getMapper(Disk.class, org.ovirt.engine.core.common.businessentities.VmDisk.class); + Mapper<org.ovirt.engine.core.common.businessentities.VmDisk, Disk> back = + getMappingLocator().getMapper(org.ovirt.engine.core.common.businessentities.VmDisk.class, Disk.class); LunDisk to = (LunDisk) out.map(model, null); LunDisk inverse = getInverse(to); Disk transform = back.map(inverse, null); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskStatusColumn.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskStatusColumn.java index e506dfe..e7f1205 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskStatusColumn.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/DiskStatusColumn.java @@ -1,9 +1,10 @@ package org.ovirt.engine.ui.common.widget.table.column; import org.ovirt.engine.core.common.businessentities.Disk; -import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; +import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.ImageStatus; +import org.ovirt.engine.core.common.businessentities.VmDisk; import com.google.gwt.resources.client.ImageResource; @@ -19,7 +20,8 @@ } } - boolean isDiskPlugged = disk.getPlugged() != null && disk.getPlugged().booleanValue(); + VmDisk vmDisk = (VmDisk) disk; + boolean isDiskPlugged = vmDisk.getPlugged() != null && vmDisk.getPlugged().booleanValue(); setTitle(isDiskPlugged ? getCommonConstants().active() : getCommonConstants().inactive()); return isDiskPlugged ? getCommonResources().upImage() : getCommonResources().downImage(); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml index dd97930..057ff3e 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml @@ -20,6 +20,7 @@ <include name="common/businessentities/DiskLunMap.java" /> <include name="common/businessentities/DiskLunMapId.java" /> <include name="common/businessentities/Disk.java" /> + <include name="common/businessentities/DeviceDisk.java" /> <include name="common/businessentities/LunDisk.java" /> <include name="common/businessentities/Image.java" /> <include name="common/businessentities/DiskImage.java" /> diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java index a8e7235..5494197 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/AbstractDiskModel.java @@ -4,6 +4,7 @@ import java.util.Date; import org.ovirt.engine.core.common.businessentities.ActionGroup; +import org.ovirt.engine.core.common.businessentities.VmDisk; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; import org.ovirt.engine.core.common.businessentities.DiskImage; @@ -12,15 +13,15 @@ import org.ovirt.engine.core.common.businessentities.PropagateErrors; import org.ovirt.engine.core.common.businessentities.Quota; import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum; +import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainStatus; import org.ovirt.engine.core.common.businessentities.StorageDomainType; +import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.StorageType; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.VolumeFormat; import org.ovirt.engine.core.common.businessentities.VolumeType; -import org.ovirt.engine.core.common.businessentities.StorageDomain; -import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.common.queries.GetAllRelevantQuotasForStorageParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; @@ -696,7 +697,7 @@ getDisk().setWipeAfterDelete((Boolean) getIsWipeAfterDelete().getEntity()); getDisk().setBoot((Boolean) getIsBootable().getEntity()); getDisk().setShareable((Boolean) getIsShareable().getEntity()); - getDisk().setPlugged((Boolean) getIsPlugged().getEntity()); + ((VmDisk) getDisk()).setPlugged((Boolean) getIsPlugged().getEntity()); getDisk().setPropagateErrors(PropagateErrors.Off); } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java index 5f1dd31..2e1222b 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmDiskListModel.java @@ -9,15 +9,16 @@ import org.ovirt.engine.core.common.action.RemoveDiskParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.businessentities.VmDisk; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.Disk.DiskStorageType; import org.ovirt.engine.core.common.businessentities.DiskImage; import org.ovirt.engine.core.common.businessentities.DiskInterface; import org.ovirt.engine.core.common.businessentities.ImageStatus; import org.ovirt.engine.core.common.businessentities.Quota; +import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.VMStatus; -import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.queries.ConfigurationValues; import org.ovirt.engine.core.common.queries.GetAllDisksByVmIdParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; @@ -421,7 +422,7 @@ ArrayList<VdcActionParametersBase> paramerterList = new ArrayList<VdcActionParametersBase>(); for (Object item : getSelectedItems()) { - Disk disk = (Disk) item; + VmDisk disk = (VmDisk) item; disk.setPlugged(plug); paramerterList.add(new HotPlugDiskToVmParameters(vm.getId(), disk.getId())); @@ -505,7 +506,8 @@ private void updateActionAvailability() { - Disk disk = (Disk) getSelectedItem(); + VM vm = getEntity(); + VmDisk disk = (VmDisk) getSelectedItem(); boolean isDiskLocked = disk != null && disk.getDiskStorageType() == DiskStorageType.IMAGE && ((DiskImage) disk).getImageStatus() == ImageStatus.LOCKED; @@ -557,7 +559,8 @@ disk.getDiskStorageType() == DiskStorageType.IMAGE && ((DiskImage) disk).getImageStatus() == ImageStatus.LOCKED; - if (disk.getPlugged() == plug || isLocked || (disk.getDiskInterface() == DiskInterface.IDE && !isVmDown())) + if (((VmDisk) disk).getPlugged() == plug || isLocked + || (disk.getDiskInterface() == DiskInterface.IDE && !isVmDown())) { return false; } @@ -576,7 +579,7 @@ getSelectedItems() != null ? Linq.<Disk> cast(getSelectedItems()) : new ArrayList<Disk>(); for (Disk disk : disks) { - if (!isImageDiskOK(disk) || (!isVmDown() && disk.getPlugged())) { + if (!isImageDiskOK(disk) || (!isVmDown() && ((VmDisk) disk).getPlugged())) { return false; } } @@ -613,7 +616,8 @@ for (Disk disk : disks) { if (disk.getDiskStorageType() == DiskStorageType.IMAGE && - ((DiskImage) disk).getImageStatus() == ImageStatus.LOCKED || (!isVmDown() && disk.getPlugged())) + ((DiskImage) disk).getImageStatus() == ImageStatus.LOCKED + || (!isVmDown() && ((VmDisk) disk).getPlugged())) { return false; } -- To view, visit http://gerrit.ovirt.org/15290 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id5973c33e94d3e4ce7fe4f2cbd249c2851cc60c1 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Vered Volansky <vvola...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches