Arik Hadas has uploaded a new change for review.

Change subject: core: remove RemoveVmCommand#isVmRunning
......................................................................

core: remove RemoveVmCommand#isVmRunning

Change-Id: Icec8d587a10d76e138c09cc1b94358a359506d5a
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmToPoolCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromPoolCommand.java
3 files changed, 13 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/67/28867/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmToPoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmToPoolCommand.java
index a77c196..c085a97 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmToPoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmToPoolCommand.java
@@ -2,7 +2,7 @@
 
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.AddVmToPoolParameters;
-import org.ovirt.engine.core.common.businessentities.VM;
+import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.VmPool;
 import org.ovirt.engine.core.common.businessentities.VmPoolMap;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
@@ -15,7 +15,11 @@
 
     @Override
     protected boolean canDoAction() {
-        if (RemoveVmCommand.isVmRunning(getParameters().getVmId())) {
+        if (getVm() == null) {
+            return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_FOUND);
+        }
+
+        if (getVm().isRunningOrPaused() || getVm().getStatus() == 
VMStatus.Unknown) {
             return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL);
         }
 
@@ -24,13 +28,10 @@
         }
 
         if (getParameters().getVmPoolId() != null) {
-            VM vm = getVmDAO().get(getParameters().getVmId());
-            if (vm != null) {
-                VmPool pool = 
getVmPoolDAO().get(getParameters().getVmPoolId());
-                if (pool != null) {
-                    if (!pool.getVdsGroupId().equals(vm.getVdsGroupId())) {
-                        return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER);
-                    }
+            VmPool pool = getVmPoolDAO().get(getParameters().getVmPoolId());
+            if (pool != null) {
+                if (!pool.getVdsGroupId().equals(getVm().getVdsGroupId())) {
+                    return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER);
                 }
             }
         }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
index 4c440f1..17361af 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
@@ -36,14 +36,12 @@
 import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.ImageStatus;
 import org.ovirt.engine.core.common.businessentities.LunDisk;
-import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.network.VmNic;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.common.locks.LockingGroup;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.utils.transaction.TransactionMethod;
 import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
@@ -164,7 +162,7 @@
             return false;
         }
 
-        if (isVmRunning(getVmId()) || (getVm().getStatus() == 
VMStatus.NotResponding)) {
+        if (getVm().isRunningOrPaused() || getVm().getStatus() == 
VMStatus.Unknown || getVm().getStatus() == VMStatus.NotResponding) {
             return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VM_IS_RUNNING);
         }
         if (getVm().getStatus() == VMStatus.Suspended) {
@@ -229,14 +227,6 @@
     protected void setActionMessageParameters() {
         addCanDoActionMessage(VdcBllMessages.VAR__ACTION__REMOVE);
         addCanDoActionMessage(VdcBllMessages.VAR__TYPE__VM);
-    }
-
-    public static boolean isVmRunning(Guid vmId) {
-        VM vm = DbFacade.getInstance().getVmDao().get(vmId);
-        if (vm != null) {
-            return vm.isRunningOrPaused() || vm.getStatus() == 
VMStatus.Unknown;
-        }
-        return false;
     }
 
     private boolean canRemoveVmWithDetachDisks() {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromPoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromPoolCommand.java
index a5fbd3e..99dbd36 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromPoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromPoolCommand.java
@@ -2,6 +2,7 @@
 
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.RemoveVmFromPoolParameters;
+import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 
 public class RemoveVmFromPoolCommand<T extends RemoveVmFromPoolParameters> 
extends VmPoolCommandBase<T> {
@@ -23,7 +24,7 @@
             return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL);
         }
 
-        if (RemoveVmCommand.isVmRunning(getParameters().getVmId())) {
+        if (getVm().isRunningOrPaused() || getVm().getStatus() == 
VMStatus.Unknown) {
             return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL);
         }
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icec8d587a10d76e138c09cc1b94358a359506d5a
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

Reply via email to