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
