[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