|
||||||||||
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:
Task
s 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 ProcessLog
s point to old ProcessDefinition
s. 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 AbstractBaseCommand
public ProcessInstance execute(ProcessInstance pi)
execute
in class AbstractProcessInstanceBaseCommand
public 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 |