Sergey Gotliv has uploaded a new change for review.

Change subject: engine: cleanup in RemoveSnapshotSingleDiskCommand
......................................................................

engine: cleanup in RemoveSnapshotSingleDiskCommand

Change-Id: Ibe60ca192123553a2c5a2bac2f34b3e4d9a64f3b
Signed-off-by: Sergey Gotliv <sgot...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java
1 file changed, 24 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/18688/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java
index 790b22a..c098bd0 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskCommand.java
@@ -15,6 +15,7 @@
 import org.ovirt.engine.core.common.vdscommands.VDSReturnValue;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.job.ExecutionMessageDirector;
+import org.springframework.util.CollectionUtils;
 
 @InternalCommandAttribute
 public class RemoveSnapshotSingleDiskCommand<T extends 
ImagesContainterParametersBase> extends BaseImagesCommand<T> {
@@ -24,40 +25,38 @@
 
     @Override
     protected void executeCommand() {
-        Guid storagePoolId = getDiskImage().getStoragePoolId() != null ? 
getDiskImage().getStoragePoolId()
-                : Guid.Empty;
-        Guid storageDomainId =
-                getDiskImage().getStorageIds() != null && 
getDiskImage().getStorageIds().size() > 0 ? getDiskImage().getStorageIds()
-                        .get(0)
-                        : Guid.Empty;
-        Guid imageGroupId = getDiskImage().getimage_group_id() != null ? 
getDiskImage().getimage_group_id()
-                : Guid.Empty;
+        Guid storagePoolId = (getDiskImage().getStoragePoolId() != null) ?
+                getDiskImage().getStoragePoolId() : Guid.Empty;
 
-        Guid taskId = 
persistAsyncTaskPlaceHolder(VdcActionType.RemoveSnapshot);
+        Guid storageDomainId = 
!CollectionUtils.isEmpty(getDiskImage().getStorageIds()) ?
+                getDiskImage().getStorageIds().get(0) : Guid.Empty;
 
-        VDSReturnValue vdsReturnValue = Backend
-                .getInstance()
-                .getResourceManager()
-                .RunVdsCommand(
-                        VDSCommandType.MergeSnapshots,
-                        new MergeSnapshotsVDSCommandParameters(storagePoolId, 
storageDomainId, getVmId(), imageGroupId,
-                                getDiskImage().getImageId(), 
getDestinationDiskImage().getImageId(),
-                                getDiskImage().isWipeAfterDelete()));
-
+        VDSReturnValue vdsReturnValue = mergeSnapshots(storagePoolId, 
storageDomainId);
         if (vdsReturnValue != null && vdsReturnValue.getCreationInfo() != 
null) {
-            getReturnValue().getInternalVdsmTaskIdList().add(
-                    createTask(taskId,
-                            vdsReturnValue.getCreationInfo(),
-                            VdcActionType.RemoveSnapshot,
-                            
ExecutionMessageDirector.resolveStepMessage(StepEnum.MERGE_SNAPSHOTS, 
getJobMessageProperties()),
-                            VdcObjectType.Storage,
-                            storageDomainId));
+            
getReturnValue().getInternalVdsmTaskIdList().add(createTask(vdsReturnValue, 
storageDomainId));
             setSucceeded(vdsReturnValue.getSucceeded());
         } else {
             setSucceeded(false);
         }
     }
 
+    private VDSReturnValue mergeSnapshots(Guid storagePoolId, Guid 
storageDomainId) {
+        MergeSnapshotsVDSCommandParameters params = new 
MergeSnapshotsVDSCommandParameters(storagePoolId,
+                storageDomainId, getVmId(), getDiskImage().getId(), 
getDiskImage().getImageId(),
+                getDestinationDiskImage().getImageId(), 
getDiskImage().isWipeAfterDelete());
+
+        return runVdsCommand(VDSCommandType.MergeSnapshots, params);
+    }
+
+    private Guid createTask(VDSReturnValue vdsReturnValue, Guid 
storageDomainId) {
+        Guid taskId = 
persistAsyncTaskPlaceHolder(VdcActionType.RemoveSnapshot);
+        String message = 
ExecutionMessageDirector.resolveStepMessage(StepEnum.MERGE_SNAPSHOTS,
+                getJobMessageProperties());
+
+        return super.createTask(taskId, vdsReturnValue.getCreationInfo(), 
VdcActionType.RemoveSnapshot,
+                message, VdcObjectType.Storage, storageDomainId);
+    }
+
     @Override
     public Map<String, String> getJobMessageProperties() {
         return 
Collections.singletonMap(VdcObjectType.Disk.name().toLowerCase(), 
getDiskImage().getDiskAlias());


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

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

Reply via email to