Eli Mesika has uploaded a new change for review.

Change subject: [WIP] core: Adding EndExternalStepCommand
......................................................................

[WIP] core: Adding EndExternalStepCommand

Change-Id: I8ec56890dcfc9dbfc5b53c6ccc9bceb411a98402
Signed-off-by: Eli Mesika <emes...@redhat.com>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=872719
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EndExternalStepCommand.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/EndExternalStepParameters.java
2 files changed, 110 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/15229/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EndExternalStepCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EndExternalStepCommand.java
new file mode 100644
index 0000000..176a9d7
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EndExternalStepCommand.java
@@ -0,0 +1,64 @@
+package org.ovirt.engine.core.bll;
+
+import java.util.List;
+
+import org.ovirt.engine.core.bll.job.ExecutionContext;
+import org.ovirt.engine.core.bll.job.ExecutionHandler;
+import org.ovirt.engine.core.bll.job.ExecutionContext.ExecutionMethod;
+import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.action.EndExternalStepParameters;
+import org.ovirt.engine.core.common.job.Job;
+import org.ovirt.engine.core.common.job.Step;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+
+public class EndExternalStepCommand <T extends EndExternalStepParameters> 
extends CommandBase<T> {
+    private Job job;
+    private Step step;
+
+    public EndExternalStepCommand(T parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected boolean canDoAction() {
+        boolean retValue=true;
+        step = 
DbFacade.getInstance().getStepDao().get(getParameters().getId());
+        if (step == null) {
+            retValue=false;
+            //TODO add message
+        }
+        else if (!step.isExternal()) {
+            retValue=false;
+            //TODO add message
+        }
+        job = DbFacade.getInstance().getJobDao().get(step.getJobId());
+        if (job == null) {
+            retValue=false;
+            //TODO add message
+        }
+       return retValue;
+    }
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    protected void executeCommand() {
+        ExecutionContext context = new ExecutionContext();
+        context.setJob(job);
+        context.setStep(step);
+        context.setMonitored(true);
+        context.setExecutionMethod(ExecutionMethod.AsStep);
+        ExecutionHandler.endStep(context, step, getParameters().getStatus());
+        setSucceeded(true);
+    }
+
+    @Override
+    public List<PermissionSubject> getPermissionCheckSubjects() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/EndExternalStepParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/EndExternalStepParameters.java
new file mode 100644
index 0000000..462f9db
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/EndExternalStepParameters.java
@@ -0,0 +1,46 @@
+package org.ovirt.engine.core.common.action;
+
+import org.ovirt.engine.core.compat.Guid;
+
+public class EndExternalStepParameters extends VdcActionParametersBase {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    private Guid id;
+    private boolean exitStatus;
+    private boolean force;
+
+    public Guid getId() {
+        return id;
+    }
+
+    public void setId(Guid id) {
+        this.id = id;
+    }
+
+    public boolean isForce() {
+        return force;
+    }
+
+    public void setForce(boolean force) {
+        this.force = force;
+    }
+
+    public boolean getStatus() {
+        return exitStatus;
+    }
+
+    public void setStatus(boolean status) {
+        this.exitStatus = status;
+    }
+
+    public EndExternalStepParameters(Guid id, boolean status, boolean force) {
+        super();
+        this.id = id;
+        this.exitStatus = status;
+        this.force = force;
+    }
+}


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8ec56890dcfc9dbfc5b53c6ccc9bceb411a98402
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <emes...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to