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
