public void setVariable(String caseExecutionId, String variableName, Object value) { withCaseExecution(caseExecutionId).setVariable(variableName, value).execute(); }
protected void initializeCommandWithVariables(CaseExecutionCommandBuilder commandBuilder, Map<String, TriggerVariableValueDto> variables, String transition) { for(String variableName : variables.keySet()) { try { TriggerVariableValueDto variableValue = variables.get(variableName); TypedValue typedValue = variableValue.toTypedValue(engine, objectMapper); if (variableValue.isLocal()) { commandBuilder.setVariableLocal(variableName, typedValue); } else { commandBuilder.setVariable(variableName, typedValue); } } catch (RestException e) { String errorMessage = String.format("Cannot %s case execution %s due to invalid variable %s: %s", transition, caseExecutionId, variableName, e.getMessage()); throw new RestException(e.getStatus(), e, errorMessage); } } }
public void setVariable(String caseExecutionId, String variableName, Object value) { withCaseExecution(caseExecutionId).setVariable(variableName, value).execute(); }
protected void initializeCommandWithVariables(CaseExecutionCommandBuilder commandBuilder, Map<String, TriggerVariableValueDto> variables, String transition) { for(String variableName : variables.keySet()) { try { TriggerVariableValueDto variableValue = variables.get(variableName); if (variableValue.isLocal()) { commandBuilder.setVariableLocal(variableName, variableValue.toTypedValue(engine, objectMapper)); } else { commandBuilder.setVariable(variableName, variableValue.toTypedValue(engine, objectMapper)); } } catch (RestException e) { String errorMessage = String.format("Cannot %s case instance %s due to invalid variable %s: %s", transition, caseInstanceId, variableName, e.getMessage()); throw new RestException(e.getStatus(), e, errorMessage); } } }
protected void setVariableEntity(String variableKey, TypedValue variableValue) { CaseService caseService = engine.getCaseService(); caseService .withCaseExecution(resourceId) .setVariable(variableKey, variableValue) .execute(); }
protected void initializeCommandWithVariables(CaseExecutionCommandBuilder commandBuilder, Map<String, TriggerVariableValueDto> variables, String transition) { for(String variableName : variables.keySet()) { try { TriggerVariableValueDto variableValue = variables.get(variableName); if (variableValue.isLocal()) { commandBuilder.setVariableLocal(variableName, variableValue.toTypedValue(engine, objectMapper)); } else { commandBuilder.setVariable(variableName, variableValue.toTypedValue(engine, objectMapper)); } } catch (RestException e) { String errorMessage = String.format("Cannot %s case instance %s due to invalid variable %s: %s", transition, caseInstanceId, variableName, e.getMessage()); throw new RestException(e.getStatus(), e, errorMessage); } } }
protected void setVariableEntity(String variableKey, TypedValue variableValue) { CaseService caseService = engine.getCaseService(); caseService .withCaseExecution(resourceId) .setVariable(variableKey, variableValue) .execute(); }
@Test public void testPutSingleBinaryVariable() throws Exception { byte[] bytes = "someContent".getBytes(); String variableKey = "aVariableKey"; given() .pathParam("id", MockProvider.EXAMPLE_CASE_EXECUTION_ID).pathParam("varId", variableKey) .multiPart("data", null, bytes, MediaType.APPLICATION_OCTET_STREAM) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .post(SINGLE_CASE_EXECUTION_BINARY_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_EXECUTION_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.bytesValue(bytes))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariableWithNoValue() { String variableKey = "aVariableKey"; given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(EMPTY_JSON_OBJECT) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsNullValue.matcher())); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleBinaryVariableWithNoValue() throws Exception { byte[] bytes = new byte[0]; String variableKey = "aVariableKey"; given() .pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .multiPart("data", null, bytes) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .post(SINGLE_CASE_INSTANCE_BINARY_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.bytesValue(bytes))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariableWithTypeLong() { String variableKey = "aVariableKey"; Long variableValue = Long.valueOf(123); String type = "Long"; Map<String, Object> variableJson = VariablesBuilder.getVariableValueMap(variableValue, type); given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(variableJson) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.longValue(variableValue))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariableWithTypeInteger() { String variableKey = "aVariableKey"; Integer variableValue = 123; String type = "Integer"; Map<String, Object> variableJson = VariablesBuilder.getVariableValueMap(variableValue, type); given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(variableJson) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.integerValue(variableValue))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariableWithTypeShort() { String variableKey = "aVariableKey"; Short variableValue = 123; String type = "Short"; Map<String, Object> variableJson = VariablesBuilder.getVariableValueMap(variableValue, type); given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(variableJson) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.shortValue(variableValue))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariable() { String variableKey = "aVariableKey"; String variableValue = "aVariableValue"; Map<String, Object> variableJson = VariablesBuilder.getVariableValueMap(variableValue); given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(variableJson) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsUntypedValue.matcher().value(variableValue))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariableWithTypeString() { String variableKey = "aVariableKey"; String variableValue = "aVariableValue"; String type = "String"; Map<String, Object> variableJson = VariablesBuilder.getVariableValueMap(variableValue, type); given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(variableJson) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.stringValue(variableValue))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariableWithTypeDouble() { String variableKey = "aVariableKey"; Double variableValue = 123.456; String type = "Double"; Map<String, Object> variableJson = VariablesBuilder.getVariableValueMap(variableValue, type); given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(variableJson) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.doubleValue(variableValue))); verify(caseExecutionCommandBuilderMock).execute(); }
@Test public void testPutSingleVariableWithTypeBoolean() { String variableKey = "aVariableKey"; Boolean variableValue = true; String type = "Boolean"; Map<String, Object> variableJson = VariablesBuilder.getVariableValueMap(variableValue, type); given().pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID).pathParam("varId", variableKey) .contentType(ContentType.JSON).body(variableJson) .then().expect().statusCode(Status.NO_CONTENT.getStatusCode()) .when().put(SINGLE_CASE_INSTANCE_VARIABLE_URL); verify(caseServiceMock).withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseExecutionCommandBuilderMock).setVariable(eq(variableKey), argThat(EqualsPrimitiveValue.booleanValue(variableValue))); verify(caseExecutionCommandBuilderMock).execute(); }
protected CaseInstance createCaseInstance(String caseDefinitionKey) { CaseInstance caseInstance = caseService.withCaseDefinitionByKey(caseDefinitionKey).create(); CaseExecution caseExecution = caseService.createCaseExecutionQuery().activityId(DECISION_TASK_ID).singleResult(); caseService.withCaseExecution(caseExecution.getId()).setVariable("status", "gold").manualStart(); return caseInstance; }
protected CaseInstance createCaseInstance(String caseDefinitionKey, String tenantId) { CaseInstance caseInstance = caseService.withCaseDefinitionByKey(caseDefinitionKey).caseDefinitionTenantId(tenantId).create(); CaseExecution caseExecution = caseService.createCaseExecutionQuery().activityId(DECISION_TASK_ID).tenantIdIn(tenantId).singleResult(); caseService.withCaseExecution(caseExecution.getId()).setVariable("status", "gold").manualStart(); return caseInstance; }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/cmm10/Cmmn10CompatibilityTest.testSentryIfPartCondition.cmmn") public void testSentryIfPartCondition() { // given createCaseInstanceByKey("case", Variables.createVariables().putValue("value", 99)); String humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); String humanTask2 = queryCaseExecutionByActivityId("PI_HumanTask_2").getId(); assertTrue(queryCaseExecutionById(humanTask2).isAvailable()); // when caseService .withCaseExecution(humanTask1) .setVariable("value", 999) .manualStart(); // then assertTrue(queryCaseExecutionById(humanTask2).isEnabled()); }