|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jbpm.command.AbstractBaseCommand
org.jbpm.command.AbstractProcessInstanceBaseCommand
org.jbpm.command.ChangeProcessInstanceVersionCommand
public class ChangeProcessInstanceVersionCommand
THIS COMMAND IS NOT YET STABLE, BUT FEEL FREE TO TEST :-)
Status update: Still not complete, but refactored and added simple test cases:
ChangeProcessInstanceVersionCommandTest.
Change the version of a running process instance. This works only, if the current node is also
available in the new version of the process definition or a name mapping has to be provided.
Currently known limitations:
Tasks cannot move "into" another node. If an active TaskInstance exists, the
Task definition must exist in the TaskNode with the same (or mapped) name.
Otherwise the right node cannot be found easily because it may be ambiguous.ProcessState is a Node like any
other, it should work anyway.ProcessInstance
can have ProcessLogs point to old ProcessDefinitions. Hence, delete a
ProcessDefinition may not work and throw an Exception (Integrity constraint violation)Token.id and Node.id as
correlation identifier. After changing the version of a ProcessInstance the Node
.id has changed, so a signal from ESB will result in an exception and has to be corrected
manually.
| Constructor Summary | |
|---|---|
ChangeProcessInstanceVersionCommand()
|
|
ChangeProcessInstanceVersionCommand(long processId,
int newVersion)
|
|
| Method Summary | |
|---|---|
ProcessInstance |
execute(ProcessInstance pi)
|
java.lang.String |
getAdditionalToStringInformation()
|
java.util.Map |
getNameMapping()
Deprecated. use getNodeNameMapping instead |
int |
getNewVersion()
|
java.util.Map |
getNodeNameMapping()
|
long |
getProcessId()
Deprecated. use getProcessInstanceId instead |
java.util.Map |
getTaskNameMapping()
|
ChangeProcessInstanceVersionCommand |
newVersion(int newVersion)
|
ChangeProcessInstanceVersionCommand |
nodeNameMapping(java.util.Map nameMapping)
|
ChangeProcessInstanceVersionCommand |
nodeNameMappingAdd(java.lang.String oldNodeName,
java.lang.String newNodeName)
|
void |
setNameMapping(java.util.Map nameMapping)
Deprecated. use setNodeNameMapping instead |
void |
setNewVersion(int newVersion)
|
void |
setNodeNameMapping(java.util.Map nameMapping)
|
void |
setProcessId(long processId)
Deprecated. use setProcessInstanceId instead |
void |
setTaskNameMapping(java.util.Map nameMapping)
|
ChangeProcessInstanceVersionCommand |
taskNameMapping(java.util.Map nameMapping)
|
ChangeProcessInstanceVersionCommand |
taskNameMappingAdd(java.lang.String oldTaskName,
java.lang.String newNodeName)
|
| Methods inherited from class org.jbpm.command.AbstractProcessInstanceBaseCommand |
|---|
execute, getJbpmContext, getProcessInstanceId, getProcessInstanceIds, getProcessName, getProcessVersion, isOnlyRunning, onlyRunning, processInstanceId, processInstanceIds, processName, processVersion, setOnlyRunning, setProcessInstanceId, setProcessInstanceIds, setProcessName, setProcessVersion, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ChangeProcessInstanceVersionCommand()
public ChangeProcessInstanceVersionCommand(long processId,
int newVersion)
| Method Detail |
|---|
public java.lang.String getAdditionalToStringInformation()
getAdditionalToStringInformation in class AbstractBaseCommandpublic ProcessInstance execute(ProcessInstance pi)
execute in class AbstractProcessInstanceBaseCommandpublic java.util.Map getNodeNameMapping()
public void setNodeNameMapping(java.util.Map nameMapping)
public int getNewVersion()
public void setNewVersion(int newVersion)
public java.util.Map getTaskNameMapping()
public void setTaskNameMapping(java.util.Map nameMapping)
public long getProcessId()
public void setProcessId(long processId)
public java.util.Map getNameMapping()
public void setNameMapping(java.util.Map nameMapping)
public ChangeProcessInstanceVersionCommand nodeNameMapping(java.util.Map nameMapping)
public ChangeProcessInstanceVersionCommand newVersion(int newVersion)
public ChangeProcessInstanceVersionCommand taskNameMapping(java.util.Map nameMapping)
public ChangeProcessInstanceVersionCommand nodeNameMappingAdd(java.lang.String oldNodeName,
java.lang.String newNodeName)
public ChangeProcessInstanceVersionCommand taskNameMappingAdd(java.lang.String oldTaskName,
java.lang.String newNodeName)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||