public void writeTo(StringBuilder sb) { sb.append("Migration plan for process definition '") .append(migrationPlan.getSourceProcessDefinitionId()) .append("' to '") .append(migrationPlan.getTargetProcessDefinitionId()) .append("' is not valid:\n"); for (MigrationInstructionValidationReport instructionReport : instructionReports) { sb.append("\t Migration instruction ").append(instructionReport.getMigrationInstruction()).append(" is not valid:\n"); for (String failure : instructionReport.getFailures()) { sb.append("\t\t").append(failure).append("\n"); } } }
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 ActivityImpl getTargetActivity(MigrationInstruction instruction) { if (instruction != null) { return targetProcessDefinition.findActivity(instruction.getTargetActivityId()); } else { return null; } }
public Batch migrateProcessInstancesAsync(int numberOfProcessInstances, ProcessDefinition sourceProcessDefinition, ProcessDefinition targetProcessDefinition) { RuntimeService runtimeService = engineRule.getRuntimeService(); List<String> processInstanceIds = new ArrayList<String>(numberOfProcessInstances); for (int i = 0; i < numberOfProcessInstances; i++) { processInstanceIds.add( runtimeService.startProcessInstanceById(sourceProcessDefinition.getId()).getId()); } MigrationPlan migrationPlan = engineRule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); return runtimeService.newMigration(migrationPlan).processInstanceIds(processInstanceIds).executeAsync(); }
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; }
public JsonObject toJsonObject(MigrationPlan migrationPlan) { JsonObject json = JsonUtil.createObject(); JsonUtil.addField(json, SOURCE_PROCESS_DEFINITION_ID, migrationPlan.getSourceProcessDefinitionId()); JsonUtil.addField(json, TARGET_PROCESS_DEFINITION_ID, migrationPlan.getTargetProcessDefinitionId()); JsonUtil.addListField(json, INSTRUCTIONS, MigrationInstructionJsonConverter.INSTANCE, migrationPlan.getInstructions()); return json; }
public static MigratingActivityInstanceValidationReportDto from(MigratingActivityInstanceValidationReport report) { MigratingActivityInstanceValidationReportDto dto = new MigratingActivityInstanceValidationReportDto(); dto.setMigrationInstruction(MigrationInstructionDto.from(report.getMigrationInstruction())); dto.setActivityInstanceId(report.getActivityInstanceId()); dto.setFailures(report.getFailures()); dto.setSourceScopeId(report.getSourceScopeId()); return dto; }
public MigratingProcessInstanceValidationReportAssert hasActivityInstanceFailures(String sourceScopeId, String... expectedFailures) { isNotNull(); MigratingActivityInstanceValidationReport actualReport = null; for (MigratingActivityInstanceValidationReport instanceReport : actual.getActivityInstanceReports()) { if (sourceScopeId.equals(instanceReport.getSourceScopeId())) { actualReport = instanceReport; break; } } assertNotNull("No validation report found for source scope: " + sourceScopeId, actualReport); assertFailures(sourceScopeId, Arrays.asList(expectedFailures), actualReport.getFailures()); return this; }
public MigratingProcessInstanceValidationReportAssert hasTransitionInstanceFailures(String sourceScopeId, String... expectedFailures) { isNotNull(); MigratingTransitionInstanceValidationReport actualReport = null; for (MigratingTransitionInstanceValidationReport instanceReport : actual.getTransitionInstanceReports()) { if (sourceScopeId.equals(instanceReport.getSourceScopeId())) { actualReport = instanceReport; break; } } assertNotNull("No validation report found for source scope: " + sourceScopeId, actualReport); assertFailures(sourceScopeId, Arrays.asList(expectedFailures), actualReport.getFailures()); return this; }
protected ProcessInstance createMigrationPlan() { ProcessDefinition sourceDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); ProcessDefinition targetDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); migrationPlan = engineRule.getRuntimeService().createMigrationPlan(sourceDefinition.getId(), targetDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance pi = engineRule.getRuntimeService().startProcessInstanceById(sourceDefinition.getId()); return pi; } }
public void executeMigrationPlan(MigrationExecutionDto migrationExecution) { createMigrationPlanExecutionBuilder(migrationExecution).execute(); }
protected Batch createFailingMigrationBatch() { BpmnModelInstance instance = createModelInstance(); ProcessDefinition sourceProcessDefinition = migrationRule.deployAndGetDefinition(instance); ProcessDefinition targetProcessDefinition = migrationRule.deployAndGetDefinition(instance); MigrationPlan migrationPlan = runtimeService .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance processInstance = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId()); Batch batch = runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList(processInstance.getId(), "unknownId")).executeAsync(); return batch; }
public void writeTo(StringBuilder sb) { sb.append("Migration plan for process definition '") .append(migrationPlan.getSourceProcessDefinitionId()) .append("' to '") .append(migrationPlan.getTargetProcessDefinitionId()) .append("' is not valid:\n"); for (MigrationInstructionValidationReport instructionReport : instructionReports) { sb.append("\t Migration instruction ").append(instructionReport.getMigrationInstruction()).append(" is not valid:\n"); for (String failure : instructionReport.getFailures()) { sb.append("\t\t").append(failure).append("\n"); } } }
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; }
public JsonObject toJsonObject(MigrationPlan migrationPlan) { JsonObject json = JsonUtil.createObject(); JsonUtil.addField(json, SOURCE_PROCESS_DEFINITION_ID, migrationPlan.getSourceProcessDefinitionId()); JsonUtil.addField(json, TARGET_PROCESS_DEFINITION_ID, migrationPlan.getTargetProcessDefinitionId()); JsonUtil.addListField(json, INSTRUCTIONS, MigrationInstructionJsonConverter.INSTANCE, migrationPlan.getInstructions()); return json; }
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 ActivityImpl getTargetActivity(MigrationInstruction instruction) { if (instruction != null) { return targetProcessDefinition.findActivity(instruction.getTargetActivityId()); } else { return null; } }
public void executeMigrationPlan(MigrationExecutionDto migrationExecution) { createMigrationPlanExecutionBuilder(migrationExecution).execute(); }
private Batch createFailingMigrationBatch() { BpmnModelInstance instance = createModelInstance(); ProcessDefinition sourceProcessDefinition = migrationRule.deployAndGetDefinition(instance); ProcessDefinition targetProcessDefinition = migrationRule.deployAndGetDefinition(instance); MigrationPlan migrationPlan = runtimeService .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance processInstance = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId()); Batch batch = runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList(processInstance.getId(), "unknownId")).executeAsync(); return batch; }
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; } }