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 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 ProcessDefinitionEntity resolveSourceProcessDefinition(CommandContext commandContext) { String sourceProcessDefinitionId = executionBuilder.getMigrationPlan().getSourceProcessDefinitionId(); ProcessDefinitionEntity sourceProcessDefinition = getProcessDefinition(commandContext, sourceProcessDefinitionId); EnsureUtil.ensureNotNull("sourceProcessDefinition", sourceProcessDefinition); return sourceProcessDefinition; }
protected ProcessDefinitionEntity resolveSourceProcessDefinition(CommandContext commandContext) { String sourceProcessDefinitionId = executionBuilder.getMigrationPlan().getSourceProcessDefinitionId(); ProcessDefinitionEntity sourceProcessDefinition = getProcessDefinition(commandContext, sourceProcessDefinitionId); EnsureUtil.ensureNotNull("sourceProcessDefinition", sourceProcessDefinition); return sourceProcessDefinition; }
public MigrationPlan build() { MigrationPlan migrationPlanMock = mock(MigrationPlan.class); when(migrationPlanMock.getSourceProcessDefinitionId()).thenReturn(sourceProcessDefinitionId); when(migrationPlanMock.getTargetProcessDefinitionId()).thenReturn(targetProcessDefinitionId); when(migrationPlanMock.getInstructions()).thenReturn(instructions); return migrationPlanMock; }
@Override protected void postProcessJob(MigrationBatchConfiguration configuration, JobEntity job) { CommandContext commandContext = Context.getCommandContext(); String sourceProcessDefinitionId = configuration.getMigrationPlan().getSourceProcessDefinitionId(); ProcessDefinitionEntity processDefinition = getProcessDefinition(commandContext, sourceProcessDefinitionId); job.setDeploymentId(processDefinition.getDeploymentId()); }
public static MigrationPlanDto from(MigrationPlan migrationPlan) { MigrationPlanDto dto = new MigrationPlanDto(); dto.setSourceProcessDefinitionId(migrationPlan.getSourceProcessDefinitionId()); dto.setTargetProcessDefinitionId(migrationPlan.getTargetProcessDefinitionId()); ArrayList<MigrationInstructionDto> instructionDtos = new ArrayList<MigrationInstructionDto>(); if (migrationPlan.getInstructions() != null) { for (MigrationInstruction migrationInstruction : migrationPlan.getInstructions()) { MigrationInstructionDto migrationInstructionDto = MigrationInstructionDto.from(migrationInstruction); instructionDtos.add(migrationInstructionDto); } } dto.setInstructions(instructionDtos); return dto; }
@Override protected void postProcessJob(MigrationBatchConfiguration configuration, JobEntity job) { CommandContext commandContext = Context.getCommandContext(); String sourceProcessDefinitionId = configuration.getMigrationPlan().getSourceProcessDefinitionId(); ProcessDefinitionEntity processDefinition = getProcessDefinition(commandContext, sourceProcessDefinitionId); job.setDeploymentId(processDefinition.getDeploymentId()); }
public static MigrationPlanDto from(MigrationPlan migrationPlan) { MigrationPlanDto dto = new MigrationPlanDto(); dto.setSourceProcessDefinitionId(migrationPlan.getSourceProcessDefinitionId()); dto.setTargetProcessDefinitionId(migrationPlan.getTargetProcessDefinitionId()); ArrayList<MigrationInstructionDto> instructionDtos = new ArrayList<MigrationInstructionDto>(); if (migrationPlan.getInstructions() != null) { for (MigrationInstruction migrationInstruction : migrationPlan.getInstructions()) { MigrationInstructionDto migrationInstructionDto = MigrationInstructionDto.from(migrationInstruction); instructionDtos.add(migrationInstructionDto); } } dto.setInstructions(instructionDtos); return dto; }
public MigrationPlanAssert hasSourceProcessDefinitionId(String sourceProcessDefinitionId) { isNotNull(); assertEquals("The source process definition id does not match", sourceProcessDefinitionId, actual.getSourceProcessDefinitionId()); return this; }
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 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 ProcessInstance createProcessInstanceAndMigrate(MigrationPlan migrationPlan) { ProcessInstance processInstance = processEngine.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); migrateProcessInstance(migrationPlan, processInstance); return processInstance; }
public ProcessInstance createProcessInstanceAndMigrate(MigrationPlan migrationPlan, Map<String, Object> variables) { ProcessInstance processInstance = processEngine.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId(), variables); migrateProcessInstance(migrationPlan, processInstance); return processInstance; }
@Test public void testDeleteBatch() { // given ProcessInstance processInstance = engineRule.getRuntimeService().startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); batch = engineRule .getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .executeAsync(); // when authRule .init(scenario) .withUser("userId") .bindResource("batchId", batch.getId()) .start(); engineRule.getHistoryService().deleteHistoricBatch(batch.getId()); // then if (authRule.assertScenario(scenario)) { Assert.assertEquals(0, engineRule.getHistoryService().createHistoricBatchQuery().count()); } }
@Test public void testDeleteBatch() { // given ProcessInstance processInstance = engineRule.getRuntimeService().startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); batch = engineRule .getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .executeAsync(); // when authRule .init(scenario) .withUser("userId") .bindResource("batchId", batch.getId()) .start(); cascade = false; engineRule.getManagementService().deleteBatch(batch.getId(), cascade); // then if (authRule.assertScenario(scenario)) { Assert.assertEquals(0, engineRule.getManagementService().createBatchQuery().count()); } }
@Test public void testSkipIoMappingInvocationForRemovedScope() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(ProcessModels.SUBPROCESS_PROCESS) .activityBuilder("subProcess") .camundaOutputParameter("foo", "bar") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); // when ProcessInstance processInstance = rule.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); rule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .skipIoMappings() .execute(); // then assertEquals(0, rule.getRuntimeService().createVariableInstanceQuery().count()); }
/** * Requires no additional DELETE_HISTORY authorization => consistent with deleteDeployment */ @Test public void testDeleteBatchCascade() { // given ProcessInstance processInstance = engineRule.getRuntimeService().startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); batch = engineRule .getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .executeAsync(); // when authRule .init(scenario) .withUser("userId") .bindResource("batchId", batch.getId()) .start(); cascade = true; engineRule.getManagementService().deleteBatch(batch.getId(), cascade); // then if (authRule.assertScenario(scenario)) { Assert.assertEquals(0, engineRule.getManagementService().createBatchQuery().count()); Assert.assertEquals(0, engineRule.getHistoryService().createHistoricBatchQuery().count()); } } }
@Test public void testMigrateGatewayRemoveIncidentOnMigration() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(EventBasedGatewayModels.TIMER_EVENT_BASED_GW_PROCESS); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(EventBasedGatewayModels.TIMER_EVENT_BASED_GW_PROCESS); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("eventBasedGateway", "eventBasedGateway") .build(); ProcessInstance processInstance = rule.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); Job timerJob = rule.getManagementService().createJobQuery().singleResult(); // create an incident rule.getManagementService().setJobRetries(timerJob.getId(), 0); // when testHelper.migrateProcessInstance(migrationPlan, processInstance); // then the incident is gone Assert.assertEquals(0, rule.getRuntimeService().createIncidentQuery().count()); }
@Test public void testIoMappingInvocationForRemovedScope() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(ProcessModels.SUBPROCESS_PROCESS) .activityBuilder("subProcess") .camundaOutputParameter("foo", "bar") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); // when ProcessInstance processInstance = rule.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); rule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .execute(); // then VariableInstance inputVariable = rule.getRuntimeService().createVariableInstanceQuery().singleResult(); Assert.assertNotNull(inputVariable); assertEquals("foo", inputVariable.getName()); assertEquals("bar", inputVariable.getValue()); assertEquals(processInstance.getId(), inputVariable.getActivityInstanceId()); }