protected List<Long> collectInstances(List<ProcessInstance> instances) { List<Long> ids = new ArrayList<Long>(); for (ProcessInstance instance : instances) { ids.add(instance.getId()); } return ids; }
protected List<Long> collectInstances(List<ProcessInstance> instances) { List<Long> ids = new ArrayList<Long>(); for (ProcessInstance instance : instances) { ids.add(instance.getId()); } Collections.sort(ids); return ids; } }
private ProcessInstance findProcessInstance(List<ProcessInstance> processInstances, Long pid) { return processInstances.stream().filter(n -> n.getId().equals(pid)).findFirst().orElseThrow(() -> new RuntimeException("Process instance with id " + pid + " not found.")); } }
private void testFindProcessInstanceWithQueryFilter( ProcessInstanceQueryFilterSpec filter, Long processInstanceId ) { List<Long> resultsIds = new ArrayList<>(); List<ProcessInstance> results; results = queryClient.findProcessInstancesWithFilters( QUERY_NAME, filter, 0, 100 ); for ( ProcessInstance res : results ) { resultsIds.add( res.getId() ); } Assertions.assertThat( results ).isNotNull(); Assertions.assertThat( results ).isNotEmpty(); Assertions.assertThat( resultsIds ).contains( processInstanceId ); }
@After public void abortAllProcesses() { List<Integer> status = new ArrayList<Integer>(); status.add(STATE_ACTIVE); List<ProcessInstance> activeInstances = queryClient.findProcessInstancesByStatus(status, 0, 100, CaseServicesClient.SORT_BY_PROCESS_INSTANCE_ID, false); if (activeInstances != null) { for (org.kie.server.api.model.instance.ProcessInstance instance : activeInstances) { processClient.abortProcessInstance(instance.getContainerId(), instance.getId()); } } }
@After public void abortAllProcesses() { List<Integer> status = new ArrayList<Integer>(); status.add(ProcessInstance.STATE_ACTIVE); List<org.kie.server.api.model.instance.ProcessInstance> activeInstances = queryClient.findProcessInstancesByStatus(status, 0, 100); if (activeInstances != null) { for (org.kie.server.api.model.instance.ProcessInstance instance : activeInstances) { processClient.abortProcessInstance(instance.getContainerId(), instance.getId()); } } }
@After public void abortAllProcesses() { List<Integer> status = new ArrayList<Integer>(); status.add(STATE_ACTIVE); List<ProcessInstance> activeInstances = queryClient.findProcessInstancesByStatus(status, 0, 100, CaseServicesClient.SORT_BY_PROCESS_INSTANCE_ID, false); if (activeInstances != null) { for (org.kie.server.api.model.instance.ProcessInstance instance : activeInstances) { processClient.abortProcessInstance(instance.getContainerId(), instance.getId()); } } }
@After public void abortAllProcesses() { List<Integer> status = new ArrayList<Integer>(); status.add(org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE); List<ProcessInstance> activeInstances = queryClient.findProcessInstancesByStatus(status, 0, 100); if (activeInstances != null) { for (ProcessInstance instance : activeInstances) { processClient.abortProcessInstance(instance.getContainerId(), instance.getId()); } } }
@After public void abortAllProcesses() { List<Integer> status = new ArrayList<Integer>(); status.add(ProcessInstance.STATE_ACTIVE); List<org.kie.server.api.model.instance.ProcessInstance> activeInstances = queryClient.findProcessInstancesByStatus(status, 0, 100); if (activeInstances != null) { for (org.kie.server.api.model.instance.ProcessInstance instance : activeInstances) { processClient.abortProcessInstance(instance.getContainerId(), instance.getId()); } } }
@After public void abortAllProcesses() { List<Integer> status = new ArrayList<Integer>(); status.add(org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE); List<ProcessInstance> activeInstances = queryClient.findProcessInstancesByStatus(status, 0, 100); if (activeInstances != null) { for (ProcessInstance instance : activeInstances) { processClient.abortProcessInstance(instance.getContainerId(), instance.getId()); } } }
@After public void abortAllProcesses() { List<Integer> status = new ArrayList<Integer>(); status.add(ProcessInstance.STATE_ACTIVE); List<org.kie.server.api.model.instance.ProcessInstance> activeInstances = queryClient.findProcessInstancesByStatus(status, 0, 100); if (activeInstances != null) { for (org.kie.server.api.model.instance.ProcessInstance instance : activeInstances) { processClient.abortProcessInstance(instance.getContainerId(), instance.getId()); } } }
@Test public void testGetProcessInstancesByProcessNameSortedByInstanceId() throws Exception { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("stringData", "waiting for signal"); parameters.put("personData", createPersonInstance(USER_JOHN)); List<Long> processInstanceIds = createProcessInstances(parameters); try { List<ProcessInstance> instances = queryClient.findProcessInstancesByProcessName("usertask", null, 0, 10, SORT_BY_INSTANCE_PROCESS_ID, false); assertNotNull(instances); assertEquals(2, instances.size()); assertEquals(PROCESS_ID_USERTASK, instances.get(0).getProcessId()); assertEquals(PROCESS_ID_USERTASK, instances.get(1).getProcessId()); assertTrue(instances.get(0).getId() > instances.get(1).getId()); } finally { abortProcessInstances(processInstanceIds); } }
@Test public void testGetProcessInstancesWithQueryDataServiceUsingCustomQueryBuilderAndFilterSpec() throws Exception { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("stringData", "waiting for signal"); parameters.put("personData", createPersonInstance(USER_JOHN)); List<Long> processInstanceIds = createProcessInstances(parameters); QueryDefinition query = createQueryDefinition("CUSTOM"); try { queryClient.registerQuery(query); Map<String, Object> params = new HashMap<String, Object>(); params.put("min", processInstanceIds.get(4)); params.put("max", processInstanceIds.get(0)); params.put(KieServerConstants.QUERY_ORDER_BY, "processInstanceId"); params.put(KieServerConstants.QUERY_ASCENDING, false); List<ProcessInstance> instances = queryClient.query(query.getName(), QueryServicesClient.QUERY_MAP_PI, "test", params, 0, 10, ProcessInstance.class); assertNotNull(instances); assertEquals(2, instances.size()); long pi1 = instances.get(0).getId(); long pi2 = instances.get(1).getId(); // since sort order is descending first should be instance id which is bigger then second assertTrue(pi1 > pi2); } finally { abortProcessInstances(processInstanceIds); queryClient.unregisterQuery(query.getName()); } }
@Test public void testGetProcessInstancesByProcessIdSortedByInstanceId() throws Exception { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("stringData", "waiting for signal"); parameters.put("personData", createPersonInstance(USER_JOHN)); List<Long> processInstanceIds = createProcessInstances(parameters); try { List<ProcessInstance> instances = queryClient.findProcessInstancesByProcessId(PROCESS_ID_USERTASK, null, 0, 10, SORT_BY_INSTANCE_PROCESS_ID, false); assertNotNull(instances); assertEquals(2, instances.size()); assertEquals(PROCESS_ID_USERTASK, instances.get(0).getProcessId()); assertEquals(PROCESS_ID_USERTASK, instances.get(1).getProcessId()); assertTrue(instances.get(0).getId() > instances.get(1).getId()); } finally { abortProcessInstances(processInstanceIds); } }
@Test public void testGetProcessInstanceByCorrelationKeyPaging() throws Exception { CorrelationKeyFactory correlationKeyFactory = KieInternalServices.Factory.get().newCorrelationKeyFactory(); String businessKey = "simple-key"; CorrelationKey key = correlationKeyFactory.newCorrelationKey(businessKey); // Start and abort 2 processes to be sure that there are processes to be returned. Map<String, Object> parameters = new HashMap<String, Object>(); Long processInstanceId1 = processClient.startProcess(CONTAINER_ID, PROCESS_ID_EVALUATION, key, parameters); processClient.abortProcessInstance(CONTAINER_ID, processInstanceId1); Long processInstanceId2 = processClient.startProcess(CONTAINER_ID, PROCESS_ID_EVALUATION, key, parameters); processClient.abortProcessInstance(CONTAINER_ID, processInstanceId2); List<ProcessInstance> processInstancesPage0 = queryClient.findProcessInstancesByCorrelationKey(key, 0, 1); List<ProcessInstance> processInstancesPage1 = queryClient.findProcessInstancesByCorrelationKey(key, 1, 1); assertEquals(1, processInstancesPage0.size()); assertEquals(1, processInstancesPage1.size()); assertNotEquals("Process instances are same! Paging doesn't work.", processInstancesPage0.get(0).getId(), processInstancesPage1.get(0).getId()); }
@Test public void testGetProcessInstancesWithOrderByClause() throws Exception { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("stringData", "waiting for signal"); parameters.put("personData", createPersonInstance(USER_JOHN)); List<Long> processInstanceIds = createProcessInstances(parameters); QueryDefinition query = createQueryDefinition("CUSTOM"); try { queryClient.registerQuery(query); List<ProcessInstance> instances = queryClient.query(query.getName(), QueryServicesClient.QUERY_MAP_PI, "processId asc, processInstanceId desc", 0, 10, ProcessInstance.class); assertNotNull(instances); assertEquals(5, instances.size()); List<Long> found = collectInstances(instances); assertEquals(processInstanceIds, found); long pi1 = instances.get(0).getId(); long pi2 = instances.get(1).getId(); // since sort order is descending first should be instance id which is bigger then second assertTrue(pi1 + " not greater than " + pi2, pi1 > pi2); } finally { abortProcessInstances(processInstanceIds); queryClient.unregisterQuery(query.getName()); } }
@Test @Category(Smoke.class) public void testGetProcessInstanceById() throws Exception { Map<String, Object> parameters = new HashMap<String, Object>(); Long processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_EVALUATION, parameters); try { ProcessInstance instance = queryClient.findProcessInstanceById(processInstanceId); assertNotNull(instance); assertEquals(processInstanceId, instance.getId()); assertEquals(PROCESS_ID_EVALUATION, instance.getProcessId()); assertEquals("evaluation", instance.getProcessName()); assertEquals("1.0", instance.getProcessVersion()); assertEquals(USER_YODA, instance.getInitiator()); assertEquals(CONTAINER_ID, instance.getContainerId()); assertEquals(processInstanceId.toString(), instance.getCorrelationKey()); assertEquals("evaluation", instance.getProcessInstanceDescription()); assertEquals(-1, instance.getParentId().longValue()); } finally { processClient.abortProcessInstance(CONTAINER_ID, processInstanceId); } }
private void assertHrProcessInstance(ProcessInstance processInstance, String caseId, long processInstanceState) { assertNotNull(processInstance); assertNotNull(processInstance.getId()); assertEquals(caseId, processInstance.getCorrelationKey()); assertEquals(processInstanceState, processInstance.getState().intValue()); assertEquals(CASE_HR_DEF_ID, processInstance.getProcessId()); assertEquals(CASE_HR_NAME, processInstance.getProcessName()); assertEquals(CASE_HR_VERSION, processInstance.getProcessVersion()); assertEquals(CONTAINER_ID, processInstance.getContainerId()); assertEquals(CASE_HR_DESRIPTION, processInstance.getProcessInstanceDescription()); assertEquals(USER_YODA, processInstance.getInitiator()); assertEquals(-1L, processInstance.getParentId().longValue()); assertNotNull(processInstance.getCorrelationKey()); assertNotNull(processInstance.getDate()); }
private void assertCarInsuranceProcessInstance(ProcessInstance processInstance, String caseId) { assertNotNull(processInstance); assertNotNull(processInstance.getId()); assertEquals(caseId, processInstance.getCorrelationKey()); assertEquals(STATE_ACTIVE, processInstance.getState().intValue()); assertEquals(CLAIM_CASE_DEF_ID, processInstance.getProcessId()); assertEquals(CLAIM_CASE_NAME, processInstance.getProcessName()); assertEquals(CLAIM_CASE_VERSION, processInstance.getProcessVersion()); assertEquals(CONTAINER_ID, processInstance.getContainerId()); assertEquals(CLAIM_CASE_DESRIPTION, processInstance.getProcessInstanceDescription()); assertEquals(USER_YODA, processInstance.getInitiator()); assertEquals(-1L, processInstance.getParentId().longValue()); assertNotNull(processInstance.getCorrelationKey()); assertNotNull(processInstance.getDate()); }
private void assertProcessInstance(ProcessInstance expected, ProcessInstance actual) { assertNotNull(actual); assertEquals(expected.getId(), actual.getId()); assertEquals(expected.getState(), actual.getState()); assertEquals(expected.getProcessId(), actual.getProcessId()); assertEquals(expected.getProcessName(), actual.getProcessName()); assertEquals(expected.getProcessVersion(), actual.getProcessVersion()); assertEquals(expected.getContainerId(), actual.getContainerId()); assertEquals(expected.getProcessInstanceDescription(), actual.getProcessInstanceDescription()); assertEquals(expected.getInitiator(), actual.getInitiator()); assertEquals(expected.getParentId(), actual.getParentId()); assertNotNull(actual.getCorrelationKey()); assertNotNull(actual.getDate()); }