[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