|
||||||||||
| 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.
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 | |||||||||