Alona Kaplan has uploaded a new change for review.

Change subject: core: adding AbstractVmInterfaceCommand
......................................................................

core: adding AbstractVmInterfaceCommand

This command will contain common logic of VmIntrefaceCommands.

For now, the logic of internaly calling activateNic (called from
AddVmInterfaceCommnad and will be called from UpdateVmInterfaceCommanf in
the future) was moved to AbstractVmInterfaceCommand.

In the future other common logic can be placed here.

Change-Id: I15acf7c715703582e96274f4621239b33d263172
Signed-off-by: Alona Kaplan <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractVmInterfaceCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
2 files changed, 48 insertions(+), 31 deletions(-)


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

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractVmInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractVmInterfaceCommand.java
new file mode 100644
index 0000000..e6cbb0f
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractVmInterfaceCommand.java
@@ -0,0 +1,46 @@
+package org.ovirt.engine.core.bll;
+
+import org.ovirt.engine.core.bll.job.ExecutionHandler;
+import org.ovirt.engine.core.common.action.ActivateDeactivateVmNicParameters;
+import org.ovirt.engine.core.common.action.PlugAction;
+import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.action.VdcReturnValueBase;
+import org.ovirt.engine.core.common.action.VmOperationParameterBase;
+import org.ovirt.engine.core.compat.Guid;
+
+public abstract class AbstractVmInterfaceCommand<T extends 
VmOperationParameterBase> extends VmCommand<T> {
+
+    private static final long serialVersionUID = -7225784533944857839L;
+
+    public AbstractVmInterfaceCommand(T parameters) {
+        super(parameters);
+    }
+
+    protected boolean activateNic(Guid nicId, PlugAction plugAction) {
+        ActivateDeactivateVmNicParameters activateParameters =
+                createActivateDeactivateParameters(nicId, plugAction);
+        VdcReturnValueBase activateVmNicReturnValue =
+                
Backend.getInstance().runInternalAction(VdcActionType.ActivateDeactivateVmNic,
+                        activateParameters,
+                        
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
+        if (!activateVmNicReturnValue.getSucceeded()) {
+            propagateFailure(activateVmNicReturnValue);
+        }
+        return activateVmNicReturnValue.getSucceeded();
+    }
+
+    private ActivateDeactivateVmNicParameters 
createActivateDeactivateParameters(Guid nicId,
+            PlugAction plugAction) {
+        ActivateDeactivateVmNicParameters activateDeactivateVmNicParameters =
+                new ActivateDeactivateVmNicParameters(nicId, plugAction);
+        activateDeactivateVmNicParameters.setVmId(getParameters().getVmId());
+        return activateDeactivateVmNicParameters;
+    }
+
+    private void propagateFailure(VdcReturnValueBase internalReturnValue) {
+        
getReturnValue().getExecuteFailedMessages().addAll(internalReturnValue.getExecuteFailedMessages());
+        getReturnValue().setFault(internalReturnValue.getFault());
+        
getReturnValue().getCanDoActionMessages().addAll(internalReturnValue.getCanDoActionMessages());
+        getReturnValue().setCanDoAction(internalReturnValue.getCanDoAction());
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
index ea0b31f..7ec0bba 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmInterfaceCommand.java
@@ -4,16 +4,12 @@
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
-import org.ovirt.engine.core.bll.job.ExecutionHandler;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
 import org.ovirt.engine.core.bll.utils.VmDeviceUtils;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
-import org.ovirt.engine.core.common.action.ActivateDeactivateVmNicParameters;
 import org.ovirt.engine.core.common.action.AddVmInterfaceParameters;
 import org.ovirt.engine.core.common.action.PlugAction;
-import org.ovirt.engine.core.common.action.VdcActionType;
-import org.ovirt.engine.core.common.action.VdcReturnValueBase;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.Disk;
 import org.ovirt.engine.core.common.businessentities.Network;
@@ -39,7 +35,7 @@
 
 @NonTransactiveCommandAttribute(forceCompensation = true)
 @CustomLogFields({ @CustomLogField("InterfaceName") })
-public class AddVmInterfaceCommand<T extends AddVmInterfaceParameters> extends 
VmCommand<T> {
+public class AddVmInterfaceCommand<T extends AddVmInterfaceParameters> extends 
AbstractVmInterfaceCommand<T> {
 
     private static final long serialVersionUID = -835005784345476993L;
 
@@ -79,7 +75,7 @@
 
         boolean succeeded = true;
         if (getParameters().getInterface().isActive()) {
-            succeeded = activateNic();
+            succeeded = activateNic(getParameters().getInterface().getId(), 
PlugAction.PLUG);
         }
         setSucceeded(succeeded);
     }
@@ -99,25 +95,6 @@
 
         
dbFacade.getVmNetworkStatisticsDao().save(vmNetworkInterface.getStatistics());
         
getCompensationContext().snapshotNewEntity(vmNetworkInterface.getStatistics());
-    }
-
-    private boolean activateNic() {
-        ActivateDeactivateVmNicParameters activateParameters = 
createActivateDeactivateParameters();
-        VdcReturnValueBase activateVmNicReturnValue =
-                
Backend.getInstance().runInternalAction(VdcActionType.ActivateDeactivateVmNic,
-                        activateParameters,
-                        
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-        if (!activateVmNicReturnValue.getSucceeded()) {
-            propagateFailure(activateVmNicReturnValue);
-        }
-        return activateVmNicReturnValue.getSucceeded();
-    }
-
-    private ActivateDeactivateVmNicParameters 
createActivateDeactivateParameters() {
-        ActivateDeactivateVmNicParameters activateDeactivateVmNicParameters =
-                new 
ActivateDeactivateVmNicParameters(getParameters().getInterface().getId(), 
PlugAction.PLUG);
-        activateDeactivateVmNicParameters.setVmId(getParameters().getVmId());
-        return activateDeactivateVmNicParameters;
     }
 
     @Override
@@ -292,10 +269,4 @@
         return permissionList;
     }
 
-    private void propagateFailure(VdcReturnValueBase internalReturnValue) {
-        
getReturnValue().getExecuteFailedMessages().addAll(internalReturnValue.getExecuteFailedMessages());
-        getReturnValue().setFault(internalReturnValue.getFault());
-        
getReturnValue().getCanDoActionMessages().addAll(internalReturnValue.getCanDoActionMessages());
-        getReturnValue().setCanDoAction(internalReturnValue.getCanDoAction());
-    }
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I15acf7c715703582e96274f4621239b33d263172
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alona Kaplan <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to