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

Reply via email to