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