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