[jbpm-commits] JBoss JBPM SVN: r3335 - jbpm3/trunk/modules/core/src/main/java/org/jbpm/command.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Dec 11 06:38:53 EST 2008


Author: camunda
Date: 2008-12-11 06:38:53 -0500 (Thu, 11 Dec 2008)
New Revision: 3335

Added:
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeTokenCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendTokenCommand.java
Modified:
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractProcessInstanceBaseCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ChangeProcessInstanceVersionCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeProcessInstanceCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendProcessInstanceCommand.java
Log:
JBPM-1905: added Suspend/Resume Token Command

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractProcessInstanceBaseCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractProcessInstanceBaseCommand.java	2008-12-11 11:38:23 UTC (rev 3334)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractProcessInstanceBaseCommand.java	2008-12-11 11:38:53 UTC (rev 3335)
@@ -1,5 +1,6 @@
 package org.jbpm.command;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
@@ -48,6 +49,7 @@
 
   public Object execute(JbpmContext jbpmContext) throws Exception
   {
+    ArrayList result = new ArrayList();
     this.jbpmContext = jbpmContext;
     try {      
       log.debug("executing " + this);
@@ -58,7 +60,8 @@
         for (int i = 0; i < processInstanceIds.length; i++)
         {
           ProcessInstance pi = jbpmContext.loadProcessInstanceForUpdate(processInstanceIds[i]);
-          execute(pi);
+          result.add(
+              execute(pi));
         }
       }
   
@@ -92,14 +95,22 @@
         }
       }
   
-      return null;
+      if (operateOnSingleObject) {
+        if (result.size()<1)
+          return null;
+        else 
+          return result.get(0);
+      }
+      else {
+        return result;      
+      }
     }
     finally {
       this.jbpmContext = null;
     }
   }
 
-  public abstract void execute(ProcessInstance processInstance);
+  public abstract ProcessInstance execute(ProcessInstance processInstance);
   
   public AbstractProcessInstanceBaseCommand setProcessInstanceIds(long[] processInstanceIds)
   {

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ChangeProcessInstanceVersionCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ChangeProcessInstanceVersionCommand.java	2008-12-11 11:38:23 UTC (rev 3334)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ChangeProcessInstanceVersionCommand.java	2008-12-11 11:38:53 UTC (rev 3335)
@@ -97,7 +97,7 @@
       return getJbpmContext().getGraphSession().findProcessDefinition(processName, newVersion);
   }
 
-  public void execute(ProcessInstance pi)
+  public ProcessInstance execute(ProcessInstance pi)
   {
     ProcessDefinition oldDef = pi.getProcessDefinition();
     ProcessDefinition newDef = loadNewProcessDefinition(oldDef.getName());
@@ -108,6 +108,7 @@
     changeTokenVersion(pi.getRootToken());
 
     log.debug("process id " + pi.getId() + " changed to version " + pi.getProcessDefinition().getVersion());
+    return pi;    
   }
   
   private ProcessDefinition getNewProcessDefinition(Token t)  {

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeProcessInstanceCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeProcessInstanceCommand.java	2008-12-11 11:38:23 UTC (rev 3334)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeProcessInstanceCommand.java	2008-12-11 11:38:53 UTC (rev 3335)
@@ -10,9 +10,12 @@
  */
 public class ResumeProcessInstanceCommand extends AbstractProcessInstanceBaseCommand {
 	
+  private static final long serialVersionUID = 1L;
+
   @Override
-  public void execute(ProcessInstance processInstance)
+  public ProcessInstance execute(ProcessInstance processInstance)
   {
-    processInstance.resume();    
+    processInstance.resume();
+    return processInstance;    
   }
 }

Added: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeTokenCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeTokenCommand.java	                        (rev 0)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ResumeTokenCommand.java	2008-12-11 11:38:53 UTC (rev 3335)
@@ -0,0 +1,22 @@
+package org.jbpm.command;
+
+import org.jbpm.graph.exe.Token;
+
+/**
+ * Resume the specified {@link Token}(s). See {@link AbstractTokenBaseCommand}
+ * to check possibilities to specify {@link Token}(s).
+ * 
+ * @author bernd.ruecker at camunda.com
+ */
+public class ResumeTokenCommand extends AbstractTokenBaseCommand {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  public Token execute(Token token)
+  {
+    token.resume();
+    return token;
+  }
+
+}

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendProcessInstanceCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendProcessInstanceCommand.java	2008-12-11 11:38:23 UTC (rev 3334)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendProcessInstanceCommand.java	2008-12-11 11:38:53 UTC (rev 3335)
@@ -14,10 +14,13 @@
  */
 public class SuspendProcessInstanceCommand extends AbstractProcessInstanceBaseCommand {
 
+  private static final long serialVersionUID = 1L;
+
   @Override
-  public void execute(ProcessInstance processInstance)
+  public ProcessInstance execute(ProcessInstance processInstance)
   {
     processInstance.suspend();
+    return processInstance;
   }
 
 }

Added: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendTokenCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendTokenCommand.java	                        (rev 0)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/SuspendTokenCommand.java	2008-12-11 11:38:53 UTC (rev 3335)
@@ -0,0 +1,22 @@
+package org.jbpm.command;
+
+import org.jbpm.graph.exe.Token;
+
+/**
+ * Suspend the specified {@link Token}(s). See {@link AbstractTokenBaseCommand}
+ * to check possibilities to specify {@link Token}(s).
+ * 
+ * @author bernd.ruecker at camunda.com
+ */
+public class SuspendTokenCommand extends AbstractTokenBaseCommand {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  public Token execute(Token token)
+  {
+    token.suspend();
+    return token;
+  }
+
+}




More information about the jbpm-commits mailing list