@Override protected void applySortBy(VariableInstanceQuery query, String sortBy, Map<String, Object> parameters, ProcessEngine engine) { if (sortBy.equals(SORT_BY_VARIABLE_NAME_VALUE)) { query.orderByVariableName(); } else if (sortBy.equals(SORT_BY_VARIABLE_TYPE_VALUE)) { query.orderByVariableType(); } else if (sortBy.equals(SORT_BY_ACTIVITY_INSTANCE_ID_VALUE)) { query.orderByActivityInstanceId(); } else if (sortBy.equals(SORT_BY_TENANT_ID)) { query.orderByTenantId(); } }
@Override protected void applySortBy(VariableInstanceQuery query, String sortBy, Map<String, Object> parameters, ProcessEngine engine) { if (sortBy.equals(SORT_BY_VARIABLE_NAME_VALUE)) { query.orderByVariableName(); } else if (sortBy.equals(SORT_BY_VARIABLE_TYPE_VALUE)) { query.orderByVariableType(); } else if (sortBy.equals(SORT_BY_ACTIVITY_INSTANCE_ID_VALUE)) { query.orderByActivityInstanceId(); } else if (sortBy.equals(SORT_BY_TENANT_ID)) { query.orderByTenantId(); } }
@Test public void testSortingParameters() { InOrder inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("variableName", "asc", Status.OK); inOrder.verify(mockedQuery).orderByVariableName(); inOrder.verify(mockedQuery).asc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("variableType", "desc", Status.OK); inOrder.verify(mockedQuery).orderByVariableType(); inOrder.verify(mockedQuery).desc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("activityInstanceId", "asc", Status.OK); inOrder.verify(mockedQuery).orderByActivityInstanceId(); inOrder.verify(mockedQuery).asc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("activityInstanceId", "desc", Status.OK); inOrder.verify(mockedQuery).orderByActivityInstanceId(); inOrder.verify(mockedQuery).desc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("tenantId", "asc", Status.OK); inOrder.verify(mockedQuery).orderByTenantId(); inOrder.verify(mockedQuery).asc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("tenantId", "desc", Status.OK); inOrder.verify(mockedQuery).orderByTenantId(); inOrder.verify(mockedQuery).desc(); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryOrderByName_Asc() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("stringVar", "test"); variables.put("myVar", "test123"); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().orderByVariableName().asc(); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(2, result.size()); VariableInstance first = result.get(0); VariableInstance second = result.get(1); assertEquals("myVar", first.getName()); assertEquals("stringVar", second.getName()); }
@Test public void testSecondarySortingAsPost() { InOrder inOrder = Mockito.inOrder(mockedQuery); Map<String, Object> json = new HashMap<String, Object>(); json.put("sorting", OrderingBuilder.create() .orderBy("variableName").desc() .orderBy("activityInstanceId").asc() .getJson()); given().contentType(POST_JSON_CONTENT_TYPE).body(json) .header("accept", MediaType.APPLICATION_JSON) .then().expect().statusCode(Status.OK.getStatusCode()) .when().post(VARIABLE_INSTANCE_QUERY_URL); inOrder.verify(mockedQuery).orderByVariableName(); inOrder.verify(mockedQuery).desc(); inOrder.verify(mockedQuery).orderByActivityInstanceId(); inOrder.verify(mockedQuery).asc(); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryOrderByName_Desc() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("stringVar", "test"); variables.put("myVar", "test123"); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().orderByVariableName().desc(); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(2, result.size()); VariableInstance first = result.get(0); VariableInstance second = result.get(1); assertEquals("stringVar", first.getName()); assertEquals("string", first.getTypeName()); assertEquals("myVar", second.getName()); assertEquals("string", second.getTypeName()); }
.orderByVariableName() .asc() .list();
@Deployment(resources = SUBPROCESS_PROCESS) public void testSetProcessInstanceVariable() { // when ProcessInstance instance = runtimeService .createProcessInstanceByKey("subprocess") .setVariable("aVariable1", "aValue1") .setVariableLocal("aVariable2", "aValue2") .setVariables(Variables.createVariables().putValue("aVariable3", "aValue3")) .setVariablesLocal(Variables.createVariables().putValue("aVariable4", "aValue4")) .startBeforeActivity("innerTask") .execute(); // then List<VariableInstance> variables = runtimeService.createVariableInstanceQuery() .orderByVariableName().asc().list(); assertEquals(4, variables.size()); assertEquals("aVariable1", variables.get(0).getName()); assertEquals("aValue1", variables.get(0).getValue()); assertEquals(instance.getId(), variables.get(0).getExecutionId()); assertEquals("aVariable2", variables.get(1).getName()); assertEquals("aValue2", variables.get(1).getValue()); assertEquals(instance.getId(), variables.get(1).getExecutionId()); assertEquals("aVariable3", variables.get(2).getName()); assertEquals("aValue3", variables.get(2).getValue()); assertEquals(instance.getId(), variables.get(2).getExecutionId()); assertEquals("aVariable4", variables.get(3).getName()); assertEquals("aValue4", variables.get(3).getValue()); assertEquals(instance.getId(), variables.get(3).getExecutionId()); }
.orderByVariableName() .asc() .list();
@Deployment(resources = IO_PROCESS) public void testIoMappingInvocation() { // when runtimeService .createProcessInstanceByKey("ioProcess") .startBeforeActivity("innerTask") .execute(); // then no io mappings have been executed List<VariableInstance> variables = runtimeService.createVariableInstanceQuery() .orderByVariableName().asc().list(); assertEquals(2, variables.size()); Execution innerTaskExecution = runtimeService.createExecutionQuery().activityId("innerTask").singleResult(); VariableInstance innerTaskVariable = variables.get(0); assertEquals("innerTaskVariable", innerTaskVariable.getName()); assertEquals("innerTaskValue", innerTaskVariable.getValue()); assertEquals(innerTaskExecution.getId(), innerTaskVariable.getExecutionId()); VariableInstance subProcessVariable = variables.get(1); assertEquals("subProcessVariable", subProcessVariable.getName()); assertEquals("subProcessValue", subProcessVariable.getValue()); assertEquals(((ExecutionEntity) innerTaskExecution).getParentId(), subProcessVariable.getExecutionId()); }
@Override protected void applySortBy(VariableInstanceQuery query, String sortBy, Map<String, Object> parameters, ProcessEngine engine) { if (sortBy.equals(SORT_BY_VARIABLE_NAME_VALUE)) { query.orderByVariableName(); } else if (sortBy.equals(SORT_BY_VARIABLE_TYPE_VALUE)) { query.orderByVariableType(); } else if (sortBy.equals(SORT_BY_ACTIVITY_INSTANCE_ID_VALUE)) { query.orderByActivityInstanceId(); } else if (sortBy.equals(SORT_BY_TENANT_ID)) { query.orderByTenantId(); } }
.orderByVariableName() .asc() .list();
.orderByVariableName() .asc() .list();
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testQueryByCaseExecutionIds() { CaseInstance instance1 = caseService .withCaseDefinitionByKey("oneTaskCase") .setVariable("aVariableName", "abc") .create(); CaseInstance instance2 = caseService .withCaseDefinitionByKey("oneTaskCase") .setVariable("anotherVariableName", "xyz") .create(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); query .caseExecutionIdIn(instance1.getId(), instance2.getId()) .orderByVariableName() .asc(); List<VariableInstance> result = query.list(); assertEquals(2, result.size()); for (VariableInstance variableInstance : result) { if (variableInstance.getName().equals("aVariableName")) { assertEquals("aVariableName", variableInstance.getName()); assertEquals("abc", variableInstance.getValue()); } else if (variableInstance.getName().equals("anotherVariableName")) { assertEquals("anotherVariableName", variableInstance.getName()); assertEquals("xyz", variableInstance.getValue()); } else { fail("Unexpected variable: " + variableInstance.getName()); } } }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testQueryByCaseInstanceIds() { CaseInstance instance1 = caseService .withCaseDefinitionByKey("oneTaskCase") .setVariable("aVariableName", "abc") .create(); CaseInstance instance2 = caseService .withCaseDefinitionByKey("oneTaskCase") .setVariable("anotherVariableName", "xyz") .create(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); query .caseInstanceIdIn(instance1.getId(), instance2.getId()) .orderByVariableName() .asc(); List<VariableInstance> result = query.list(); assertEquals(2, result.size()); for (VariableInstance variableInstance : result) { if (variableInstance.getName().equals("aVariableName")) { assertEquals("aVariableName", variableInstance.getName()); assertEquals("abc", variableInstance.getValue()); } else if (variableInstance.getName().equals("anotherVariableName")) { assertEquals("anotherVariableName", variableInstance.getName()); assertEquals("xyz", variableInstance.getValue()); } else { fail("Unexpected variable: " + variableInstance.getName()); } } }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryOrderByName_Asc() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("stringVar", "test"); variables.put("myVar", "test123"); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().orderByVariableName().asc(); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(2, result.size()); VariableInstance first = result.get(0); VariableInstance second = result.get(1); assertEquals("myVar", first.getName()); assertEquals("stringVar", second.getName()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryOrderByName_Desc() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("stringVar", "test"); variables.put("myVar", "test123"); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().orderByVariableName().desc(); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(2, result.size()); VariableInstance first = result.get(0); VariableInstance second = result.get(1); assertEquals("stringVar", first.getName()); assertEquals("string", first.getTypeName()); assertEquals("myVar", second.getName()); assertEquals("string", second.getTypeName()); }
.orderByVariableName() .asc() .list();
@Deployment(resources = IO_PROCESS) public void testIoMappingInvocation() { // when runtimeService .createProcessInstanceByKey("ioProcess") .startBeforeActivity("innerTask") .execute(); // then no io mappings have been executed List<VariableInstance> variables = runtimeService.createVariableInstanceQuery() .orderByVariableName().asc().list(); assertEquals(2, variables.size()); Execution innerTaskExecution = runtimeService.createExecutionQuery().activityId("innerTask").singleResult(); VariableInstance innerTaskVariable = variables.get(0); assertEquals("innerTaskVariable", innerTaskVariable.getName()); assertEquals("innerTaskValue", innerTaskVariable.getValue()); assertEquals(innerTaskExecution.getId(), innerTaskVariable.getExecutionId()); VariableInstance subProcessVariable = variables.get(1); assertEquals("subProcessVariable", subProcessVariable.getName()); assertEquals("subProcessValue", subProcessVariable.getValue()); assertEquals(((ExecutionEntity) innerTaskExecution).getParentId(), subProcessVariable.getExecutionId()); }