Arik Hadas has uploaded a new change for review.

Change subject: core: minor refactoring in pool related commands
......................................................................

core: minor refactoring in pool related commands

Change-Id: I34ee0c07081286b6445c732c87c105bc16ef6a66
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
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/RemoveVmFromPoolCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveVmFromPoolParameters.java
3 files changed, 35 insertions(+), 69 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/64/28864/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 bac27a9..4af0ca6 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
@@ -1,14 +1,11 @@
 package org.ovirt.engine.core.bll;
 
-import java.util.ArrayList;
 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.VmPool;
 import org.ovirt.engine.core.common.businessentities.VmPoolMap;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
-import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 
 public class AddVmToPoolCommand<T extends AddVmToPoolParameters> extends 
VmPoolCommandBase<T> {
     public AddVmToPoolCommand(T parameters) {
@@ -16,58 +13,34 @@
         super.setVmId(parameters.getVmId());
     }
 
-    /**
-     * Vm can be added to pool only if it not attach to user.
-     *
-     * @param vmId
-     *            The vm id.
-     * @param messages
-     *            The messages.
-     * @param poolId
-     *            The pool id.
-     * @return <c>true</c> if this instance [can add vm to pool] the specified
-     *         vm id; otherwise, <c>false</c>.
-     */
-    public static boolean canAddVmToPool(Guid vmId, ArrayList<String> 
messages, Guid poolId) {
-        boolean returnValue = true;
+    @Override
+    protected boolean canDoAction() {
+        if (RemoveVmCommand.isVmRunning(getParameters().getVmId())) {
+            return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL);
+        }
 
-        boolean isRunning = RemoveVmCommand.isVmRunning(vmId);
-        if (isRunning) {
-            returnValue = false;
-            if (messages != null) {
-                
messages.add(VdcBllMessages.VM_POOL_CANNOT_ADD_RUNNING_VM_TO_POOL.toString());
-            }
+        if (getVmPoolDAO().getVmPoolMapByVmGuid(getParameters().getVmId()) != 
null) {
+            return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL);
         }
-        if (DbFacade.getInstance().getVmPoolDao().getVmPoolMapByVmGuid(vmId) 
!= null) {
-            returnValue = false;
-            if (messages != null) {
-                
messages.add(VdcBllMessages.VM_POOL_CANNOT_ADD_VM_ATTACHED_TO_POOL.toString());
-            }
-        }
-        if (poolId != null) {
-            VM vm = DbFacade.getInstance().getVmDao().get(vmId);
+
+        if (getParameters().getVmPoolId() != null) {
+            VM vm = getVmDAO().get(getParameters().getVmId());
             if (vm != null) {
-                VmPool pool = 
DbFacade.getInstance().getVmPoolDao().get(poolId);
+                VmPool pool = 
getVmPoolDAO().get(getParameters().getVmPoolId());
                 if (pool != null) {
-                    if (messages != null && 
!pool.getVdsGroupId().equals(vm.getVdsGroupId())) {
-                        
messages.add(VdcBllMessages.VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER.toString());
+                    if (!pool.getVdsGroupId().equals(vm.getVdsGroupId())) {
+                        return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_ADD_VM_DIFFERENT_CLUSTER);
                     }
                 }
             }
-
         }
-        return returnValue;
-    }
 
-    @Override
-    protected boolean canDoAction() {
-        return canAddVmToPool(getParameters().getVmId(), 
getReturnValue().getCanDoActionMessages(), getParameters()
-                .getVmPoolId());
+        return true;
     }
 
     @Override
     protected void executeCommand() {
-        DbFacade.getInstance().getVmPoolDao().addVmToPool(new 
VmPoolMap(getVmId(), getVmPoolId()));
+        getVmPoolDAO().addVmToPool(new VmPoolMap(getVmId(), getVmPoolId()));
         setSucceeded(true);
     }
 
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 42e3ba4..2798ce3 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
@@ -1,48 +1,41 @@
 package org.ovirt.engine.core.bll;
 
-import java.util.ArrayList;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.RemoveVmFromPoolParameters;
 import org.ovirt.engine.core.common.businessentities.VmPoolMap;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
-import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 
 public class RemoveVmFromPoolCommand<T extends RemoveVmFromPoolParameters> 
extends VmPoolCommandBase<T> {
     public RemoveVmFromPoolCommand(T parameters) {
         super(parameters);
-        super.setVmId(parameters.getVmId());
-        VmPoolMap map = 
DbFacade.getInstance().getVmPoolDao().getVmPoolMapByVmGuid(parameters.getVmId());
+        setVmId(parameters.getVmId());
+        VmPoolMap map = 
getVmPoolDAO().getVmPoolMapByVmGuid(parameters.getVmId());
         if (map != null) {
             setVmPoolId(map.getvm_pool_id());
         }
     }
 
-    public static boolean canRemoveVmFromPool(Guid vmId, ArrayList<String> 
messages) {
-        boolean returnValue = true;
-        // Check if the vm is in a pool.
-        if (DbFacade.getInstance().getVmPoolDao().getVmPoolMapByVmGuid(vmId) 
== null) {
-            
messages.add(VdcBllMessages.VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL.toString());
-            returnValue = false;
-        }
-        if (returnValue) {
-            if (RemoveVmCommand.isVmRunning(vmId)) {
-                
messages.add(VdcBllMessages.VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL.toString());
-                returnValue = false;
-            }
-        }
-        return returnValue;
-    }
-
     @Override
     protected boolean canDoAction() {
-        return canRemoveVmFromPool(getParameters().getVmId(), 
getReturnValue().getCanDoActionMessages());
+        if (getVm() == null) {
+            return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_VM_NOT_FOUND);
+        }
+
+        if (getVmPoolId() == null) {
+            return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_DETACH_VM_NOT_ATTACHED_TO_POOL);
+        }
+
+        if (RemoveVmCommand.isVmRunning(getParameters().getVmId())) {
+            return 
failCanDoAction(VdcBllMessages.VM_POOL_CANNOT_REMOVE_RUNNING_VM_FROM_POOL);
+        }
+
+        return true;
     }
 
     @Override
     protected void executeCommand() {
         if (getVmPoolId() != null) {
-            
DbFacade.getInstance().getVmPoolDao().removeVmFromVmPool(getVmId());
+            getVmPoolDAO().removeVmFromVmPool(getVmId());
             setSucceeded(true);
         }
     }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveVmFromPoolParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveVmFromPoolParameters.java
index afeea76..e845559 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveVmFromPoolParameters.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/RemoveVmFromPoolParameters.java
@@ -4,7 +4,7 @@
 
 public class RemoveVmFromPoolParameters extends VmPoolParametersBase {
     private static final long serialVersionUID = -9051384517712295806L;
-    private Guid _vmId;
+    private Guid vmId;
     private boolean removePoolUponDetachAllVMs;
 
     public RemoveVmFromPoolParameters(Guid vmId) {
@@ -13,16 +13,16 @@
 
     public RemoveVmFromPoolParameters(Guid vmId, boolean 
removePoolUponDetachAllVMs) {
         super(Guid.Empty);
-        _vmId = vmId;
+        this.vmId = vmId;
         this.removePoolUponDetachAllVMs = removePoolUponDetachAllVMs;
     }
 
     public RemoveVmFromPoolParameters() {
-        _vmId = Guid.Empty;
+        vmId = Guid.Empty;
     }
 
     public Guid getVmId() {
-        return _vmId;
+        return vmId;
     }
 
     public boolean isRemovePoolUponDetachAllVMs() {


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

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