Arik Hadas has uploaded a new change for review.

Change subject: core: add MemoryUtils#createMemoryStateString method
......................................................................

core: add MemoryUtils#createMemoryStateString method

The implementation of "RAM Snapshots" feature introduced new places
where we need to create the string representation of memory state,
besides HibernateVmCommand. This patch reduce the duplication of code
that creates memory state string (the comma-separated string of IDs)
by introducing a new utility method which is responsible for the
String creation, and is now being called from all the relevant places.

In addition, the changeStorageDomainAndPoolInMemoryVolume method in
MemoryUtils class is renamed to changeStorageDomainAndPoolInMemoryState.

Change-Id: Id1fe579cba2e86d95dc4689c38f195db1ea70eab
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryImageRemoverFromExportDomain.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryUtils.java
5 files changed, 21 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/25/16825/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java
index 034a058..c81908e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java
@@ -4,6 +4,7 @@
 import java.util.Collections;
 import java.util.Map;
 
+import org.ovirt.engine.core.bll.memory.MemoryUtils;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.VdcActionType;
@@ -186,10 +187,9 @@
 
             // this is the new param that should be passed to the hibernate
             // command
-            getVm().setHibernationVolHandle(
-                    String.format("%1$s,%2$s,%3$s,%4$s,%5$s,%6$s", 
getStorageDomainId().toString(), getVm()
-                            .getStoragePoolId().toString(), 
image1GroupId.toString(), hiberVol1.toString(),
-                            image2GroupId.toString(), hiberVol2.toString()));
+            
getVm().setHibernationVolHandle(MemoryUtils.createMemoryStateString(
+                    getStorageDomainId(), getVm().getStoragePoolId(),
+                    image1GroupId, hiberVol1, image2GroupId, hiberVol2));
             // end of temp code
 
             Backend.getInstance()
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
index 2743c40..6f13511 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
@@ -417,7 +417,7 @@
             }
             domain2requiredSize.put(storageDomain,
                     domain2requiredSize.get(storageDomain) + 
requiredSizeForMemory);
-            String modifiedMemoryVolume = 
MemoryUtils.changeStorageDomainAndPoolInMemoryVolume(
+            String modifiedMemoryVolume = 
MemoryUtils.changeStorageDomainAndPoolInMemoryState(
                     memoryVolume, storageDomain.getId(), 
getParameters().getStoragePoolId());
             // replace the volume representation with the one with the correct 
domain & pool
             snapshot.setMemoryVolume(modifiedMemoryVolume);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
index da40077..e2676ca 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java
@@ -111,7 +111,7 @@
     }
 
     public String getVolumeStringRepresentation() {
-        return String.format("%1$s,%2$s,%3$s,%4$s,%5$s,%6$s",
+        return MemoryUtils.createMemoryStateString(
                 storageDomainId,
                 storagePool.getId(),
                 memoryDumpImageGroupId,
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryImageRemoverFromExportDomain.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryImageRemoverFromExportDomain.java
index 0521ff0..413531d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryImageRemoverFromExportDomain.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryImageRemoverFromExportDomain.java
@@ -47,7 +47,7 @@
     @Override
     public void removeMemoryVolume(String memoryVolumes) {
         super.removeMemoryVolume(
-                MemoryUtils.changeStorageDomainAndPoolInMemoryVolume(
+                MemoryUtils.changeStorageDomainAndPoolInMemoryState(
                         memoryVolumes, storageDomainId, storagePoolId));
     }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryUtils.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryUtils.java
index ef14751..02de6d6 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryUtils.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/MemoryUtils.java
@@ -15,14 +15,25 @@
      * Modified the given memory volume String representation to have the 
given storage
      * pool and storage domain
      */
-    public static String changeStorageDomainAndPoolInMemoryVolume(
+    public static String changeStorageDomainAndPoolInMemoryState(
             String originalMemoryVolume, Guid storageDomainId, Guid 
storagePoolId) {
         List<Guid> guids = 
GuidUtils.getGuidListFromString(originalMemoryVolume);
-        return String.format("%1$s,%2$s,%3$s,%4$s,%5$s,%6$s",
-                storageDomainId.toString(), storagePoolId.toString(),
+        return createMemoryStateString(storageDomainId, storagePoolId,
                 guids.get(2), guids.get(3), guids.get(4), guids.get(5));
     }
 
+    public static String createMemoryStateString(
+            Guid storageDomainId, Guid storagePoolId, Guid memoryImageId,
+            Guid memoryVolumeId, Guid confImageId, Guid confVolumeId) {
+        return String.format("%1$s,%2$s,%3$s,%4$s,%5$s,%6$s",
+                storageDomainId,
+                storagePoolId,
+                memoryImageId,
+                memoryVolumeId,
+                confImageId,
+                confVolumeId);
+    }
+
     public static Set<String> getMemoryVolumesFromSnapshots(List<Snapshot> 
snapshots) {
         Set<String> memories = new HashSet<String>();
         for (Snapshot snapshot : snapshots) {


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id1fe579cba2e86d95dc4689c38f195db1ea70eab
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <aha...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to