Arik Hadas has uploaded a new change for review. Change subject: core: refactor RestoreStatelessVmCommand ......................................................................
core: refactor RestoreStatelessVmCommand Minor refactoring in RestoreStatelessVmCommand Change-Id: I8758f8d1f56b059ccde34889c3f56ea2d1c2d069 Signed-off-by: Arik Hadas <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreStatelessVmCommand.java 1 file changed, 27 insertions(+), 20 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/19/28219/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreStatelessVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreStatelessVmCommand.java index a3527e9..daf3983 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreStatelessVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreStatelessVmCommand.java @@ -9,10 +9,11 @@ import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.action.VmOperationParameterBase; import org.ovirt.engine.core.common.businessentities.DiskImage; -import org.ovirt.engine.core.common.businessentities.SnapshotActionEnum; import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotType; +import org.ovirt.engine.core.common.businessentities.SnapshotActionEnum; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; +import org.ovirt.engine.core.dao.SnapshotDao; @InternalCommandAttribute public class RestoreStatelessVmCommand<T extends VmOperationParameterBase> extends VmCommand<T> { @@ -44,28 +45,34 @@ getVm().getName(), getVmId()); - boolean returnVal = true; - Guid snapshotId = DbFacade.getInstance().getSnapshotDao().getId(getVmId(), SnapshotType.STATELESS); - List<DiskImage> imagesList = null; - - if (snapshotId != null) { - imagesList = DbFacade.getInstance().getDiskImageDao().getAllSnapshotsForVmSnapshot(snapshotId); + setSucceeded(true); + Guid snapshotId = getSnapshotDao().getId(getVmId(), SnapshotType.STATELESS); + if (snapshotId == null) { + return; } - if (imagesList != null && imagesList.size() > 0) { - /** - * restore all snapshots - */ - RestoreAllSnapshotsParameters restoreParameters = new RestoreAllSnapshotsParameters(getVm().getId(), SnapshotActionEnum.RESTORE_STATELESS); - restoreParameters.setShouldBeLogged(false); - restoreParameters.setImages(imagesList); - VdcReturnValueBase vdcReturn = - Backend.getInstance().runInternalAction(VdcActionType.RestoreAllSnapshots, - restoreParameters, - ExecutionHandler.createDefaultContexForTasks(getExecutionContext(), getLock())); - returnVal = vdcReturn.getSucceeded(); + List<DiskImage> imagesList = getDiskImageDao().getAllSnapshotsForVmSnapshot(snapshotId); + if (imagesList == null || imagesList.isEmpty()) { + return; } - setSucceeded(returnVal); + + // restore all snapshots + VdcReturnValueBase vdcReturn = + Backend.getInstance().runInternalAction(VdcActionType.RestoreAllSnapshots, + buildRestoreAllSnapshotsParameters(imagesList), + ExecutionHandler.createDefaultContexForTasks(getExecutionContext(), getLock())); + setSucceeded(vdcReturn.getSucceeded()); } } + + private RestoreAllSnapshotsParameters buildRestoreAllSnapshotsParameters(List<DiskImage> imagesList) { + RestoreAllSnapshotsParameters restoreParameters = new RestoreAllSnapshotsParameters(getVm().getId(), SnapshotActionEnum.RESTORE_STATELESS); + restoreParameters.setShouldBeLogged(false); + restoreParameters.setImages(imagesList); + return restoreParameters; + } + + private SnapshotDao getSnapshotDao() { + return DbFacade.getInstance().getSnapshotDao(); + } } -- To view, visit http://gerrit.ovirt.org/28219 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8758f8d1f56b059ccde34889c3f56ea2d1c2d069 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
