public static MigrationInstructionDto from(MigrationInstruction migrationInstruction) { if (migrationInstruction != null) { MigrationInstructionDto dto = new MigrationInstructionDto(); dto.setSourceActivityIds(Collections.singletonList(migrationInstruction.getSourceActivityId())); dto.setTargetActivityIds(Collections.singletonList(migrationInstruction.getTargetActivityId())); dto.setUpdateEventTrigger(migrationInstruction.isUpdateEventTrigger()); return dto; } else { return null; } }
@Test public void validateMigrationPlanValidationException() { MigrationInstruction migrationInstruction = mock(MigrationInstruction.class); when(migrationInstruction.getSourceActivityId()).thenReturn(EXAMPLE_ACTIVITY_ID); when(migrationInstruction.getTargetActivityId()).thenReturn(ANOTHER_EXAMPLE_ACTIVITY_ID);
public ActivityImpl getTargetActivity(MigrationInstruction instruction) { if (instruction != null) { return targetProcessDefinition.findActivity(instruction.getTargetActivityId()); } else { return null; } }
@Override public void handle(MigratingInstanceParseContext parseContext, MigratingActivityInstance owningInstance, List<EventSubscriptionEntity> elements) { Map<String, EventSubscriptionDeclaration> targetDeclarations = getDeclarationsByTriggeringActivity(owningInstance.getTargetScope()); for (EventSubscriptionEntity eventSubscription : elements) { if (!getSupportedEventTypes().contains(eventSubscription.getEventType())) { // ignore unsupported event subscriptions continue; } MigrationInstruction migrationInstruction = parseContext.findSingleMigrationInstruction(eventSubscription.getActivityId()); ActivityImpl targetActivity = parseContext.getTargetActivity(migrationInstruction); if (targetActivity != null && owningInstance.migratesTo(targetActivity.getEventScope())) { // the event subscription is migrated EventSubscriptionDeclaration targetDeclaration = targetDeclarations.remove(targetActivity.getId()); owningInstance.addMigratingDependentInstance( new MigratingEventSubscriptionInstance(eventSubscription, targetActivity, migrationInstruction.isUpdateEventTrigger(), targetDeclaration)); } else { // the event subscription will be removed owningInstance.addRemovingDependentInstance(new MigratingEventSubscriptionInstance(eventSubscription)); } parseContext.consume(eventSubscription); } if (owningInstance.migrates()) { addEmergingEventSubscriptions(owningInstance, targetDeclarations); } }
protected Map<String, List<MigrationInstruction>> organizeInstructionsBySourceScope(MigrationPlan migrationPlan) { Map<String, List<MigrationInstruction>> organizedInstructions = new HashMap<String, List<MigrationInstruction>>(); for (MigrationInstruction instruction : migrationPlan.getInstructions()) { CollectionUtil.addToMapOfLists(organizedInstructions, instruction.getSourceActivityId(), instruction); } return organizedInstructions; }
when(migrationInstruction.getSourceActivityId()).thenReturn(EXAMPLE_ACTIVITY_ID); when(migrationInstruction.getTargetActivityId()).thenReturn(ANOTHER_EXAMPLE_ACTIVITY_ID);
public ActivityImpl getTargetActivity(MigrationInstruction instruction) { if (instruction != null) { return targetProcessDefinition.findActivity(instruction.getTargetActivityId()); } else { return null; } }
@Override public void handle(MigratingInstanceParseContext parseContext, MigratingActivityInstance owningInstance, List<EventSubscriptionEntity> elements) { Map<String, EventSubscriptionDeclaration> targetDeclarations = getDeclarationsByTriggeringActivity(owningInstance.getTargetScope()); for (EventSubscriptionEntity eventSubscription : elements) { if (!getSupportedEventTypes().contains(eventSubscription.getEventType())) { // ignore unsupported event subscriptions continue; } MigrationInstruction migrationInstruction = parseContext.findSingleMigrationInstruction(eventSubscription.getActivityId()); ActivityImpl targetActivity = parseContext.getTargetActivity(migrationInstruction); if (targetActivity != null && owningInstance.migratesTo(targetActivity.getEventScope())) { // the event subscription is migrated EventSubscriptionDeclaration targetDeclaration = targetDeclarations.remove(targetActivity.getId()); owningInstance.addMigratingDependentInstance( new MigratingEventSubscriptionInstance(eventSubscription, targetActivity, migrationInstruction.isUpdateEventTrigger(), targetDeclaration)); } else { // the event subscription will be removed owningInstance.addRemovingDependentInstance(new MigratingEventSubscriptionInstance(eventSubscription)); } parseContext.consume(eventSubscription); } if (owningInstance.migrates()) { addEmergingEventSubscriptions(owningInstance, targetDeclarations); } }
protected Map<String, List<MigrationInstruction>> organizeInstructionsBySourceScope(MigrationPlan migrationPlan) { Map<String, List<MigrationInstruction>> organizedInstructions = new HashMap<String, List<MigrationInstruction>>(); for (MigrationInstruction instruction : migrationPlan.getInstructions()) { CollectionUtil.addToMapOfLists(organizedInstructions, instruction.getSourceActivityId(), instruction); } return organizedInstructions; }
public static MigrationInstructionDto from(MigrationInstruction migrationInstruction) { if (migrationInstruction != null) { MigrationInstructionDto dto = new MigrationInstructionDto(); dto.setSourceActivityIds(Collections.singletonList(migrationInstruction.getSourceActivityId())); dto.setTargetActivityIds(Collections.singletonList(migrationInstruction.getTargetActivityId())); dto.setUpdateEventTrigger(migrationInstruction.isUpdateEventTrigger()); return dto; } else { return null; } }
when(migrationInstruction.getSourceActivityId()).thenReturn(EXAMPLE_ACTIVITY_ID); when(migrationInstruction.getTargetActivityId()).thenReturn(ANOTHER_EXAMPLE_ACTIVITY_ID);
public ActivityImpl getTargetActivity(MigrationInstruction instruction) { if (instruction != null) { return targetProcessDefinition.findActivity(instruction.getTargetActivityId()); } else { return null; } }
targetJobDefinitionEntity, targetActivity, migrationInstruction.isUpdateEventTrigger(), targetTimerDeclaration); activityInstance.addMigratingDependentInstance(migratingTimerJobInstance);
public MigrationPlanValidationReportAssert hasInstructionFailures(String activityId, String... expectedFailures) { isNotNull(); List<String> failuresFound = new ArrayList<String>(); for (MigrationInstructionValidationReport instructionReport : actual.getInstructionReports()) { String sourceActivityId = instructionReport.getMigrationInstruction().getSourceActivityId(); if ((activityId == null && sourceActivityId == null) || (activityId != null && activityId.equals(sourceActivityId))) { failuresFound.addAll(instructionReport.getFailures()); } } Collection<Matcher<? super String>> matchers = new ArrayList<Matcher<? super String>>(); for (String expectedFailure : expectedFailures) { matchers.add(Matchers.containsString(expectedFailure)); } Assert.assertThat("Expected failures for activity id '" + activityId + "':\n" + joinFailures(expectedFailures) + "But found failures:\n" + joinFailures(failuresFound.toArray()), failuresFound, Matchers.containsInAnyOrder(matchers)); return this; }
public JsonObject toJsonObject(MigrationInstruction instruction) { JsonObject json = JsonUtil.createObject(); JsonUtil.addArrayField(json, SOURCE_ACTIVITY_IDS, new String[]{instruction.getSourceActivityId()}); JsonUtil.addArrayField(json, TARGET_ACTIVITY_IDS, new String[]{instruction.getTargetActivityId()}); JsonUtil.addField(json, UPDATE_EVENT_TRIGGER, instruction.isUpdateEventTrigger()); return json; }
when(migrationInstruction.getSourceActivityId()).thenReturn(EXAMPLE_ACTIVITY_ID); when(migrationInstruction.getTargetActivityId()).thenReturn(ANOTHER_EXAMPLE_ACTIVITY_ID);
String activityId = applyingInstruction.getTargetActivityId(); targetScope = parseContext.getTargetProcessDefinition().findActivity(activityId);
targetJobDefinitionEntity, targetActivity, migrationInstruction.isUpdateEventTrigger(), targetTimerDeclaration); activityInstance.addMigratingDependentInstance(migratingTimerJobInstance);
protected Map<String, List<MigrationInstruction>> organizeInstructionsBySourceScope(MigrationPlan migrationPlan) { Map<String, List<MigrationInstruction>> organizedInstructions = new HashMap<String, List<MigrationInstruction>>(); for (MigrationInstruction instruction : migrationPlan.getInstructions()) { CollectionUtil.addToMapOfLists(organizedInstructions, instruction.getSourceActivityId(), instruction); } return organizedInstructions; }
public JsonObject toJsonObject(MigrationInstruction instruction) { JsonObject json = JsonUtil.createObject(); JsonUtil.addArrayField(json, SOURCE_ACTIVITY_IDS, new String[]{instruction.getSourceActivityId()}); JsonUtil.addArrayField(json, TARGET_ACTIVITY_IDS, new String[]{instruction.getTargetActivityId()}); JsonUtil.addField(json, UPDATE_EVENT_TRIGGER, instruction.isUpdateEventTrigger()); return json; }