Arik Hadas has uploaded a new change for review.

Change subject: core: cleanup in ovf readers
......................................................................

core: cleanup in ovf readers

- Changed OvfReader#readVmDevice so it will only create VmDevice from
  the given XML node
- Introduced two new methods, one for reading managed device and another
  one for reading unmanaged device
- Extracted the code that adds a given managed VmDevice to separate
  method, addManagedVmDevice (this method will be used in later patches)

Change-Id: I01133cc483252683893d79d403c29aabff6701f5
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmReader.java
3 files changed, 26 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/42/29842/1

diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
index 373031b..fa6bdfc 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfReader.java
@@ -190,6 +190,22 @@
         readGeneralData();
     }
 
+    protected VmDevice readManagedVmDevice(XmlNode node, Guid deviceId) {
+        return addManagedVmDevice(readVmDevice(node, deviceId));
+    }
+
+    private VmDevice addManagedVmDevice(VmDevice vmDevice) {
+        vmDevice.setIsManaged(true);
+        vmBase.getManagedDeviceMap().put(vmDevice.getDeviceId(), vmDevice);
+        return vmDevice;
+    }
+
+    protected VmDevice readUnmanagedVmDevice(XmlNode node, Guid deviceId) {
+        VmDevice vmDevice = readVmDevice(node, deviceId);
+        vmBase.getUnmanagedDeviceList().add(vmDevice);
+        return vmDevice;
+    }
+
     /**
      * Reads vm device attributes from OVF and stores it in the collection
      *
@@ -197,7 +213,7 @@
      * @param vmBase
      * @param deviceId
      */
-    public VmDevice readVmDevice(XmlNode node, VmBase vmBase, Guid deviceId, 
boolean isManaged) {
+    private VmDevice readVmDevice(XmlNode node, Guid deviceId) {
         VmDevice vmDevice = new VmDevice();
         vmDevice.setId(new VmDeviceId(deviceId, vmBase.getId()));
         if (node.SelectSingleNode(OvfProperties.VMD_ADDRESS, _xmlNS) != null
@@ -264,12 +280,6 @@
             vmDevice.setSnapshotId(new 
Guid(String.valueOf(node.SelectSingleNode(OvfProperties.VMD_CUSTOM_PROP, 
_xmlNS).innerText)));
         }
 
-        if (isManaged) {
-            vmDevice.setIsManaged(true);
-            vmBase.getManagedDeviceMap().put(vmDevice.getDeviceId(), vmDevice);
-        } else {
-            vmBase.getUnmanagedDeviceList().add(vmDevice);
-        }
         return vmDevice;
     }
 
@@ -376,14 +386,14 @@
     }
 
     private void readCdItem(XmlNode node) {
-        readVmDevice(node, vmBase, Guid.newGuid(), Boolean.TRUE);
+        readManagedVmDevice(node, Guid.newGuid());
     }
 
     private void readNetworkItem(XmlNode node) {
         VmNetworkInterface iface = getNetwotkInterface(node);
         updateSingleNic(node, iface);
         vmBase.getInterfaces().add(iface);
-        readVmDevice(node, vmBase, iface.getId(), Boolean.TRUE);
+        readManagedVmDevice(node, iface.getId());
     }
 
     private void readUsbItem(XmlNode node) {
@@ -402,9 +412,9 @@
         }
 
         if (managed) {
-            readVmDevice(node, vmBase, Guid.newGuid(), Boolean.TRUE);
+            readManagedVmDevice(node, Guid.newGuid());
         } else {
-            readVmDevice(node, vmBase, Guid.newGuid(), Boolean.FALSE);
+            readUnmanagedVmDevice(node, Guid.newGuid());
         }
     }
 
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java
index 32eb234..bf4fdb4 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java
@@ -47,7 +47,7 @@
     @Override
     protected void readMonitorItem(XmlNode node) {
         super.readMonitorItem(node);
-        readVmDevice(node, _vmTemplate, Guid.newGuid(), Boolean.TRUE);
+        readManagedVmDevice(node, Guid.newGuid());
     }
 
     @Override
@@ -86,7 +86,7 @@
         if (lastModified != null) {
             image.setLastModified(lastModified);
         }
-        readVmDevice(node, _vmTemplate, image.getId(), Boolean.TRUE);
+        readManagedVmDevice(node, image.getId());
     }
 
     @Override
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmReader.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmReader.java
index 4fa4447..4f3211f 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmReader.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfVmReader.java
@@ -97,7 +97,7 @@
         if (last_modified_date != null) {
             image.setLastModifiedDate(last_modified_date);
         }
-        VmDevice readDevice = readVmDevice(node, _vm.getStaticData(), 
image.getId(), Boolean.TRUE);
+        VmDevice readDevice = readManagedVmDevice(node, image.getId());
         image.setPlugged(readDevice.getIsPlugged());
         image.setReadOnly(readDevice.getIsReadOnly());
     }
@@ -107,12 +107,12 @@
         super.readMonitorItem(node);
 
         if (new Version(getVersion()).compareTo(Version.v3_1) >= 0) {
-            readVmDevice(node, _vm.getStaticData(), Guid.newGuid(), 
Boolean.TRUE);
+            readManagedVmDevice(node, Guid.newGuid());
         } else {
             // before v3.1 we had just one monitor item for all the monitors 
so in this
             // case we need to add monitor devices according to the 
numOfMonitors field
             for (int i=0; i<_vm.getStaticData().getNumOfMonitors(); ++i) {
-                readVmDevice(node, _vm.getStaticData(), Guid.newGuid(), 
Boolean.TRUE);
+                readManagedVmDevice(node, Guid.newGuid());
             }
         }
     }


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

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

Reply via email to