Arik Hadas has uploaded a new change for review. Change subject: core: minor refactoring in stop vm related commands ......................................................................
core: minor refactoring in stop vm related commands 1. replace canDoAction methods in ShutdownVmCommand and StopVmCommand that were not doing anything besides setting the VAR__ACTION and VAR__TYPE with setActionMessageParameters methods 2. rename StopVmCommandBase#privateSuspendedVm to suspendedVm 3. rename CanShutDown variable in ShutdownVmCommand#Perform method to canShutDown 4. reorganize StopVmCommandBase#canDoAction method to be more readable Change-Id: I8af061d2805a85dadd84efa1cd2a0a290dbddbd1 Signed-off-by: Arik Hadas <aha...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ShutdownVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java 3 files changed, 36 insertions(+), 53 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/17472/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ShutdownVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ShutdownVmCommand.java index c5f3a3b..cf74af9 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ShutdownVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ShutdownVmCommand.java @@ -17,6 +17,11 @@ @NonTransactiveCommandAttribute(forceCompensation=true) public class ShutdownVmCommand<T extends ShutdownVmParameters> extends StopVmCommandBase<T> { + + protected ShutdownVmCommand(Guid commandId) { + super(commandId); + } + public ShutdownVmCommand(T shutdownVmParamsData) { super(shutdownVmParamsData); } @@ -30,19 +35,10 @@ } } - protected ShutdownVmCommand(Guid commandId) { - super(commandId); - } - @Override - protected boolean canDoAction() { - boolean ret = super.canDoAction(); - if (!ret) { - addCanDoActionMessage(VdcBllMessages.VAR__ACTION__SHUTDOWN); - addCanDoActionMessage(VdcBllMessages.VAR__TYPE__VM); - } - - return ret; + protected void setActionMessageParameters() { + addCanDoActionMessage(VdcBllMessages.VAR__ACTION__SHUTDOWN); + addCanDoActionMessage(VdcBllMessages.VAR__TYPE__VM); } @Override @@ -50,13 +46,12 @@ log.infoFormat("Entered (VM {0}).", getVm().getName()); VmHandler.UpdateVmGuestAgentVersion(getVm()); - boolean CanShutDown = (getVm().getStatus() == VMStatus.Up) + boolean canShutDown = (getVm().getStatus() == VMStatus.Up) && ((getVm().getAcpiEnable() == null ? false : getVm().getAcpiEnable()) || getVm().getHasAgent()); - if (CanShutDown) - // shutting down desktop and waiting for it in a separate thread to - // become 'down': - { + if (canShutDown) { + // shutting down desktop and waiting for it in a separate thread to + // become 'down': log.infoFormat("Sending shutdown command for VM {0}.", getVm() .getName()); @@ -70,10 +65,10 @@ .RunVdsCommand(VDSCommandType.DestroyVm, new DestroyVmVDSCommandParameters(getVdsId(), getVmId(), false, true, secondsToWait)) .getReturnValue()); - } else // cannot shutdown -> send a StopVm command instead ('destroy'): - { - // don't log -> log will appear for the - // StopVmCommand we are about to run: + } + else { + // cannot shutdown -> send a StopVm command instead ('destroy'): + // don't log -> log will appear for the StopVmCommand we are about to run: setCommandShouldBeLogged(false); log.infoFormat( diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommand.java index 8f6dc7c..308fcec 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommand.java @@ -41,13 +41,8 @@ } @Override - protected boolean canDoAction() { - boolean ret = super.canDoAction(); - if (!ret) { - addCanDoActionMessage(VdcBllMessages.VAR__ACTION__STOP); - addCanDoActionMessage(VdcBllMessages.VAR__TYPE__VM); - } - - return ret; + protected void setActionMessageParameters() { + addCanDoActionMessage(VdcBllMessages.VAR__ACTION__STOP); + addCanDoActionMessage(VdcBllMessages.VAR__TYPE__VM); } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java index 9a1ca96..fa90ef5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java @@ -29,42 +29,35 @@ public abstract class StopVmCommandBase<T extends VmOperationParameterBase> extends VmOperationCommandBase<T> implements QuotaVdsDependent, QuotaStorageDependent { - private boolean privateSuspendedVm; + private boolean suspendedVm; + + protected StopVmCommandBase(Guid guid) { + super(guid); + } public StopVmCommandBase(T parameters) { super(parameters); } protected boolean getSuspendedVm() { - return privateSuspendedVm; - } - - private void setSuspendedVm(boolean value) { - privateSuspendedVm = value; - } - - protected StopVmCommandBase(Guid guid) { - super(guid); + return suspendedVm; } @Override protected boolean canDoAction() { - boolean retValue = true; if (getVm() == null) { - retValue = false; - addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_FOUND); - } else if (!getVm().isRunning() && getVm().getStatus() != VMStatus.Paused - && getVm().getStatus() != VMStatus.NotResponding && getVm().getStatus() != VMStatus.Suspended) { - if (getVm().getStatus().isHibernating() || getVm().getStatus() == VMStatus.RestoringState) { - retValue = false; - addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_SAVING_RESTORING); - } else { - retValue = false; - addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_NOT_RUNNING); - } + return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_FOUND); } - return retValue; + if (!getVm().isRunning() && getVm().getStatus() != VMStatus.Paused + && getVm().getStatus() != VMStatus.NotResponding && getVm().getStatus() != VMStatus.Suspended) { + return failCanDoAction( + (getVm().getStatus().isHibernating() || getVm().getStatus() == VMStatus.RestoringState) ? + VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_SAVING_RESTORING + : VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_NOT_RUNNING); + } + + return true; } protected void Destroy() { @@ -89,7 +82,7 @@ getParameters().setEntityInfo(new EntityInfo(VdcObjectType.VM, getVm().getId())); if (getVm().getStatus() == VMStatus.Suspended || StringUtils.isNotEmpty(getVm().getHibernationVolHandle())) { - setSuspendedVm(true); + suspendedVm = true; setSucceeded(stopSuspendedVm()); } else { super.executeVmCommand(); -- To view, visit http://gerrit.ovirt.org/17472 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8af061d2805a85dadd84efa1cd2a0a290dbddbd1 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