@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskUpdateVariablesLocalWithReadPermissionOnTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, taskId, userId, UPDATE); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); // when (1) ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, getVariables(), null); // then (1) disableAuthorization(); verifyQueryResults(query, 1); enableAuthorization(); // when (2) ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, null, Arrays.asList(VARIABLE_NAME)); // then (2) disableAuthorization(); verifyQueryResults(query, 0); enableAuthorization(); // when (3) ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, getVariables(), Arrays.asList(VARIABLE_NAME)); // then (3) disableAuthorization(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); List<HistoricVariableInstance> deletedVariables = historyService.createHistoricVariableInstanceQuery().includeDeleted().list(); Assert.assertEquals("DELETED", deletedVariables.get(0).getState()); Assert.assertEquals("DELETED", deletedVariables.get(1).getState()); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskUpdateVariablesLocalWithReadPermissionOnAnyTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, ANY, userId, UPDATE); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); // when (1) ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, getVariables(), null); // then (1) disableAuthorization(); verifyQueryResults(query, 1); enableAuthorization(); // when (2) ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, null, Arrays.asList(VARIABLE_NAME)); // then (2) disableAuthorization(); verifyQueryResults(query, 0); enableAuthorization(); // when (3) ((TaskServiceImpl) taskService).updateVariablesLocal(taskId, getVariables(), Arrays.asList(VARIABLE_NAME)); // then (3) disableAuthorization(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); List<HistoricVariableInstance> deletedVariables = historyService.createHistoricVariableInstanceQuery().includeDeleted().list(); Assert.assertEquals("DELETED", deletedVariables.get(0).getState()); Assert.assertEquals("DELETED", deletedVariables.get(1).getState()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testSetDifferentStates() { //given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); Task task = taskService.createTaskQuery().singleResult(); taskService.setVariables(task.getId(), Variables.createVariables().putValue("bar", "abc")); taskService.complete(task.getId()); //when runtimeService.removeVariable(processInstance.getId(), "bar"); //then List<HistoricVariableInstance> variables = historyService.createHistoricVariableInstanceQuery().includeDeleted().list(); Assert.assertEquals(2, variables.size()); int createdCounter = 0; int deletedCounter = 0; for (HistoricVariableInstance variable : variables) { if (variable.getName().equals("initial")) { Assert.assertEquals(HistoricVariableInstance.STATE_CREATED, variable.getState()); createdCounter += 1; } else if (variable.getName().equals("bar")) { Assert.assertEquals(HistoricVariableInstance.STATE_DELETED, variable.getState()); deletedCounter += 1; } } Assert.assertEquals(1, createdCounter); Assert.assertEquals(1, deletedCounter); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariablesLocalWithReadPermissionOnAnyTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, ANY, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariablesLocal(taskId, Arrays.asList(VARIABLE_NAME)); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariablesLocalWithReadPermissionOnTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, taskId, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariablesLocal(taskId, Arrays.asList(VARIABLE_NAME)); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
public static HistoricVariableInstanceDto fromHistoricVariableInstance(HistoricVariableInstance historicVariableInstance) { HistoricVariableInstanceDto dto = new HistoricVariableInstanceDto(); dto.id = historicVariableInstance.getId(); dto.name = historicVariableInstance.getName(); dto.processDefinitionKey = historicVariableInstance.getProcessDefinitionKey(); dto.processDefinitionId = historicVariableInstance.getProcessDefinitionId(); dto.processInstanceId = historicVariableInstance.getProcessInstanceId(); dto.executionId = historicVariableInstance.getExecutionId(); dto.activityInstanceId = historicVariableInstance.getActivityInstanceId(); dto.caseDefinitionKey = historicVariableInstance.getCaseDefinitionKey(); dto.caseDefinitionId = historicVariableInstance.getCaseDefinitionId(); dto.caseInstanceId = historicVariableInstance.getCaseInstanceId(); dto.caseExecutionId = historicVariableInstance.getCaseExecutionId(); dto.taskId = historicVariableInstance.getTaskId(); dto.tenantId = historicVariableInstance.getTenantId(); dto.state = historicVariableInstance.getState(); dto.createTime = historicVariableInstance.getCreateTime(); dto.removalTime = historicVariableInstance.getRemovalTime(); dto.rootProcessInstanceId = historicVariableInstance.getRootProcessInstanceId(); if(historicVariableInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, historicVariableInstance.getTypedValue()); } else { dto.errorMessage = historicVariableInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(historicVariableInstance.getTypeName()); } return dto; }
public static HistoricVariableInstanceDto fromHistoricVariableInstance(HistoricVariableInstance historicVariableInstance) { HistoricVariableInstanceDto dto = new HistoricVariableInstanceDto(); dto.id = historicVariableInstance.getId(); dto.name = historicVariableInstance.getName(); dto.processDefinitionKey = historicVariableInstance.getProcessDefinitionKey(); dto.processDefinitionId = historicVariableInstance.getProcessDefinitionId(); dto.processInstanceId = historicVariableInstance.getProcessInstanceId(); dto.executionId = historicVariableInstance.getExecutionId(); dto.activityInstanceId = historicVariableInstance.getActivityInstanceId(); dto.caseDefinitionKey = historicVariableInstance.getCaseDefinitionKey(); dto.caseDefinitionId = historicVariableInstance.getCaseDefinitionId(); dto.caseInstanceId = historicVariableInstance.getCaseInstanceId(); dto.caseExecutionId = historicVariableInstance.getCaseExecutionId(); dto.taskId = historicVariableInstance.getTaskId(); dto.tenantId = historicVariableInstance.getTenantId(); dto.state = historicVariableInstance.getState(); dto.createTime = historicVariableInstance.getCreateTime(); dto.removalTime = historicVariableInstance.getRemovalTime(); dto.rootProcessInstanceId = historicVariableInstance.getRootProcessInstanceId(); if(historicVariableInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, historicVariableInstance.getTypedValue()); } else { dto.errorMessage = historicVariableInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(historicVariableInstance.getTypeName()); } return dto; }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariableLocalWithReadPermissionOnTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, taskId, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariableLocal(taskId, VARIABLE_NAME); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariableLocalWithReadPermissionOnAnyTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, ANY, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariableLocal(taskId, VARIABLE_NAME); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testQueryNotIncludeDeleted() { //given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); Task task = taskService.createTaskQuery().singleResult(); taskService.setVariables(task.getId(), Variables.createVariables().putValue("bar", "abc")); taskService.complete(task.getId()); //when runtimeService.removeVariable(processInstance.getId(), "bar"); //then HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().singleResult(); assertEquals(HistoricVariableInstance.STATE_CREATED, variable.getState()); assertEquals("initial", variable.getName()); assertEquals("foo", variable.getValue()); }
for (HistoricVariableInstance historicVariable : historyVariables) { if (variable.getName().equals(historicVariable.getName())) { assertEquals(HistoricVariableInstance.STATE_CREATED, historicVariable.getState()); break;
@Test @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testDeleteAndInsertTheSameVariableByteArray() { BpmnModelInstance bpmnModel = Bpmn.createExecutableProcess("serviceTaskProcess") .startEvent() .userTask("userTask") .serviceTask("service") .camundaClass(DeleteAndInsertVariableDelegate.class) .userTask("userTask1") .endEvent() .done(); ProcessDefinition processDefinition = testHelper.deployAndGetDefinition(bpmnModel); VariableMap variables = Variables.createVariables().putValue("listVar", Arrays.asList(new int[] { 1, 2, 3 })); ProcessInstance instance = engineRule.getRuntimeService().startProcessInstanceById(processDefinition.getId(), variables); Task task = engineRule.getTaskService().createTaskQuery().singleResult(); engineRule.getTaskService().complete(task.getId()); VariableInstance variable = engineRule.getRuntimeService().createVariableInstanceQuery().processInstanceIdIn(instance.getId()).variableName("listVar").singleResult(); assertNotNull(variable); assertEquals("stringValue", variable.getValue()); HistoricVariableInstance historicVariable = engineRule.getHistoryService().createHistoricVariableInstanceQuery().singleResult(); assertEquals(variable.getName(), historicVariable.getName()); assertEquals(HistoricVariableInstance.STATE_CREATED, historicVariable.getState()); }
@Test @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testDeleteAndInsertTheSameVariable() { BpmnModelInstance bpmnModel = Bpmn.createExecutableProcess("serviceTaskProcess") .startEvent() .userTask("userTask") .serviceTask("service") .camundaClass(DeleteAndInsertVariableDelegate.class) .userTask("userTask1") .endEvent() .done(); ProcessDefinition processDefinition = testHelper.deployAndGetDefinition(bpmnModel); VariableMap variables = Variables.createVariables().putValue("foo", "firstValue"); ProcessInstance instance = engineRule.getRuntimeService().startProcessInstanceById(processDefinition.getId(), variables); Task task = engineRule.getTaskService().createTaskQuery().singleResult(); engineRule.getTaskService().complete(task.getId()); VariableInstance variable = engineRule.getRuntimeService().createVariableInstanceQuery().processInstanceIdIn(instance.getId()).variableName("foo").singleResult(); assertNotNull(variable); assertEquals("secondValue", variable.getValue()); HistoricVariableInstance historicVariable = engineRule.getHistoryService().createHistoricVariableInstanceQuery().singleResult(); assertEquals(variable.getName(), historicVariable.getName()); assertEquals(HistoricVariableInstance.STATE_CREATED, historicVariable.getState()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testSetDifferentStates() { //given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); Task task = taskService.createTaskQuery().singleResult(); taskService.setVariables(task.getId(), Variables.createVariables().putValue("bar", "abc")); taskService.complete(task.getId()); //when runtimeService.removeVariable(processInstance.getId(), "bar"); //then List<HistoricVariableInstance> variables = historyService.createHistoricVariableInstanceQuery().includeDeleted().list(); Assert.assertEquals(2, variables.size()); int createdCounter = 0; int deletedCounter = 0; for (HistoricVariableInstance variable : variables) { if (variable.getName().equals("initial")) { Assert.assertEquals(HistoricVariableInstance.STATE_CREATED, variable.getState()); createdCounter += 1; } else if (variable.getName().equals("bar")) { Assert.assertEquals(HistoricVariableInstance.STATE_DELETED, variable.getState()); deletedCounter += 1; } } Assert.assertEquals(1, createdCounter); Assert.assertEquals(1, deletedCounter); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariablesLocalWithReadPermissionOnTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, taskId, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariablesLocal(taskId, Arrays.asList(VARIABLE_NAME)); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariablesLocalWithReadPermissionOnAnyTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, ANY, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariablesLocal(taskId, Arrays.asList(VARIABLE_NAME)); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariableLocalWithReadPermissionOnTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, taskId, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariableLocal(taskId, VARIABLE_NAME); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testStandaloneTaskRemoveVariableLocalWithReadPermissionOnAnyTask() { // given String taskId = "myTask"; createTask(taskId); createGrantAuthorization(TASK, ANY, userId, UPDATE); disableAuthorization(); taskService.setVariable(taskId, VARIABLE_NAME, VARIABLE_VALUE); enableAuthorization(); // when taskService.removeVariableLocal(taskId, VARIABLE_NAME); // then disableAuthorization(); VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); verifyQueryResults(query, 0); enableAuthorization(); deleteTask(taskId, true); HistoricVariableInstance deletedVariable = historyService.createHistoricVariableInstanceQuery().includeDeleted().singleResult(); Assert.assertEquals("DELETED", deletedVariable.getState()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testQueryNotIncludeDeleted() { //given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); Task task = taskService.createTaskQuery().singleResult(); taskService.setVariables(task.getId(), Variables.createVariables().putValue("bar", "abc")); taskService.complete(task.getId()); //when runtimeService.removeVariable(processInstance.getId(), "bar"); //then HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().singleResult(); assertEquals(HistoricVariableInstance.STATE_CREATED, variable.getState()); assertEquals("initial", variable.getName()); assertEquals("foo", variable.getValue()); }
@Test @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT) public void testDeleteAndInsertTheSameVariable() { BpmnModelInstance bpmnModel = Bpmn.createExecutableProcess("serviceTaskProcess") .startEvent() .userTask("userTask") .serviceTask("service") .camundaClass(DeleteAndInsertVariableDelegate.class) .userTask("userTask1") .endEvent() .done(); ProcessDefinition processDefinition = testHelper.deployAndGetDefinition(bpmnModel); VariableMap variables = Variables.createVariables().putValue("foo", "firstValue"); ProcessInstance instance = engineRule.getRuntimeService().startProcessInstanceById(processDefinition.getId(), variables); Task task = engineRule.getTaskService().createTaskQuery().singleResult(); engineRule.getTaskService().complete(task.getId()); VariableInstance variable = engineRule.getRuntimeService().createVariableInstanceQuery().processInstanceIdIn(instance.getId()).variableName("foo").singleResult(); assertNotNull(variable); assertEquals("secondValue", variable.getValue()); HistoricVariableInstance historicVariable = engineRule.getHistoryService().createHistoricVariableInstanceQuery().singleResult(); assertEquals(variable.getName(), historicVariable.getName()); assertEquals(HistoricVariableInstance.STATE_CREATED, historicVariable.getState()); }