Class MigrationPlanBuilderImpl

All Implemented Interfaces:
MigrationInstructionBuilder, MigrationInstructionsBuilder, MigrationPlanBuilder

public class MigrationPlanBuilderImpl extends Object implements MigrationInstructionBuilder, MigrationInstructionsBuilder
Thorben Lindhauer
  • Field Details

    • 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 Details

    • MigrationPlanBuilderImpl

      public MigrationPlanBuilderImpl(CommandExecutor commandExecutor, String sourceProcessDefinitionId, String targetProcessDefinitionId)
  • Method Details

    • 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 interface MigrationPlanBuilder
    • setVariables

      public MigrationPlanBuilder setVariables(Map<String,?> variables)
      Specified by:
      setVariables in interface MigrationPlanBuilder
      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 interface MigrationPlanBuilder
    • 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 interface MigrationInstructionBuilder
      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. See MigrationInstructionBuilder.updateEventTrigger() for details what updating the event trigger means for a single instruction.
      Specified by:
      updateEventTriggers in interface MigrationInstructionsBuilder
      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 interface MigrationPlanBuilder
      a migration plan with all previously specified instructions