Omer Frenkel has uploaded a new change for review. Change subject: core: import/export from template version ......................................................................
core: import/export from template version Add template version to import and export of vm and template. http://www.ovirt.org/index.php?title=Features/Template_Versions Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1037478 Change-Id: I3dd434f5857a707f12508ebb6ab20e46a4f1be3c Signed-off-by: Omer Frenkel <ofren...@redhat.com> --- 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/OvfTemplateWriter.java M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java 4 files changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/37/22737/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 690bb09..4c5dedb 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 @@ -499,6 +499,13 @@ } } + node = content.SelectSingleNode("templateVersion"); + if (node != null) { + if (!StringUtils.isEmpty(node.innerText)) { + vmBase.setTemplateVersion(Integer.parseInt(node.innerText)); + } + } + readGeneralData(content); } 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 1f5e761..d300f02 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 @@ -196,6 +196,17 @@ if (node != null) { _vmTemplate.setTemplateType(VmEntityType.valueOf(node.innerText)); } + + // in case template version is missing, we assume its version 1 + if (_vmTemplate.getTemplateVersion() == null) { + _vmTemplate.setTemplateVersion(1); + } else { + // TODO: what if base template is not in the engine db? block import in canDoAction? + node = content.SelectSingleNode("BaseTemplateId"); + if (node != null) { + _vmTemplate.setBaseTemplateId(Guid.createGuidFromString(node.innerText)); + } + } } @Override diff --git a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateWriter.java b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateWriter.java index 0a048d0..ec180c2 100644 --- a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateWriter.java +++ b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateWriter.java @@ -46,6 +46,11 @@ _writer.WriteStartElement("TemplateType"); _writer.WriteRaw(_vmTemplate.getTemplateType().name()); _writer.WriteEndElement(); + if (_vmTemplate.getBaseTemplateId() != null) { + _writer.WriteStartElement("BaseTemplateId"); + _writer.WriteRaw(_vmTemplate.getBaseTemplateId().toString()); + _writer.WriteEndElement(); + } } @Override diff --git a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java index 80604d7..3f6ec44 100644 --- a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java +++ b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java @@ -281,6 +281,12 @@ _writer.WriteRaw(String.valueOf(vmBase.getCreatedByUserId())); _writer.WriteEndElement(); } + + if (vmBase.getTemplateVersion() != null) { + _writer.WriteStartElement("templateVersion"); + _writer.WriteRaw(String.valueOf(vmBase.getTemplateVersion())); + _writer.WriteEndElement(); + } } protected abstract void writeAppList(); -- To view, visit http://gerrit.ovirt.org/22737 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3dd434f5857a707f12508ebb6ab20e46a4f1be3c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Omer Frenkel <ofren...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches