Migrate and create activity instances. Creation invokes execution listeners
and io mappings. This is performed in a top-down fashion in the activity instance tree and
ensures that the "upstream" tree is always consistent with respect to the new process definition.
- Author:
- Thorben Lindhauer
|
Method Summary |
protected Set<MigratingActivityInstance> |
collectLeafActivityInstances(MigratingProcessInstance migratingProcessInstance)
|
protected List<ScopeImpl> |
collectNonExistingFlowScopes(ScopeImpl scope,
MigratingActivityInstanceBranch migratingExecutionBranch)
Returns a list of flow scopes from the given scope until a scope is reached that is already present in the given
MigratingActivityInstanceBranch (exclusive). |
protected void |
deleteUnmappedActivityInstances(MigratingProcessInstance migratingProcessInstance)
delete unmapped instances in a bottom-up fashion (similar to deleteCascade and regular BPMN execution) |
protected void |
ensureProcessInstanceExist(String processInstanceId,
ExecutionEntity processInstance)
|
protected void |
ensureSameProcessDefinition(ExecutionEntity processInstance,
String processDefinitionId)
|
Void |
execute(CommandContext commandContext)
|
protected void |
instantiateScopes(MigratingActivityInstance ancestorScopeInstance,
MigratingActivityInstanceBranch executionBranch,
List<ScopeImpl> scopesToInstantiate)
Creates scope executions for the given list of scopes;
Registers these executions with the migrating execution branch; |
protected void |
migrateActivityInstance(MigratingActivityInstanceBranch migratingInstanceBranch,
MigratingActivityInstance migratingActivityInstance)
|
protected void |
migrateProcessElementInstance(MigratingProcessElementInstance migratingInstance,
MigratingActivityInstanceBranch migratingInstanceBranch)
|
Void |
migrateProcessInstance(CommandContext commandContext,
String processInstanceId,
MigrationPlan migrationPlan,
ProcessDefinitionEntity targetProcessDefinition)
|
protected void |
migrateProcessInstance(MigratingProcessInstance migratingProcessInstance)
Migrate activity instances to their new activities and process definition. |
protected void |
migrateTransitionInstance(MigratingActivityInstanceBranch migratingInstanceBranch,
MigratingTransitionInstance migratingTransitionInstance)
|
protected MigratingActivityInstanceValidationReportImpl |
validateActivityInstance(MigratingActivityInstance migratingActivityInstance,
MigratingProcessInstance migratingProcessInstance,
List<MigratingActivityInstanceValidator> migratingActivityInstanceValidators)
|
protected void |
validateInstructions(CommandContext commandContext,
MigratingProcessInstance migratingProcessInstance,
MigratingProcessInstanceValidationReportImpl processInstanceReport)
|
protected MigratingTransitionInstanceValidationReportImpl |
validateTransitionInstance(MigratingTransitionInstance migratingTransitionInstance,
MigratingProcessInstance migratingProcessInstance,
List<MigratingTransitionInstanceValidator> migratingTransitionInstanceValidators)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOGGER
protected static final MigrationLogger LOGGER
MigrateProcessInstanceCmd
public MigrateProcessInstanceCmd(MigrationPlanExecutionBuilderImpl migrationPlanExecutionBuilder)
execute
public Void execute(CommandContext commandContext)
migrateProcessInstance
public Void migrateProcessInstance(CommandContext commandContext,
String processInstanceId,
MigrationPlan migrationPlan,
ProcessDefinitionEntity targetProcessDefinition)
deleteUnmappedActivityInstances
protected void deleteUnmappedActivityInstances(MigratingProcessInstance migratingProcessInstance)
- delete unmapped instances in a bottom-up fashion (similar to deleteCascade and regular BPMN execution)
collectLeafActivityInstances
protected Set<MigratingActivityInstance> collectLeafActivityInstances(MigratingProcessInstance migratingProcessInstance)
validateInstructions
protected void validateInstructions(CommandContext commandContext,
MigratingProcessInstance migratingProcessInstance,
MigratingProcessInstanceValidationReportImpl processInstanceReport)
validateActivityInstance
protected MigratingActivityInstanceValidationReportImpl validateActivityInstance(MigratingActivityInstance migratingActivityInstance,
MigratingProcessInstance migratingProcessInstance,
List<MigratingActivityInstanceValidator> migratingActivityInstanceValidators)
validateTransitionInstance
protected MigratingTransitionInstanceValidationReportImpl validateTransitionInstance(MigratingTransitionInstance migratingTransitionInstance,
MigratingProcessInstance migratingProcessInstance,
List<MigratingTransitionInstanceValidator> migratingTransitionInstanceValidators)
migrateProcessInstance
protected void migrateProcessInstance(MigratingProcessInstance migratingProcessInstance)
- Migrate activity instances to their new activities and process definition. Creates new
scope instances as necessary.
migrateActivityInstance
protected void migrateActivityInstance(MigratingActivityInstanceBranch migratingInstanceBranch,
MigratingActivityInstance migratingActivityInstance)
migrateTransitionInstance
protected void migrateTransitionInstance(MigratingActivityInstanceBranch migratingInstanceBranch,
MigratingTransitionInstance migratingTransitionInstance)
migrateProcessElementInstance
protected void migrateProcessElementInstance(MigratingProcessElementInstance migratingInstance,
MigratingActivityInstanceBranch migratingInstanceBranch)
collectNonExistingFlowScopes
protected List<ScopeImpl> collectNonExistingFlowScopes(ScopeImpl scope,
MigratingActivityInstanceBranch migratingExecutionBranch)
- Returns a list of flow scopes from the given scope until a scope is reached that is already present in the given
MigratingActivityInstanceBranch (exclusive). The order of the returned list is top-down, i.e. the highest scope
is the first element of the list.
instantiateScopes
protected void instantiateScopes(MigratingActivityInstance ancestorScopeInstance,
MigratingActivityInstanceBranch executionBranch,
List<ScopeImpl> scopesToInstantiate)
- Creates scope executions for the given list of scopes;
Registers these executions with the migrating execution branch;
- Parameters:
ancestorScopeInstance - the instance for the scope that the scopes to instantiate
are subordinates toexecutionBranch - the migrating execution branch that manages scopes and their executionsscopesToInstantiate - a list of hierarchical scopes to instantiate, ordered top-down
ensureProcessInstanceExist
protected void ensureProcessInstanceExist(String processInstanceId,
ExecutionEntity processInstance)
ensureSameProcessDefinition
protected void ensureSameProcessDefinition(ExecutionEntity processInstance,
String processDefinitionId)
Copyright © 2016 camunda services GmbH. All rights reserved.