protected <T extends VariableInstance> T build(T mockVariable) { when(mockVariable.getId()).thenReturn(id); when(mockVariable.getName()).thenReturn(name); when(mockVariable.getTypeName()).thenReturn(typedValue.getType().getName()); if (ObjectValue.class.isAssignableFrom(typedValue.getClass())) { ObjectValue objectValue = (ObjectValue) typedValue; if (objectValue.isDeserialized()) { when(mockVariable.getValue()).thenReturn(typedValue.getValue()); } else { when(mockVariable.getValue()).thenReturn(null); } } else { when(mockVariable.getValue()).thenReturn(typedValue.getValue()); } when(mockVariable.getTypedValue()).thenReturn(typedValue); when(mockVariable.getProcessInstanceId()).thenReturn(processInstanceId); when(mockVariable.getExecutionId()).thenReturn(executionId); when(mockVariable.getCaseInstanceId()).thenReturn(caseInstanceId); when(mockVariable.getCaseExecutionId()).thenReturn(caseExecutionId); when(mockVariable.getTaskId()).thenReturn(taskId); when(mockVariable.getActivityInstanceId()).thenReturn(activityInstanceId); when(mockVariable.getTenantId()).thenReturn(tenantId); when(mockVariable.getErrorMessage()).thenReturn(errorMessage); return mockVariable; }
public static VariableInstanceDto fromVariableInstance(VariableInstance variableInstance) { VariableInstanceDto dto = new VariableInstanceDto(); dto.id = variableInstance.getId(); dto.name = variableInstance.getName(); dto.processInstanceId = variableInstance.getProcessInstanceId(); dto.executionId = variableInstance.getExecutionId(); dto.caseExecutionId = variableInstance.getCaseExecutionId(); dto.caseInstanceId = variableInstance.getCaseInstanceId(); dto.taskId = variableInstance.getTaskId(); dto.activityInstanceId = variableInstance.getActivityInstanceId(); dto.tenantId = variableInstance.getTenantId(); if(variableInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, variableInstance.getTypedValue()); } else { dto.errorMessage = variableInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(variableInstance.getTypeName()); } return dto; }
public static VariableInstanceDto fromVariableInstance(VariableInstance variableInstance) { VariableInstanceDto dto = new VariableInstanceDto(); dto.id = variableInstance.getId(); dto.name = variableInstance.getName(); dto.processInstanceId = variableInstance.getProcessInstanceId(); dto.executionId = variableInstance.getExecutionId(); dto.caseExecutionId = variableInstance.getCaseExecutionId(); dto.caseInstanceId = variableInstance.getCaseInstanceId(); dto.taskId = variableInstance.getTaskId(); dto.activityInstanceId = variableInstance.getActivityInstanceId(); dto.tenantId = variableInstance.getTenantId(); if(variableInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, variableInstance.getTypedValue()); } else { dto.errorMessage = variableInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(variableInstance.getTypeName()); } return dto; }
public static DelegateCaseVariableInstanceImpl fromVariableInstance(VariableInstance variableInstance) { DelegateCaseVariableInstanceImpl delegateInstance = new DelegateCaseVariableInstanceImpl(); delegateInstance.variableId = variableInstance.getId(); delegateInstance.processInstanceId = variableInstance.getProcessInstanceId(); delegateInstance.executionId = variableInstance.getExecutionId(); delegateInstance.caseExecutionId = variableInstance.getCaseExecutionId(); delegateInstance.caseInstanceId = variableInstance.getCaseInstanceId(); delegateInstance.taskId = variableInstance.getTaskId(); delegateInstance.activityInstanceId = variableInstance.getActivityInstanceId(); delegateInstance.tenantId = variableInstance.getTenantId(); delegateInstance.errorMessage = variableInstance.getErrorMessage(); delegateInstance.name = variableInstance.getName(); delegateInstance.value = variableInstance.getTypedValue(); return delegateInstance; }
public static DelegateCaseVariableInstanceImpl fromVariableInstance(VariableInstance variableInstance) { DelegateCaseVariableInstanceImpl delegateInstance = new DelegateCaseVariableInstanceImpl(); delegateInstance.variableId = variableInstance.getId(); delegateInstance.processInstanceId = variableInstance.getProcessInstanceId(); delegateInstance.executionId = variableInstance.getExecutionId(); delegateInstance.caseExecutionId = variableInstance.getCaseExecutionId(); delegateInstance.caseInstanceId = variableInstance.getCaseInstanceId(); delegateInstance.taskId = variableInstance.getTaskId(); delegateInstance.activityInstanceId = variableInstance.getActivityInstanceId(); delegateInstance.tenantId = variableInstance.getTenantId(); delegateInstance.errorMessage = variableInstance.getErrorMessage(); delegateInstance.name = variableInstance.getName(); delegateInstance.value = variableInstance.getTypedValue(); return delegateInstance; }
@Test public void testSerializableErrorMessage() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("customSerializable", new CustomSerializable()); variables.put("failingSerializable", new FailingSerializable()); Task task = taskService.newTask(); taskService.saveTask(task); taskService.setVariablesLocal(task.getId(), variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); // then List<VariableInstance> results = query.list(); // both variables are fetched assertEquals(2, results.size()); for (VariableInstance variableInstance : results) { if(variableInstance.getName().equals("customSerializable")) { assertNotNull(variableInstance.getValue()); assertTrue(variableInstance.getValue() instanceof CustomSerializable); } if(variableInstance.getName().equals("failingSerializable")) { // no value was fetched assertNull(variableInstance.getValue()); // error message is present assertNotNull(variableInstance.getErrorMessage()); } } // delete task taskService.deleteTask(task.getId(), true); }
assertNull(variableInstance.getErrorMessage());
public void assertVariableMigratedToExecution(VariableInstance variableBefore, String executionId, String activityInstanceId) { VariableInstance variableAfter = snapshotAfterMigration.getVariable(variableBefore.getId()); Assert.assertNotNull("Variable with id " + variableBefore.getId() + " does not exist", variableAfter); Assert.assertEquals(activityInstanceId, variableAfter.getActivityInstanceId()); Assert.assertEquals(variableBefore.getCaseExecutionId(), variableAfter.getCaseExecutionId()); Assert.assertEquals(variableBefore.getCaseInstanceId(), variableAfter.getCaseInstanceId()); Assert.assertEquals(variableBefore.getErrorMessage(), variableAfter.getErrorMessage()); Assert.assertEquals(executionId, variableAfter.getExecutionId()); Assert.assertEquals(variableBefore.getId(), variableAfter.getId()); Assert.assertEquals(variableBefore.getName(), variableAfter.getName()); Assert.assertEquals(variableBefore.getProcessInstanceId(), variableAfter.getProcessInstanceId()); Assert.assertEquals(variableBefore.getTaskId(), variableAfter.getTaskId()); Assert.assertEquals(variableBefore.getTenantId(), variableAfter.getTenantId()); Assert.assertEquals(variableBefore.getTypeName(), variableAfter.getTypeName()); Assert.assertEquals(variableBefore.getValue(), variableAfter.getValue()); }
public static VariableInstanceDto fromVariableInstance(VariableInstance variableInstance) { VariableInstanceDto dto = new VariableInstanceDto(); dto.id = variableInstance.getId(); dto.name = variableInstance.getName(); dto.processInstanceId = variableInstance.getProcessInstanceId(); dto.executionId = variableInstance.getExecutionId(); dto.caseExecutionId = variableInstance.getCaseExecutionId(); dto.caseInstanceId = variableInstance.getCaseInstanceId(); dto.taskId = variableInstance.getTaskId(); dto.activityInstanceId = variableInstance.getActivityInstanceId(); dto.tenantId = variableInstance.getTenantId(); if(variableInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, variableInstance.getTypedValue()); } else { dto.errorMessage = variableInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(variableInstance.getTypeName()); } return dto; }
public static DelegateCaseVariableInstanceImpl fromVariableInstance(VariableInstance variableInstance) { DelegateCaseVariableInstanceImpl delegateInstance = new DelegateCaseVariableInstanceImpl(); delegateInstance.variableId = variableInstance.getId(); delegateInstance.processInstanceId = variableInstance.getProcessInstanceId(); delegateInstance.executionId = variableInstance.getExecutionId(); delegateInstance.caseExecutionId = variableInstance.getCaseExecutionId(); delegateInstance.caseInstanceId = variableInstance.getCaseInstanceId(); delegateInstance.taskId = variableInstance.getTaskId(); delegateInstance.activityInstanceId = variableInstance.getActivityInstanceId(); delegateInstance.tenantId = variableInstance.getTenantId(); delegateInstance.errorMessage = variableInstance.getErrorMessage(); delegateInstance.name = variableInstance.getName(); delegateInstance.value = variableInstance.getTypedValue(); return delegateInstance; }
@Test public void testSerializableErrorMessage() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("customSerializable", new CustomSerializable()); variables.put("failingSerializable", new FailingSerializable()); Task task = taskService.newTask(); taskService.saveTask(task); taskService.setVariablesLocal(task.getId(), variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery(); // then List<VariableInstance> results = query.list(); // both variables are fetched assertEquals(2, results.size()); for (VariableInstance variableInstance : results) { if(variableInstance.getName().equals("customSerializable")) { assertNotNull(variableInstance.getValue()); assertTrue(variableInstance.getValue() instanceof CustomSerializable); } if(variableInstance.getName().equals("failingSerializable")) { // no value was fetched assertNull(variableInstance.getValue()); // error message is present assertNotNull(variableInstance.getErrorMessage()); } } // delete task taskService.deleteTask(task.getId(), true); }
assertNull(variableInstance.getErrorMessage());
public void assertVariableMigratedToExecution(VariableInstance variableBefore, String executionId, String activityInstanceId) { VariableInstance variableAfter = snapshotAfterMigration.getVariable(variableBefore.getId()); Assert.assertNotNull("Variable with id " + variableBefore.getId() + " does not exist", variableAfter); Assert.assertEquals(activityInstanceId, variableAfter.getActivityInstanceId()); Assert.assertEquals(variableBefore.getCaseExecutionId(), variableAfter.getCaseExecutionId()); Assert.assertEquals(variableBefore.getCaseInstanceId(), variableAfter.getCaseInstanceId()); Assert.assertEquals(variableBefore.getErrorMessage(), variableAfter.getErrorMessage()); Assert.assertEquals(executionId, variableAfter.getExecutionId()); Assert.assertEquals(variableBefore.getId(), variableAfter.getId()); Assert.assertEquals(variableBefore.getName(), variableAfter.getName()); Assert.assertEquals(variableBefore.getProcessInstanceId(), variableAfter.getProcessInstanceId()); Assert.assertEquals(variableBefore.getTaskId(), variableAfter.getTaskId()); Assert.assertEquals(variableBefore.getTenantId(), variableAfter.getTenantId()); Assert.assertEquals(variableBefore.getTypeName(), variableAfter.getTypeName()); Assert.assertEquals(variableBefore.getValue(), variableAfter.getValue()); }