Class GatewayMappingValidator
java.lang.Object
org.camunda.bpm.engine.impl.migration.validation.instruction.GatewayMappingValidator
- All Implemented Interfaces:
MigrationInstructionValidator
For synchronizing gateways (inclusive; parallel), the situation in which more tokens end up at the target gateway than there are incoming sequence flows must be avoided. Else, the migrated process instance may appear as broken to users since the migration logic cannot trigger these gateways immediately.
Such situations can be avoided by enforcing that
- the target gateway has at least the same number of incoming sequence flows
- the target gateway's flow scope is not removed
- there is not more than one instruction that maps to the target gateway
- Author:
- Thorben Lindhauer
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
isWaitStateGateway
(ActivityImpl activity) void
validate
(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report) Check that a migration instruction is valid for a migration plan.protected void
validateIncomingSequenceFlows
(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report) protected void
validateParentScopeMigrates
(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report) protected void
validateSingleInstruction
(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report)
-
Constructor Details
-
GatewayMappingValidator
public GatewayMappingValidator()
-
-
Method Details
-
validate
public void validate(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report) Description copied from interface:MigrationInstructionValidator
Check that a migration instruction is valid for a migration plan. If it is invalid a failure has to added to the validation report.- Specified by:
validate
in interfaceMigrationInstructionValidator
- Parameters:
instruction
- the instruction to validateinstructions
- the complete migration plan to validatereport
- the validation report
-
validateIncomingSequenceFlows
protected void validateIncomingSequenceFlows(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report) -
validateParentScopeMigrates
protected void validateParentScopeMigrates(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report) -
validateSingleInstruction
protected void validateSingleInstruction(ValidatingMigrationInstruction instruction, ValidatingMigrationInstructions instructions, MigrationInstructionValidationReportImpl report) -
isWaitStateGateway
-