@Test public void testHistoricVariableQueryByActivityInstanceIdsAsPost() { String anActivityInstanceId = "anActivityInstanceId"; String anotherActivityInstanceId = "anotherActivityInstanceId"; List<String> activityInstanceIdIn= new ArrayList<String>(); activityInstanceIdIn.add(anActivityInstanceId); activityInstanceIdIn.add(anotherActivityInstanceId); Map<String, Object> json = new HashMap<String, Object>(); json.put("activityInstanceIdIn", activityInstanceIdIn); given().contentType(POST_JSON_CONTENT_TYPE).body(json) .then().expect().statusCode(Status.OK.getStatusCode()) .when().post(HISTORIC_VARIABLE_INSTANCE_RESOURCE_URL); verify(mockedQuery).activityInstanceIdIn(anActivityInstanceId, anotherActivityInstanceId); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByActivityInstanceIdIn() { // given Map<String, Object> variables1 = new HashMap<String, Object>(); variables1.put("stringVar", "test"); variables1.put("myVar", "test123"); ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); query.activityInstanceIdIn(processInstance1.getId()); assertEquals(2, query.list().size()); assertEquals(2, query.count()); Map<String, Object> variables2 = new HashMap<String, Object>(); variables2.put("myVar", "test123"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables2); query.activityInstanceIdIn(processInstance1.getId(), processInstance2.getId()); assertEquals(3, query.list().size()); assertEquals(3, query.count()); }
@Test public void testHistoricVariableQueryByActivityInstanceIds() { String anActivityInstanceId = "anActivityInstanceId"; String anotherActivityInstanceId = "anotherActivityInstanceId"; given() .queryParam("activityInstanceIdIn", anActivityInstanceId + "," + anotherActivityInstanceId) .then().expect().statusCode(Status.OK.getStatusCode()) .when().get(HISTORIC_VARIABLE_INSTANCE_RESOURCE_URL); verify(mockedQuery).activityInstanceIdIn(anActivityInstanceId, anotherActivityInstanceId); }
query.activityInstanceIdIn(activityInstanceIdIn);
query.activityInstanceIdIn(activityInstanceIdIn);
public void testCompleteWithLocalVariables() { // given BpmnModelInstance instance = Bpmn.createExecutableProcess("Process").startEvent().serviceTask("externalTask") .camundaType("external").camundaTopic("foo").camundaTaskPriority("100") .camundaExecutionListenerClass(ExecutionListener.EVENTNAME_END, ReadLocalVariableListenerImpl.class) .userTask("user").endEvent().done(); deployment(instance); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Process"); List<LockedExternalTask> lockedTasks = externalTaskService.fetchAndLock(1, WORKER_ID).topic("foo", 1L).execute(); // when externalTaskService.complete(lockedTasks.get(0).getId(), WORKER_ID, null, Variables.createVariables().putValue("abc", "bar")); // then VariableInstance variableInstance = runtimeService.createVariableInstanceQuery() .processInstanceIdIn(processInstance.getId()).singleResult(); assertNull(variableInstance); if (processEngineConfiguration.getHistoryLevel() == HistoryLevel.HISTORY_LEVEL_AUDIT || processEngineConfiguration.getHistoryLevel() == HistoryLevel.HISTORY_LEVEL_FULL) { HistoricVariableInstance historicVariableInstance = historyService.createHistoricVariableInstanceQuery() .activityInstanceIdIn(lockedTasks.get(0).getActivityInstanceId()).singleResult(); assertNotNull(historicVariableInstance); assertEquals("abc", historicVariableInstance.getName()); assertEquals("bar", historicVariableInstance.getValue()); } }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByActivityInstanceIdIn() { // given Map<String, Object> variables1 = new HashMap<String, Object>(); variables1.put("stringVar", "test"); variables1.put("myVar", "test123"); ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); query.activityInstanceIdIn(processInstance1.getId()); assertEquals(2, query.list().size()); assertEquals(2, query.count()); Map<String, Object> variables2 = new HashMap<String, Object>(); variables2.put("myVar", "test123"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables2); query.activityInstanceIdIn(processInstance1.getId(), processInstance2.getId()); assertEquals(3, query.list().size()); assertEquals(3, query.count()); }
query.activityInstanceIdIn(activityInstanceIdIn);
public void testCompleteWithLocalVariables() { // given BpmnModelInstance instance = Bpmn.createExecutableProcess("Process").startEvent().serviceTask("externalTask") .camundaType("external").camundaTopic("foo").camundaTaskPriority("100") .camundaExecutionListenerClass(ExecutionListener.EVENTNAME_END, ReadLocalVariableListenerImpl.class) .userTask("user").endEvent().done(); deployment(instance); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Process"); List<LockedExternalTask> lockedTasks = externalTaskService.fetchAndLock(1, WORKER_ID).topic("foo", 1L).execute(); // when externalTaskService.complete(lockedTasks.get(0).getId(), WORKER_ID, null, Variables.createVariables().putValue("abc", "bar")); // then VariableInstance variableInstance = runtimeService.createVariableInstanceQuery() .processInstanceIdIn(processInstance.getId()).singleResult(); assertNull(variableInstance); if (processEngineConfiguration.getHistoryLevel() == HistoryLevel.HISTORY_LEVEL_AUDIT || processEngineConfiguration.getHistoryLevel() == HistoryLevel.HISTORY_LEVEL_FULL) { HistoricVariableInstance historicVariableInstance = historyService.createHistoricVariableInstanceQuery() .activityInstanceIdIn(lockedTasks.get(0).getActivityInstanceId()).singleResult(); assertNotNull(historicVariableInstance); assertEquals("abc", historicVariableInstance.getName()); assertEquals("bar", historicVariableInstance.getValue()); } }