[jbpm-commits] JBoss JBPM SVN: r2883 - jbpm3/trunk/modules/core/src/main/java/org/jbpm/command.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Nov 11 09:53:30 EST 2008
Author: heiko.braun at jboss.com
Date: 2008-11-11 09:53:29 -0500 (Tue, 11 Nov 2008)
New Revision: 2883
Modified:
jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java
jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java
Log:
Update task commands to support simplifieed console management lifecycle
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java 2008-11-11 14:34:01 UTC (rev 2882)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelWorkOnTaskCommand.java 2008-11-11 14:53:29 UTC (rev 2883)
@@ -28,8 +28,8 @@
public Object execute(JbpmContext jbpmContext) throws Exception {
TaskInstance ti = jbpmContext.getTaskInstance(taskInstanceId);
ti.setActorId(null);
- ti.setStart(null);
- return null;
+ ti.setStart(null);
+ return null;
}
public long getTaskInstanceId() {
Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java 2008-11-11 14:34:01 UTC (rev 2882)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/StartWorkOnTaskCommand.java 2008-11-11 14:53:29 UTC (rev 2883)
@@ -1,6 +1,10 @@
package org.jbpm.command;
import org.jbpm.JbpmContext;
+import org.jbpm.db.JbpmSchema;
+import org.jbpm.taskmgmt.exe.TaskInstance;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* The current authorizes actor starts to work on the TaskInstance
@@ -12,11 +16,15 @@
private static final long serialVersionUID = 53004484398726736L;
- private long taskInstanceId;
+ private static final Log log = LogFactory.getLog(StartWorkOnTaskCommand.class);
+
+ private long taskInstanceId;
private boolean overwriteSwimlane = false;
- public StartWorkOnTaskCommand(long taskInstanceId, boolean overwriteSwimlane) {
+ private String actorId;
+
+ public StartWorkOnTaskCommand(long taskInstanceId, boolean overwriteSwimlane) {
this.taskInstanceId = taskInstanceId;
this.overwriteSwimlane = overwriteSwimlane;
}
@@ -25,8 +33,19 @@
}
public Object execute(JbpmContext jbpmContext) throws Exception {
- jbpmContext.getTaskInstance(taskInstanceId).start(jbpmContext.getActorId(), overwriteSwimlane);
- return null;
+ String actor = this.actorId==null ? jbpmContext.getActorId() : this.actorId;
+ TaskInstance taskInstance = jbpmContext.getTaskInstance(taskInstanceId);
+
+
+ if(taskInstance.getStart()!=null)
+ {
+ log.warn("Force stop on task " + taskInstance.getId() + ". Will be restarted.");
+ taskInstance.setStart(null); // strange, but means isNotStarted()
+ }
+
+ taskInstance.start(actor, overwriteSwimlane);
+
+ return null;
}
public boolean isOverwriteSwimlane() {
@@ -45,4 +64,13 @@
this.taskInstanceId = taskInstanceId;
}
+ public void setActorId(String actorId)
+ {
+ this.actorId = actorId;
+ }
+
+ public String getActorId()
+ {
+ return actorId;
+ }
}
More information about the jbpm-commits
mailing list