Class MigrationPlanBuilderImpl
- All Implemented Interfaces:
MigrationInstructionBuilder
,MigrationInstructionsBuilder
,MigrationPlanBuilder
- Author:
- Thorben Lindhauer
-
Field Summary
Modifier and TypeFieldDescriptionprotected CommandExecutor
protected List<MigrationInstructionImpl>
protected boolean
protected String
protected String
protected boolean
protected VariableMap
-
Constructor Summary
ConstructorDescriptionMigrationPlanBuilderImpl
(CommandExecutor commandExecutor, String sourceProcessDefinitionId, String targetProcessDefinitionId) -
Method Summary
Modifier and TypeMethodDescriptionbuild()
boolean
boolean
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)Automatically adds a set of instructions for activities that are equivalent in both process definitions.setVariables
(Map<String, ?> variables) 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 migrationToggle whether the instructions should include updating of the respective event triggers where appropriate.
-
Field Details
-
commandExecutor
-
sourceProcessDefinitionId
-
targetProcessDefinitionId
-
explicitMigrationInstructions
-
mapEqualActivities
protected boolean mapEqualActivities -
updateEventTriggersForGeneratedInstructions
protected boolean updateEventTriggersForGeneratedInstructions -
variables
-
-
Constructor Details
-
MigrationPlanBuilderImpl
public MigrationPlanBuilderImpl(CommandExecutor commandExecutor, String sourceProcessDefinitionId, String targetProcessDefinitionId)
-
-
Method Details
-
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
- Specified by:
setVariables
in interfaceMigrationPlanBuilder
- Parameters:
variables
- which will be set into the process instance scope after the migration
-
mapActivities
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
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
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
-
getTargetProcessDefinitionId
-
isMapEqualActivities
public boolean isMapEqualActivities() -
getVariables
-
isUpdateEventTriggersForGeneratedInstructions
public boolean isUpdateEventTriggersForGeneratedInstructions() -
getExplicitMigrationInstructions
-
build
- Specified by:
build
in interfaceMigrationPlanBuilder
- Returns:
- a migration plan with all previously specified instructions
-