Shahar Havivi has uploaded a new change for review.

Change subject: engine: VmPayload needs to inherit from VmDevice
......................................................................

engine: VmPayload needs to inherit from VmDevice

It is represent a device and we need the Address and the Id for stable
devices.

Change-Id: Ieabf99eaaff0d6e68a0521af3df43a774ca31590
Bug-Url: https://bugzilla.redhat.com/1138314
Signed-off-by: Shahar Havivi <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmPayloadQuery.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmOnceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPayload.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmResourceTest.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/VmMapper.java
M 
backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
12 files changed, 34 insertions(+), 29 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/79/33679/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
index 54477fd..f5828ac 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
@@ -846,7 +846,7 @@
         if (payload != null) {
             VmDeviceUtils.addManagedDevice(new VmDeviceId(Guid.newGuid(), 
getParameters().getVmId()),
                     VmDeviceGeneralType.DISK,
-                    payload.getType(),
+                    payload.getDeviceType(),
                     payload.getSpecParams(),
                     true,
                     true,
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmPayloadQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmPayloadQuery.java
index 639d778..8651101 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmPayloadQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmPayloadQuery.java
@@ -32,7 +32,7 @@
                 if (VmPayload.isPayload(disk.getSpecParams())) {
                     VmPayload payload = new 
VmPayload(VmDeviceType.valueOf(disk.getType().name()),
                             disk.getSpecParams());
-                    
payload.setType(VmDeviceType.valueOf(disk.getDevice().toUpperCase()));
+                    
payload.setDeviceType(VmDeviceType.valueOf(disk.getDevice().toUpperCase()));
                     for (Map.Entry<String, String> entry : 
payload.getFiles().entrySet()) {
                         entry.setValue(new 
String(Base64.decodeBase64(entry.getValue())));
                     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
index d21f833..ed0c849 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
@@ -842,7 +842,7 @@
 
             if (checkPayload(getParameters().getVmPayload(), 
getParameters().getDiskPath()) &&
                     !StringUtils.isEmpty(getParameters().getFloppyPath()) &&
-                    getParameters().getVmPayload().getType() == 
VmDeviceType.FLOPPY) {
+                    getParameters().getVmPayload().getDeviceType() == 
VmDeviceType.FLOPPY) {
                 return 
failCanDoAction(VdcBllMessages.VMPAYLOAD_FLOPPY_EXCEEDED);
             }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmOnceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmOnceCommand.java
index b33035f..a8223e7 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmOnceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmOnceCommand.java
@@ -91,7 +91,7 @@
             if (VmPayload.isPayload(disk.getSpecParams())) {
                 VmPayload payload = new 
VmPayload(VmDeviceType.valueOf(disk.getType().name()),
                         disk.getSpecParams());
-                
payload.setType(VmDeviceType.valueOf(disk.getDevice().toUpperCase()));
+                
payload.setDeviceType(VmDeviceType.valueOf(disk.getDevice().toUpperCase()));
                 getVm().setVmPayload(payload);
                 break;
             }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
index da046a1..cef3a9b 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVmCommand.java
@@ -322,7 +322,7 @@
             if (!getParameters().isClearPayload()) {
                 VmDeviceUtils.addManagedDevice(new VmDeviceId(Guid.newGuid(), 
getVmId()),
                         VmDeviceGeneralType.DISK,
-                        payload.getType(),
+                        payload.getDeviceType(),
                         payload.getSpecParams(),
                         true,
                         true,
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
index f0fcec5..39b989a 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java
@@ -527,7 +527,7 @@
 
     protected boolean checkPayload(VmPayload payload, String isoPath) {
         boolean returnValue = true;
-        if (payload.getType() != VmDeviceType.CDROM && payload.getType() != 
VmDeviceType.FLOPPY) {
+        if (payload.getDeviceType() != VmDeviceType.CDROM && 
payload.getDeviceType() != VmDeviceType.FLOPPY) {
             
addCanDoActionMessage(VdcBllMessages.VMPAYLOAD_INVALID_PAYLOAD_TYPE);
             returnValue = false;
         } else {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPayload.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPayload.java
index cfd8dcc..9a70c04 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPayload.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPayload.java
@@ -3,31 +3,37 @@
 import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
-
 import org.ovirt.engine.core.common.config.Config;
 import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.common.utils.VmDeviceType;
 
 
-public class VmPayload implements Serializable {
+public class VmPayload extends VmDevice implements Serializable {
     private static final long serialVersionUID = -3665087594884425768L;
     private static final String SpecParamsPayload = "vmPayload";
     private static final String SpecParamsVolumeIdType = "volId";
     private static final String SpecParamsFileType = "file";
 
-    private VmDeviceType type;
     private String volumeId;
     private HashMap<String, String> files; // file data is base64-encoded
 
     public VmPayload() {
-        this.type = VmDeviceType.CDROM;
+        setDeviceType(VmDeviceType.CDROM);
         this.volumeId = null;
         this.files = new HashMap<String, String>();
     }
 
+    public VmPayload(VmDevice dev) {
+        super(dev.getId(), dev.getType(), dev.getDevice(),
+                dev.getAddress(), dev.getBootOrder(), dev.getSpecParams(),
+                dev.getIsManaged(), dev.getIsPlugged(), dev.getIsReadOnly(),
+                dev.getAlias(), dev.getCustomProperties(), dev.getSnapshotId(),
+                dev.getLogicalName());
+    }
+
     @SuppressWarnings("unchecked")
     public VmPayload(VmDeviceType type, Map<String, Object> specParams) {
-        this.type = type;
+        setDeviceType(type);
 
         Map<String, Object> payload = (Map<String, 
Object>)specParams.get(SpecParamsPayload);
         this.volumeId = (String)payload.get(SpecParamsVolumeIdType);
@@ -42,12 +48,12 @@
         return payload.length() <= Config.<Integer> 
getValue(ConfigValues.PayloadSize);
     }
 
-    public VmDeviceType getType() {
-        return this.type;
+    public VmDeviceType getDeviceType() {
+        return VmDeviceType.getByName(super.getDevice());
     }
 
-    public void setType(VmDeviceType type) {
-        this.type = type;
+    public void setDeviceType(VmDeviceType type) {
+        super.setDevice(type.getName());
     }
 
     public String getVolumeId() {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmResourceTest.java
index 36ba68f..7a1d489 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmResourceTest.java
@@ -1072,7 +1072,7 @@
 
     private VmPayload getPayloadModel() {
         VmPayload payload = new VmPayload();
-        payload.setType(VmDeviceType.CDROM);
+        payload.setDeviceType(VmDeviceType.CDROM);
         payload.getFiles().put("payloadFile", new 
String(Base64.decodeBase64(PAYLOAD_COMTENT)));
         return payload;
     }
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 359d846..b40a69f 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
@@ -1224,7 +1224,7 @@
 
     private VmPayload getPayloadModel() {
         VmPayload payload = new VmPayload();
-        payload.setType(VmDeviceType.CDROM);
+        payload.setDeviceType(VmDeviceType.CDROM);
         payload.getFiles().put("payloadFile", new 
String(Base64.decodeBase64(PAYLOAD_COMTENT)));
         return payload;
     }
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
index 8ac2d01..b335e7f 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
@@ -831,10 +831,10 @@
 
     @Mapping(from = VmPayload.class, to = Payload.class)
     public static Payload map(VmPayload entity, Payload template) {
-        if (entity.getType() != null || entity.getFiles().isEmpty()) {
+        if (entity.getDeviceType() != null || entity.getFiles().isEmpty()) {
             Payload model = template != null ? template : new Payload();
-            if (entity.getType() != null) {
-                org.ovirt.engine.api.model.VmDeviceType deviceType = 
map(entity.getType(), null);
+            if (entity.getDeviceType() != null) {
+                org.ovirt.engine.api.model.VmDeviceType deviceType = 
map(entity.getDeviceType(), null);
                 if (deviceType != null) {
                     model.setType(deviceType.value());
                 }
@@ -860,7 +860,7 @@
         if (model.getType() != null) {
             org.ovirt.engine.api.model.VmDeviceType deviceType = 
org.ovirt.engine.api.model.VmDeviceType.fromValue(model.getType());
             if (deviceType!=null) {
-                entity.setType(map(deviceType, null));
+                entity.setDeviceType(map(deviceType, null));
             }
         }
         if (model.isSetVolumeId()) {
diff --git 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
index 750cc3d..283b6f3 100644
--- 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
+++ 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
@@ -156,10 +156,10 @@
     @Test
     public void testVmPayloadMapToPaylod() {
         VmPayload vmPayload = new VmPayload();
-        
vmPayload.setType(org.ovirt.engine.core.common.utils.VmDeviceType.CDROM);
+        
vmPayload.setDeviceType(org.ovirt.engine.core.common.utils.VmDeviceType.CDROM);
         vmPayload.setVolumeId("CD-VOL");
         Payload payload = VmMapper.map(vmPayload, null);
-        assertEquals(vmPayload.getType().name().toLowerCase(), 
payload.getType());
+        assertEquals(vmPayload.getDeviceType().name().toLowerCase(), 
payload.getType());
         assertEquals(vmPayload.getVolumeId(), payload.getVolumeId());
     }
 
@@ -169,7 +169,7 @@
         payload.setType("CDROM");
         payload.setVolumeId("CD-VOL");
         VmPayload vmPayload = VmMapper.map(payload, null);
-        assertEquals(payload.getType(), vmPayload.getType().name());
+        assertEquals(payload.getType(), vmPayload.getDeviceType().name());
         assertEquals(payload.getVolumeId(), vmPayload.getVolumeId());
     }
 
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
index a591fad..9b07645 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VmInfoBuilder.java
@@ -7,7 +7,6 @@
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
-
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.FeatureSupported;
@@ -132,7 +131,7 @@
     protected void buildVmCD() {
         Map<String, Object> struct;
         // check if we have payload CD
-        if (vm.getVmPayload() != null && vm.getVmPayload().getType() == 
VmDeviceType.CDROM) {
+        if (vm.getVmPayload() != null && vm.getVmPayload().getDeviceType() == 
VmDeviceType.CDROM) {
             VmDevice vmDevice =
                     new VmDevice(new VmDeviceId(Guid.newGuid(), vm.getId()),
                             VmDeviceGeneralType.DISK,
@@ -195,7 +194,7 @@
     @Override
     protected void buildVmFloppy() {
         // check if we have payload CD
-        if (vm.getVmPayload() != null && vm.getVmPayload().getType() == 
VmDeviceType.FLOPPY) {
+        if (vm.getVmPayload() != null && vm.getVmPayload().getDeviceType() == 
VmDeviceType.FLOPPY) {
             VmDevice vmDevice =
                     new VmDevice(new VmDeviceId(Guid.newGuid(), vm.getId()),
                             VmDeviceGeneralType.DISK,
@@ -556,7 +555,7 @@
         // We do not validate the size of the content being passed to the VM 
payload by VmPayload.isPayloadSizeLegal().
         // The sysprep file size isn't being verified for 3.0 clusters and 
below, so we maintain the same behavior here.
         VmPayload vmPayload = new VmPayload();
-        vmPayload.setType(VmDeviceType.FLOPPY);
+        vmPayload.setDeviceType(VmDeviceType.FLOPPY);
         vmPayload.getFiles().put(SYSPREP_FILE_NAME, 
Base64.encodeBase64String(sysPrepContent.getBytes()));
 
         VmDevice vmDevice =
@@ -581,7 +580,7 @@
     @Override
     protected void buildCloudInitVmPayload(Map<String, byte[]> 
cloudInitContent) {
         VmPayload vmPayload = new VmPayload();
-        vmPayload.setType(VmDeviceType.CDROM);
+        vmPayload.setDeviceType(VmDeviceType.CDROM);
         vmPayload.setVolumeId(CLOUD_INIT_VOL_ID);
         for (Map.Entry<String, byte[]> entry : cloudInitContent.entrySet()) {
             vmPayload.getFiles().put(entry.getKey(), 
Base64.encodeBase64String(entry.getValue()));


-- 
To view, visit http://gerrit.ovirt.org/33679
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ieabf99eaaff0d6e68a0521af3df43a774ca31590
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Shahar Havivi <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to