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

Reply via email to