Class MigrationPlanBuilderImpl
- java.lang.Object
-
- org.camunda.bpm.engine.impl.migration.MigrationPlanBuilderImpl
-
- All Implemented Interfaces:
MigrationInstructionBuilder
,MigrationInstructionsBuilder
,MigrationPlanBuilder
public class MigrationPlanBuilderImpl extends Object implements MigrationInstructionBuilder, MigrationInstructionsBuilder
- Author:
- Thorben Lindhauer
-
-
Field Summary
Fields Modifier and Type Field Description protected CommandExecutor
commandExecutor
protected List<MigrationInstructionImpl>
explicitMigrationInstructions
protected boolean
mapEqualActivities
protected String
sourceProcessDefinitionId
protected String
targetProcessDefinitionId
protected boolean
updateEventTriggersForGeneratedInstructions
protected VariableMap
variables
-
Constructor Summary
Constructors Constructor Description MigrationPlanBuilderImpl(CommandExecutor commandExecutor, String sourceProcessDefinitionId, String targetProcessDefinitionId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MigrationPlan
build()
List<MigrationInstructionImpl>
getExplicitMigrationInstructions()
String
getSourceProcessDefinitionId()
String
getTargetProcessDefinitionId()
VariableMap
getVariables()
boolean
isMapEqualActivities()
boolean
isUpdateEventTriggersForGeneratedInstructions()
MigrationInstructionBuilder
mapActivities(String sourceActivityId, String targetActivityId)
Adds a migration instruction that maps activity instances of the source activity (of the source process definition) to activity instances of the target activity (of the target process definition)MigrationInstructionsBuilder
mapEqualActivities()
Automatically adds a set of instructions for activities that are equivalent in both process definitions.MigrationPlanBuilder
setVariables(Map<String,?> variables)
MigrationInstructionBuilder
updateEventTrigger()
If the current instruction maps between event-receiving flow nodes that rely on a persistent event trigger, this method can be used to determine whether the event trigger should be updated during migrationMigrationInstructionsBuilder
updateEventTriggers()
Toggle whether the instructions should include updating of the respective event triggers where appropriate.
-
-
-
Field Detail
-
commandExecutor
protected CommandExecutor commandExecutor
-
sourceProcessDefinitionId
protected String sourceProcessDefinitionId
-
targetProcessDefinitionId
protected String targetProcessDefinitionId
-
explicitMigrationInstructions
protected List<MigrationInstructionImpl> explicitMigrationInstructions
-
mapEqualActivities
protected boolean mapEqualActivities
-
updateEventTriggersForGeneratedInstructions
protected boolean updateEventTriggersForGeneratedInstructions
-
variables
protected VariableMap variables
-
-
Constructor Detail
-
MigrationPlanBuilderImpl
public MigrationPlanBuilderImpl(CommandExecutor commandExecutor, String sourceProcessDefinitionId, String targetProcessDefinitionId)
-
-
Method Detail
-
mapEqualActivities
public MigrationInstructionsBuilder mapEqualActivities()
Description copied from interface:MigrationPlanBuilder
Automatically adds a set of instructions for activities that are equivalent in both process definitions. By default, this is given if two activities are both user tasks, are on the same level of sub process, and have the same id.- Specified by:
mapEqualActivities
in interfaceMigrationPlanBuilder
-
setVariables
public MigrationPlanBuilder setVariables(Map<String,?> variables)
- Specified by:
setVariables
in interfaceMigrationPlanBuilder
- Parameters:
variables
- which will be set into the process instance scope after the migration
-
mapActivities
public MigrationInstructionBuilder mapActivities(String sourceActivityId, String targetActivityId)
Description copied from interface:MigrationPlanBuilder
Adds a migration instruction that maps activity instances of the source activity (of the source process definition) to activity instances of the target activity (of the target process definition)- Specified by:
mapActivities
in interfaceMigrationPlanBuilder
-
updateEventTrigger
public MigrationInstructionBuilder updateEventTrigger()
Description copied from interface:MigrationInstructionBuilder
If the current instruction maps between event-receiving flow nodes that rely on a persistent event trigger, this method can be used to determine whether the event trigger should be updated during migration
For example, when mapping a message catch event waiting for message A to another message catch waiting for message B, using this option updates the message trigger to B during migration. That means, after migration this process instance can be correlated to using B. If this option is not used, then the message trigger is not updated and A is the message to be received after migration.
Event-receiving flow nodes are:
- intermediate events (signal, message, timer)
- boundary events (signal, message, timer)
- start events (signal, message, timer)
- receive tasks
For other flow nodes, this option must not be used and if so, results in a validation exception when the plan is created
- Specified by:
updateEventTrigger
in interfaceMigrationInstructionBuilder
- Returns:
- this builder
-
updateEventTriggers
public MigrationInstructionsBuilder updateEventTriggers()
Description copied from interface:MigrationInstructionsBuilder
Toggle whether the instructions should include updating of the respective event triggers where appropriate. SeeMigrationInstructionBuilder.updateEventTrigger()
for details what updating the event trigger means for a single instruction.- Specified by:
updateEventTriggers
in interfaceMigrationInstructionsBuilder
- Returns:
- this builder
-
getSourceProcessDefinitionId
public String getSourceProcessDefinitionId()
-
getTargetProcessDefinitionId
public String getTargetProcessDefinitionId()
-
isMapEqualActivities
public boolean isMapEqualActivities()
-
getVariables
public VariableMap getVariables()
-
isUpdateEventTriggersForGeneratedInstructions
public boolean isUpdateEventTriggersForGeneratedInstructions()
-
getExplicitMigrationInstructions
public List<MigrationInstructionImpl> getExplicitMigrationInstructions()
-
build
public MigrationPlan build()
- Specified by:
build
in interfaceMigrationPlanBuilder
- Returns:
- a migration plan with all previously specified instructions
-
-