@Override public ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, String caseInstanceId) { return createProcessInstanceById(processDefinitionId) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .execute(); }
@Override public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, String caseInstanceId) { return createProcessInstanceByKey(processDefinitionKey) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .execute(); }
@Override public ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, String caseInstanceId) { return createProcessInstanceById(processDefinitionId) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .execute(); }
@Override public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, String caseInstanceId) { return createProcessInstanceByKey(processDefinitionKey) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .execute(); }
@Override public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, String caseInstanceId, Map<String, Object> variables) { return createProcessInstanceByKey(processDefinitionKey) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .setVariables(variables) .execute(); }
@Override public ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, String caseInstanceId, Map<String, Object> variables) { return createProcessInstanceById(processDefinitionId) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .setVariables(variables) .execute(); }
@Override public ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, String caseInstanceId, Map<String, Object> variables) { return createProcessInstanceByKey(processDefinitionKey) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .setVariables(variables) .execute(); }
@Override public ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, String caseInstanceId, Map<String, Object> variables) { return createProcessInstanceById(processDefinitionId) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .setVariables(variables) .execute(); }
@SuppressWarnings("unchecked") protected ProcessInstantiationBuilder setUpMockInstantiationBuilder() { ProcessInstanceWithVariables resultInstanceWithVariables = MockProvider.createMockInstanceWithVariables(); ProcessInstantiationBuilder mockInstantiationBuilder = mock(ProcessInstantiationBuilder.class); when(mockInstantiationBuilder.startAfterActivity(anyString())).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.startBeforeActivity(anyString())).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.startTransition(anyString())).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.setVariables(any(Map.class))).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.setVariablesLocal(any(Map.class))).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.businessKey(anyString())).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.caseInstanceId(anyString())).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.execute(anyBoolean(), anyBoolean())).thenReturn(resultInstanceWithVariables); when(mockInstantiationBuilder.executeWithVariablesInReturn(anyBoolean(), anyBoolean())).thenReturn(resultInstanceWithVariables); return mockInstantiationBuilder; }
@Before public void setUpHttpClientAndRuntimeData() { client = HttpClients.createDefault(); reqConfig = RequestConfig.custom().setConnectTimeout(3 * 60 * 1000).setSocketTimeout(10 * 60 * 1000).build(); ProcessDefinition mockDefinition = MockProvider.createMockDefinition(); runtimeServiceMock = mock(RuntimeService.class); when(processEngine.getRuntimeService()).thenReturn(runtimeServiceMock); mockInstantiationBuilder = mock(ProcessInstantiationBuilder.class); when(mockInstantiationBuilder.setVariables(any(Map.class))).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.businessKey(anyString())).thenReturn(mockInstantiationBuilder); when(mockInstantiationBuilder.caseInstanceId(anyString())).thenReturn(mockInstantiationBuilder); when(runtimeServiceMock.createProcessInstanceById(anyString())).thenReturn(mockInstantiationBuilder); ProcessInstanceWithVariables resultInstanceWithVariables = MockProvider.createMockInstanceWithVariables(); when(mockInstantiationBuilder.executeWithVariablesInReturn(anyBoolean(), anyBoolean())).thenReturn(resultInstanceWithVariables); ProcessDefinitionQuery processDefinitionQueryMock = mock(ProcessDefinitionQuery.class); when(processDefinitionQueryMock.processDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY)).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.withoutTenantId()).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.latestVersion()).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.singleResult()).thenReturn(mockDefinition); RepositoryService repositoryServiceMock = mock(RepositoryService.class); when(processEngine.getRepositoryService()).thenReturn(repositoryServiceMock); when(repositoryServiceMock.createProcessDefinitionQuery()).thenReturn(processDefinitionQueryMock); }
public void testStartProcessInstanceAndSetCaseInstanceId() { runtimeService.createProcessInstanceByKey(PROCESS_DEFINITION_KEY).caseInstanceId("caseInstanceId").execute(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); assertThat(processInstance, is(notNullValue())); assertThat(processInstance.getCaseInstanceId(), is("caseInstanceId")); }
@Test public void testProcessInstantiationWithCaseInstanceId() throws IOException { Map<String, Object> json = new HashMap<String, Object>(); json.put("caseInstanceId", "myCaseInstanceId"); given().pathParam("id", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID) .contentType(POST_JSON_CONTENT_TYPE).body(json) .then().expect() .statusCode(Status.OK.getStatusCode()) .body("id", equalTo(MockProvider.EXAMPLE_PROCESS_INSTANCE_ID)) .when().post(START_PROCESS_INSTANCE_URL); verify(runtimeServiceMock).createProcessInstanceById(eq(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID)); verify(mockInstantiationBuilder).caseInstanceId("myCaseInstanceId"); verify(mockInstantiationBuilder).executeWithVariablesInReturn(anyBoolean(), anyBoolean()); }
@Test public void testProcessInstantiationWithCaseInstanceIdAndBusinessKey() throws IOException { Map<String, Object> json = new HashMap<String, Object>(); json.put("caseInstanceId", "myCaseInstanceId"); json.put("businessKey", "myBusinessKey"); given().pathParam("id", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID) .contentType(POST_JSON_CONTENT_TYPE).body(json) .then().expect() .statusCode(Status.OK.getStatusCode()) .body("id", equalTo(MockProvider.EXAMPLE_PROCESS_INSTANCE_ID)) .when().post(START_PROCESS_INSTANCE_URL); verify(runtimeServiceMock).createProcessInstanceById(eq(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID)); verify(mockInstantiationBuilder).businessKey("myBusinessKey"); verify(mockInstantiationBuilder).caseInstanceId("myCaseInstanceId"); verify(mockInstantiationBuilder).executeWithVariablesInReturn(anyBoolean(), anyBoolean()); }
@Test public void testProcessInstantiationWithCaseInstanceIdAndBusinessKeyAndParameters() throws IOException { Map<String, Object> json = new HashMap<String, Object>(); json.put("caseInstanceId", "myCaseInstanceId"); json.put("businessKey", "myBusinessKey"); Map<String, Object> parameters = VariablesBuilder.create() .variable("aBoolean", Boolean.TRUE) .variable("aString", "aStringVariableValue") .variable("anInteger", 42).getVariables(); json.put("variables", parameters); given().pathParam("id", MockProvider.EXAMPLE_PROCESS_DEFINITION_ID) .contentType(POST_JSON_CONTENT_TYPE).body(json) .then().expect() .statusCode(Status.OK.getStatusCode()) .body("id", equalTo(MockProvider.EXAMPLE_PROCESS_INSTANCE_ID)) .when().post(START_PROCESS_INSTANCE_URL); Map<String, Object> expectedParameters = new HashMap<String, Object>(); expectedParameters.put("aBoolean", Boolean.TRUE); expectedParameters.put("aString", "aStringVariableValue"); expectedParameters.put("anInteger", 42); verify(runtimeServiceMock).createProcessInstanceById(eq(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID)); verify(mockInstantiationBuilder).businessKey("myBusinessKey"); verify(mockInstantiationBuilder).caseInstanceId("myCaseInstanceId"); verify(mockInstantiationBuilder).setVariables(argThat(new EqualsMap(expectedParameters))); verify(mockInstantiationBuilder).executeWithVariablesInReturn(anyBoolean(), anyBoolean()); }
protected ProcessInstanceWithVariables startProcessInstanceAtActivities(StartProcessInstanceDto dto) { Map<String, Object> processInstanceVariables = VariableValueDto.toMap(dto.getVariables(), engine, objectMapper); String businessKey = dto.getBusinessKey(); String caseInstanceId = dto.getCaseInstanceId(); ProcessInstantiationBuilder instantiationBuilder = engine.getRuntimeService() .createProcessInstanceById(processDefinitionId) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .setVariables(processInstanceVariables); if (dto.getStartInstructions() != null && !dto.getStartInstructions().isEmpty()) { for (ProcessInstanceModificationInstructionDto instruction : dto.getStartInstructions()) { instruction.applyTo(instantiationBuilder, engine, objectMapper); } } return instantiationBuilder.executeWithVariablesInReturn(dto.isSkipCustomListeners(), dto.isSkipIoMappings()); }
protected ProcessInstanceWithVariables startProcessInstanceAtActivities(StartProcessInstanceDto dto) { Map<String, Object> processInstanceVariables = VariableValueDto.toMap(dto.getVariables(), engine, objectMapper); String businessKey = dto.getBusinessKey(); String caseInstanceId = dto.getCaseInstanceId(); ProcessInstantiationBuilder instantiationBuilder = engine.getRuntimeService() .createProcessInstanceById(processDefinitionId) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .setVariables(processInstanceVariables); if (dto.getStartInstructions() != null && !dto.getStartInstructions().isEmpty()) { for (ProcessInstanceModificationInstructionDto instruction : dto.getStartInstructions()) { instruction.applyTo(instantiationBuilder, engine, objectMapper); } } return instantiationBuilder.executeWithVariablesInReturn(dto.isSkipCustomListeners(), dto.isSkipIoMappings()); }
@Deployment(resources = EXCLUSIVE_GATEWAY_PROCESS) public void testSingleActivityInstantiationSetCaseInstanceId() { // when ProcessInstance instance = runtimeService .createProcessInstanceByKey("exclusiveGateway") .caseInstanceId("caseInstanceId") .startBeforeActivity("task1") .execute(); // then assertNotNull(instance); assertEquals("caseInstanceId", instance.getCaseInstanceId()); }
inOrder.verify(mockInstantiationBuilder).caseInstanceId("aCaseInstanceId"); inOrder.verify(mockInstantiationBuilder).setVariables(argThat(EqualsVariableMap.matches() .matcher("processVariable", EqualsPrimitiveValue.stringValue("aString"))));
inOrder.verify(mockInstantiationBuilder).caseInstanceId("aCaseInstanceId"); inOrder.verify(mockInstantiationBuilder).setVariables(argThat(EqualsVariableMap.matches() .matcher("processVariable", EqualsPrimitiveValue.stringValue("aString"))));
@Override public ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, String caseInstanceId) { return createProcessInstanceById(processDefinitionId) .businessKey(businessKey) .caseInstanceId(caseInstanceId) .execute(); }