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

Reply via email to