Search in sources :

Example 6 with MigratingActivityInstance

use of org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance in project camunda-bpm-platform by camunda.

the class MigrateProcessInstanceCmd method validateInstructions.

protected void validateInstructions(CommandContext commandContext, MigratingProcessInstance migratingProcessInstance, MigratingProcessInstanceValidationReportImpl processInstanceReport) {
    List<MigratingActivityInstanceValidator> migratingActivityInstanceValidators = commandContext.getProcessEngineConfiguration().getMigratingActivityInstanceValidators();
    List<MigratingTransitionInstanceValidator> migratingTransitionInstanceValidators = commandContext.getProcessEngineConfiguration().getMigratingTransitionInstanceValidators();
    List<MigratingCompensationInstanceValidator> migratingCompensationInstanceValidators = commandContext.getProcessEngineConfiguration().getMigratingCompensationInstanceValidators();
    Map<MigratingActivityInstance, MigratingActivityInstanceValidationReportImpl> instanceReports = new HashMap<MigratingActivityInstance, MigratingActivityInstanceValidationReportImpl>();
    for (MigratingActivityInstance migratingActivityInstance : migratingProcessInstance.getMigratingActivityInstances()) {
        MigratingActivityInstanceValidationReportImpl instanceReport = validateActivityInstance(migratingActivityInstance, migratingProcessInstance, migratingActivityInstanceValidators);
        instanceReports.put(migratingActivityInstance, instanceReport);
    }
    for (MigratingEventScopeInstance migratingEventScopeInstance : migratingProcessInstance.getMigratingEventScopeInstances()) {
        MigratingActivityInstance ancestorInstance = migratingEventScopeInstance.getClosestAncestorActivityInstance();
        validateEventScopeInstance(migratingEventScopeInstance, migratingProcessInstance, migratingCompensationInstanceValidators, instanceReports.get(ancestorInstance));
    }
    for (MigratingCompensationEventSubscriptionInstance migratingEventSubscriptionInstance : migratingProcessInstance.getMigratingCompensationSubscriptionInstances()) {
        MigratingActivityInstance ancestorInstance = migratingEventSubscriptionInstance.getClosestAncestorActivityInstance();
        validateCompensateSubscriptionInstance(migratingEventSubscriptionInstance, migratingProcessInstance, migratingCompensationInstanceValidators, instanceReports.get(ancestorInstance));
    }
    for (MigratingActivityInstanceValidationReportImpl instanceReport : instanceReports.values()) {
        if (instanceReport.hasFailures()) {
            processInstanceReport.addActivityInstanceReport(instanceReport);
        }
    }
    for (MigratingTransitionInstance migratingTransitionInstance : migratingProcessInstance.getMigratingTransitionInstances()) {
        MigratingTransitionInstanceValidationReportImpl instanceReport = validateTransitionInstance(migratingTransitionInstance, migratingProcessInstance, migratingTransitionInstanceValidators);
        if (instanceReport.hasFailures()) {
            processInstanceReport.addTransitionInstanceReport(instanceReport);
        }
    }
}
Also used : MigratingTransitionInstanceValidator(org.camunda.bpm.engine.impl.migration.validation.instance.MigratingTransitionInstanceValidator) MigratingCompensationEventSubscriptionInstance(org.camunda.bpm.engine.impl.migration.instance.MigratingCompensationEventSubscriptionInstance) MigratingActivityInstanceValidationReportImpl(org.camunda.bpm.engine.impl.migration.validation.instance.MigratingActivityInstanceValidationReportImpl) HashMap(java.util.HashMap) MigratingActivityInstance(org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance) MigratingEventScopeInstance(org.camunda.bpm.engine.impl.migration.instance.MigratingEventScopeInstance) MigratingTransitionInstanceValidationReportImpl(org.camunda.bpm.engine.impl.migration.validation.instance.MigratingTransitionInstanceValidationReportImpl) MigratingTransitionInstance(org.camunda.bpm.engine.impl.migration.instance.MigratingTransitionInstance) MigratingCompensationInstanceValidator(org.camunda.bpm.engine.impl.migration.validation.instance.MigratingCompensationInstanceValidator) MigratingActivityInstanceValidator(org.camunda.bpm.engine.impl.migration.validation.instance.MigratingActivityInstanceValidator)

Example 7 with MigratingActivityInstance

use of org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance in project camunda-bpm-platform by camunda.

the class MigrateProcessInstanceCmd method migrateProcessInstance.

/**
 * Migrate activity instances to their new activities and process definition. Creates new
 * scope instances as necessary.
 */
protected void migrateProcessInstance(MigratingProcessInstance migratingProcessInstance) {
    MigratingActivityInstance rootActivityInstance = migratingProcessInstance.getRootInstance();
    MigratingProcessElementInstanceTopDownWalker walker = new MigratingProcessElementInstanceTopDownWalker(rootActivityInstance);
    walker.addPreVisitor(new MigratingActivityInstanceVisitor(executionBuilder.isSkipCustomListeners(), executionBuilder.isSkipIoMappings()));
    walker.addPreVisitor(new MigrationCompensationInstanceVisitor());
    walker.walkUntil();
}
Also used : MigrationCompensationInstanceVisitor(org.camunda.bpm.engine.impl.migration.instance.MigrationCompensationInstanceVisitor) MigratingActivityInstance(org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance) MigratingActivityInstanceVisitor(org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstanceVisitor) MigratingProcessElementInstanceTopDownWalker(org.camunda.bpm.engine.impl.migration.instance.MigratingProcessElementInstanceTopDownWalker)

Aggregations

MigratingActivityInstance (org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstance)7 ExecutionEntity (org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity)4 MigratingTransitionInstance (org.camunda.bpm.engine.impl.migration.instance.MigratingTransitionInstance)2 ScopeImpl (org.camunda.bpm.engine.impl.pvm.process.ScopeImpl)2 MigrationInstruction (org.camunda.bpm.engine.migration.MigrationInstruction)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 CaseExecutionEntity (org.camunda.bpm.engine.impl.cmmn.entity.runtime.CaseExecutionEntity)1 MigratingActivityInstanceVisitor (org.camunda.bpm.engine.impl.migration.instance.MigratingActivityInstanceVisitor)1 MigratingCompensationEventSubscriptionInstance (org.camunda.bpm.engine.impl.migration.instance.MigratingCompensationEventSubscriptionInstance)1 MigratingEventScopeInstance (org.camunda.bpm.engine.impl.migration.instance.MigratingEventScopeInstance)1 MigratingIncident (org.camunda.bpm.engine.impl.migration.instance.MigratingIncident)1 MigratingProcessElementInstanceTopDownWalker (org.camunda.bpm.engine.impl.migration.instance.MigratingProcessElementInstanceTopDownWalker)1 MigrationCompensationInstanceVisitor (org.camunda.bpm.engine.impl.migration.instance.MigrationCompensationInstanceVisitor)1 MigratingActivityInstanceValidationReportImpl (org.camunda.bpm.engine.impl.migration.validation.instance.MigratingActivityInstanceValidationReportImpl)1 MigratingActivityInstanceValidator (org.camunda.bpm.engine.impl.migration.validation.instance.MigratingActivityInstanceValidator)1 MigratingCompensationInstanceValidator (org.camunda.bpm.engine.impl.migration.validation.instance.MigratingCompensationInstanceValidator)1 MigratingTransitionInstanceValidationReportImpl (org.camunda.bpm.engine.impl.migration.validation.instance.MigratingTransitionInstanceValidationReportImpl)1 MigratingTransitionInstanceValidator (org.camunda.bpm.engine.impl.migration.validation.instance.MigratingTransitionInstanceValidator)1 EventSubscriptionEntity (org.camunda.bpm.engine.impl.persistence.entity.EventSubscriptionEntity)1