@Override protected void applySortBy(ProcessInstanceQuery query, String sortBy, Map<String, Object> parameters, ProcessEngine engine) { if (sortBy.equals(SORT_BY_INSTANCE_ID_VALUE)) { query.orderByProcessInstanceId(); } else if (sortBy.equals(SORT_BY_DEFINITION_KEY_VALUE)) { query.orderByProcessDefinitionKey(); } else if (sortBy.equals(SORT_BY_DEFINITION_ID_VALUE)) { query.orderByProcessDefinitionId(); } else if (sortBy.equals(SORT_BY_TENANT_ID)) { query.orderByTenantId(); } else if (sortBy.equals(SORT_BY_BUSINESS_KEY)) { query.orderByBusinessKey(); } }
@Override protected void applySortBy(ProcessInstanceQuery query, String sortBy, Map<String, Object> parameters, ProcessEngine engine) { if (sortBy.equals(SORT_BY_INSTANCE_ID_VALUE)) { query.orderByProcessInstanceId(); } else if (sortBy.equals(SORT_BY_DEFINITION_KEY_VALUE)) { query.orderByProcessDefinitionKey(); } else if (sortBy.equals(SORT_BY_DEFINITION_ID_VALUE)) { query.orderByProcessDefinitionId(); } else if (sortBy.equals(SORT_BY_TENANT_ID)) { query.orderByTenantId(); } else if (sortBy.equals(SORT_BY_BUSINESS_KEY)) { query.orderByBusinessKey(); } }
@Test public void testSortingParameters() { InOrder inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("instanceId", "asc", Status.OK); inOrder.verify(mockedQuery).orderByProcessInstanceId(); inOrder.verify(mockedQuery).asc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("definitionKey", "desc", Status.OK); inOrder.verify(mockedQuery).orderByProcessDefinitionKey(); inOrder.verify(mockedQuery).desc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("definitionId", "asc", Status.OK); inOrder.verify(mockedQuery).orderByProcessDefinitionId(); inOrder.verify(mockedQuery).asc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("tenantId", "asc", Status.OK); inOrder.verify(mockedQuery).orderByTenantId(); inOrder.verify(mockedQuery).asc(); inOrder = Mockito.inOrder(mockedQuery); executeAndVerifySorting("businessKey", "asc", Status.OK); inOrder.verify(mockedQuery).orderByBusinessKey(); inOrder.verify(mockedQuery).asc(); }
@Test public void testQueryInvalidSorting() { try { runtimeService.createProcessInstanceQuery().orderByProcessDefinitionId().list(); // asc - desc not called -> exception fail(); }catch (ProcessEngineException ignored) {} }
@Test public void testSecondarySortingAsPost() { InOrder inOrder = Mockito.inOrder(mockedQuery); Map<String, Object> json = new HashMap<String, Object>(); json.put("sorting", OrderingBuilder.create() .orderBy("definitionKey").desc() .orderBy("definitionId").asc() .getJson()); given().contentType(POST_JSON_CONTENT_TYPE).body(json) .header("accept", MediaType.APPLICATION_JSON) .then().expect().statusCode(Status.OK.getStatusCode()) .when().post(PROCESS_INSTANCE_QUERY_URL); inOrder.verify(mockedQuery).orderByProcessDefinitionKey(); inOrder.verify(mockedQuery).desc(); inOrder.verify(mockedQuery).orderByProcessDefinitionId(); inOrder.verify(mockedQuery).asc(); }
@Test public void testQuerySorting() { List<ProcessInstance> processInstances = runtimeService.createProcessInstanceQuery().orderByProcessInstanceId().asc().list(); assertEquals(5, processInstances.size()); verifySorting(processInstances, processInstanceByProcessInstanceId()); processInstances = runtimeService.createProcessInstanceQuery().orderByProcessDefinitionId().asc().list(); assertEquals(5, processInstances.size()); verifySorting(processInstances, processInstanceByProcessDefinitionId()); processInstances = runtimeService.createProcessInstanceQuery().orderByBusinessKey().asc().list(); assertEquals(5, processInstances.size()); verifySorting(processInstances, processInstanceByBusinessKey()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessDefinitionKey().asc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessInstanceId().desc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessDefinitionId().desc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessDefinitionKey().desc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByBusinessKey().desc().list().size()); assertEquals(4, runtimeService.createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).orderByProcessInstanceId().asc().list().size()); assertEquals(4, runtimeService.createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).orderByProcessInstanceId().desc().list().size()); }
@Override protected void applySortBy(ProcessInstanceQuery query, String sortBy, Map<String, Object> parameters, ProcessEngine engine) { if (sortBy.equals(SORT_BY_INSTANCE_ID_VALUE)) { query.orderByProcessInstanceId(); } else if (sortBy.equals(SORT_BY_DEFINITION_KEY_VALUE)) { query.orderByProcessDefinitionKey(); } else if (sortBy.equals(SORT_BY_DEFINITION_ID_VALUE)) { query.orderByProcessDefinitionId(); } else if (sortBy.equals(SORT_BY_TENANT_ID)) { query.orderByTenantId(); } else if (sortBy.equals(SORT_BY_BUSINESS_KEY)) { query.orderByBusinessKey(); } }
@Test public void testQueryInvalidSorting() { try { runtimeService.createProcessInstanceQuery().orderByProcessDefinitionId().list(); // asc - desc not called -> exception fail(); }catch (ProcessEngineException ignored) {} }
@Test public void testQuerySorting() { List<ProcessInstance> processInstances = runtimeService.createProcessInstanceQuery().orderByProcessInstanceId().asc().list(); assertEquals(5, processInstances.size()); verifySorting(processInstances, processInstanceByProcessInstanceId()); processInstances = runtimeService.createProcessInstanceQuery().orderByProcessDefinitionId().asc().list(); assertEquals(5, processInstances.size()); verifySorting(processInstances, processInstanceByProcessDefinitionId()); processInstances = runtimeService.createProcessInstanceQuery().orderByBusinessKey().asc().list(); assertEquals(5, processInstances.size()); verifySorting(processInstances, processInstanceByBusinessKey()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessDefinitionKey().asc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessInstanceId().desc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessDefinitionId().desc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByProcessDefinitionKey().desc().list().size()); assertEquals(5, runtimeService.createProcessInstanceQuery().orderByBusinessKey().desc().list().size()); assertEquals(4, runtimeService.createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).orderByProcessInstanceId().asc().list().size()); assertEquals(4, runtimeService.createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).orderByProcessInstanceId().desc().list().size()); }