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 CommandExecutorcommandExecutorprotected List<MigrationInstructionImpl>explicitMigrationInstructionsprotected booleanmapEqualActivitiesprotected StringsourceProcessDefinitionIdprotected StringtargetProcessDefinitionIdprotected booleanupdateEventTriggersForGeneratedInstructionsprotected VariableMapvariables
-
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 MigrationPlanbuild()List<MigrationInstructionImpl>getExplicitMigrationInstructions()StringgetSourceProcessDefinitionId()StringgetTargetProcessDefinitionId()VariableMapgetVariables()booleanisMapEqualActivities()booleanisUpdateEventTriggersForGeneratedInstructions()MigrationInstructionBuildermapActivities(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)MigrationInstructionsBuildermapEqualActivities()Automatically adds a set of instructions for activities that are equivalent in both process definitions.MigrationPlanBuildersetVariables(Map<String,?> variables)MigrationInstructionBuilderupdateEventTrigger()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 migrationMigrationInstructionsBuilderupdateEventTriggers()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:MigrationPlanBuilderAutomatically 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:
mapEqualActivitiesin interfaceMigrationPlanBuilder
-
setVariables
public MigrationPlanBuilder setVariables(Map<String,?> variables)
- Specified by:
setVariablesin 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:MigrationPlanBuilderAdds 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:
mapActivitiesin interfaceMigrationPlanBuilder
-
updateEventTrigger
public MigrationInstructionBuilder updateEventTrigger()
Description copied from interface:MigrationInstructionBuilderIf 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:
updateEventTriggerin interfaceMigrationInstructionBuilder- Returns:
- this builder
-
updateEventTriggers
public MigrationInstructionsBuilder updateEventTriggers()
Description copied from interface:MigrationInstructionsBuilderToggle 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:
updateEventTriggersin 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:
buildin interfaceMigrationPlanBuilder- Returns:
- a migration plan with all previously specified instructions
-
-