[jbpm-commits] JBoss JBPM SVN: r3402 - in jbpm3/trunk/modules/core/src/main/java/org/jbpm: graph/exe and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Dec 16 11:35:49 EST 2008


Author: camunda
Date: 2008-12-16 11:35:49 -0500 (Tue, 16 Dec 2008)
New Revision: 3402

Modified:
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractCancelCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractProcessInstanceBaseCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractTokenBaseCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelProcessInstanceCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ChangeProcessInstanceVersionCommand.java
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/Token.java
Log:
JBPM-1905
- Fixed bug with not recursivly canceling sub tokens
- Added getTokenId and getProcessInstanceId convenience method
- Added better exception if change to process definition is not found
- Small Typo in Javadoc

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractCancelCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractCancelCommand.java	2008-12-16 14:24:23 UTC (rev 3401)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractCancelCommand.java	2008-12-16 16:35:49 UTC (rev 3402)
@@ -48,6 +48,10 @@
     // If we then use that in a "SignalingJoin" the main path of execution
     // is triggered, but we dont want that!
 
+    // Recursively cancel children
+    cancelTokens(token.getChildren().values());
+    
+    // cancel tasks
     cancelTasks(getTasksForToken(token));
 
     log.info("token " + token.getId() + " canceled");

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-16 14:24:23 UTC (rev 3401)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractProcessInstanceBaseCommand.java	2008-12-16 16:35:49 UTC (rev 3402)
@@ -171,6 +171,18 @@
     return processInstanceIds;
   }
 
+  /**
+   * return the process instance id in case only one
+   * process instance id is set. Otherwise an {@link IllegalStateException}
+   * is thrown
+   */
+  public long getProcessInstanceId()
+  {
+    if (processInstanceIds==null || processInstanceIds.length!=1)
+      throw new IllegalStateException("getProcessInstanceId can only be called if only one process instance id is set on command " + this + " but was " + processInstanceIds);
+    return processInstanceIds[0];
+  }
+
   public boolean isOnlyRunning()
   {
     return onlyRunning;

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractTokenBaseCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractTokenBaseCommand.java	2008-12-16 14:24:23 UTC (rev 3401)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/AbstractTokenBaseCommand.java	2008-12-16 16:35:49 UTC (rev 3402)
@@ -157,6 +157,18 @@
     return tokenIds;
   }
   
+  /**
+   * return the process instance id in case only one
+   * process instance id is set. Otherwise an {@link IllegalStateException}
+   * is thrown
+   */
+  public long getTokenId()
+  {
+    if (tokenIds==null || tokenIds.length!=1)
+      throw new IllegalStateException("getTokenIds can only be called if only one token id is set on command " + this + " but was " + tokenIds);
+    return tokenIds[0];
+  }  
+  
   public String toString() {
     if (processName!=null && stateName!=null) {
       return this.getClass().getName() 

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelProcessInstanceCommand.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelProcessInstanceCommand.java	2008-12-16 14:24:23 UTC (rev 3401)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/CancelProcessInstanceCommand.java	2008-12-16 16:35:49 UTC (rev 3402)
@@ -53,7 +53,6 @@
       // End the process instance and any open tokens
       // TODO: Think about maybe canceling sub processes?
       cancelToken(pi.getRootToken());
-      cancelTokens(pi.getRootToken().getChildren().values());
 
       pi.end();
 

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-16 14:24:23 UTC (rev 3401)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/command/ChangeProcessInstanceVersionCommand.java	2008-12-16 16:35:49 UTC (rev 3402)
@@ -101,6 +101,10 @@
   {
     ProcessDefinition oldDef = pi.getProcessDefinition();
     ProcessDefinition newDef = loadNewProcessDefinition(oldDef.getName());
+    
+    if (newDef==null) {
+      throw new JbpmException("Process definition " + oldDef.getName() + " in version " + newVersion + " not found.");
+    }
 
     log.debug("Start changing process id " + pi.getId() + " from version " + pi.getProcessDefinition().getVersion() + " to new version " + newDef.getVersion());
     pi.setProcessDefinition(newDef);
@@ -360,13 +364,13 @@
     return this;
   }
 
-  public ChangeProcessInstanceVersionCommand taskNameMappingAdd(String oldTaskName, String newtaskName)
+  public ChangeProcessInstanceVersionCommand taskNameMappingAdd(String oldTaskName, String newNodeName)
   {
     if (taskNameMapping == null) {
       this.taskNameMapping = new HashMap<String, String>();      
     }
     
-    this.taskNameMapping.put(oldTaskName, newtaskName);
+    this.taskNameMapping.put(oldTaskName, newNodeName);
     return this;
   }
 }

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/Token.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/Token.java	2008-12-16 14:24:23 UTC (rev 3401)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/graph/exe/Token.java	2008-12-16 16:35:49 UTC (rev 3402)
@@ -337,7 +337,7 @@
         parent.addLog(new TokenEndLog(this));
       }
 
-      // if there are tasks associated to this token, remove signalling capabilities
+      // if there are tasks associated to this token, remove signaling capabilities
       TaskMgmtInstance taskMgmtInstance = (processInstance != null ? processInstance.getTaskMgmtInstance() : null);
       if (taskMgmtInstance != null)
       {




More information about the jbpm-commits mailing list