org.camunda.bpm.engine.impl.migration
Class MigrationPlanBuilderImpl

java.lang.Object
  extended by 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
protected  CommandExecutor commandExecutor
           
protected  List<MigrationInstructionImpl> explicitMigrationInstructions
           
protected  boolean mapEqualActivities
           
protected  String sourceProcessDefinitionId
           
protected  String targetProcessDefinitionId
           
protected  boolean updateEventTriggersForGeneratedInstructions
           
 
Constructor Summary
MigrationPlanBuilderImpl(CommandExecutor commandExecutor, String sourceProcessDefinitionId, String targetProcessDefinitionId)
           
 
Method Summary
 MigrationPlan build()
           
 List<MigrationInstructionImpl> getExplicitMigrationInstructions()
           
 String getSourceProcessDefinitionId()
           
 String getTargetProcessDefinitionId()
           
 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.
 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 migration
 MigrationInstructionsBuilder updateEventTriggers()
          Toggle whether the instructions should include updating of the respective event triggers where appropriate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

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:

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
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. See MigrationInstructionBuilder.updateEventTrigger() for details what updating the event trigger means for a single instruction.

Specified by:
updateEventTriggers in interface MigrationInstructionsBuilder
Returns:
this builder

getSourceProcessDefinitionId

public String getSourceProcessDefinitionId()

getTargetProcessDefinitionId

public String getTargetProcessDefinitionId()

isMapEqualActivities

public boolean isMapEqualActivities()

isUpdateEventTriggersForGeneratedInstructions

public boolean isUpdateEventTriggersForGeneratedInstructions()

getExplicitMigrationInstructions

public List<MigrationInstructionImpl> getExplicitMigrationInstructions()

build

public MigrationPlan build()
Specified by:
build in interface MigrationPlanBuilder
Returns:
a migration plan with all previously specified instructions


Copyright © 2017 camunda services GmbH. All rights reserved.