protected void triggerCallableElement(CmmnActivityExecution execution, Map<String, Object> variables, String businessKey) { CmmnCaseDefinition definition = getCaseDefinitionToCall(execution, getCallableElement()); CmmnCaseInstance caseInstance = execution.createSubCaseInstance(definition, businessKey); caseInstance.create(variables); }
protected CmmnActivityBehavior getActivityBehavior() { return new CaseTaskActivityBehavior(); }
protected void triggerCallableElement(CmmnActivityExecution execution, Map<String, Object> variables, String businessKey) { CmmnCaseDefinition definition = getCaseDefinitionToCall(execution, getCallableElement()); CmmnCaseInstance caseInstance = execution.createSubCaseInstance(definition, businessKey); caseInstance.create(variables); }
protected CmmnActivityBehavior getActivityBehavior() { return new CaseTaskActivityBehavior(); }
@Test public void testCallableElement() { // given: a plan item // when CmmnActivity activity = handler.handleElement(planItem, context); // then // there exists a callableElement CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); assertNotNull(behavior.getCallableElement()); }
protected CmmnActivityBehavior getActivityBehavior() { return new CaseTaskActivityBehavior(); }
@Test public void testInputVariables() { // given: ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaIn variablesElement = createElement(extensionElements, null, CamundaIn.class); variablesElement.setCamundaVariables("all"); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getInputs().get(0); assertNotNull(parameter); assertTrue(parameter.isAllVariables()); }
@Test public void testOutputVariables() { // given: ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut variablesElement = createElement(extensionElements, null, CamundaOut.class); variablesElement.setCamundaVariables("all"); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getOutputs().get(0); assertNotNull(parameter); assertTrue(parameter.isAllVariables()); }
@Test public void testBinding() { // given: CallableElementBinding caseBinding = CallableElementBinding.LATEST; caseTask.setCamundaCaseBinding(caseBinding.getValue()); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementBinding binding = callableElement.getBinding(); assertNotNull(binding); assertEquals(caseBinding, binding); }
@Test public void testOutputs() { // given: ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut variablesElement = createElement(extensionElements, null, CamundaOut.class); variablesElement.setCamundaVariables("all"); CamundaOut sourceElement = createElement(extensionElements, null, CamundaOut.class); sourceElement.setCamundaSource("a"); CamundaOut sourceExpressionElement = createElement(extensionElements, null, CamundaOut.class); sourceExpressionElement.setCamundaSourceExpression("${b}"); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); List<CallableElementParameter> outputs = callableElement.getOutputs(); assertNotNull(outputs); assertFalse(outputs.isEmpty()); assertEquals(3, outputs.size()); }
@Test public void testInputs() { // given: ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaIn variablesElement = createElement(extensionElements, null, CamundaIn.class); variablesElement.setCamundaVariables("all"); CamundaIn sourceElement = createElement(extensionElements, null, CamundaIn.class); sourceElement.setCamundaSource("a"); CamundaIn sourceExpressionElement = createElement(extensionElements, null, CamundaIn.class); sourceExpressionElement.setCamundaSourceExpression("${b}"); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); List<CallableElementParameter> inputs = callableElement.getInputs(); assertNotNull(inputs); assertFalse(inputs.isEmpty()); assertEquals(3, inputs.size()); }
@Test public void testVersionConstant() { // given: String caseVersion = "2"; caseTask.setCamundaCaseVersion(caseVersion); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); ParameterValueProvider caseVersionValueProvider = callableElement.getVersionValueProvider(); assertNotNull(caseVersionValueProvider); assertTrue(caseVersionValueProvider instanceof ConstantValueProvider); assertEquals(caseVersion, caseVersionValueProvider.getValue(null)); }
@Test public void testInputTarget() { // given: String target = "b"; ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaIn sourceElement = createElement(extensionElements, null, CamundaIn.class); sourceElement.setCamundaTarget(target); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getInputs().get(0); assertNotNull(parameter); assertFalse(parameter.isAllVariables()); assertEquals(target, parameter.getTarget()); }
@Test public void testOutputTarget() { // given: String target = "b"; ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut sourceElement = createElement(extensionElements, null, CamundaOut.class); sourceElement.setCamundaTarget(target); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getOutputs().get(0); assertNotNull(parameter); assertFalse(parameter.isAllVariables()); assertEquals(target, parameter.getTarget()); }
@Test public void testCaseRefConstant() { // given: String caseRef = "aCaseToCall"; caseTask.setCase(caseRef); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); ParameterValueProvider caseRefValueProvider = callableElement.getDefinitionKeyValueProvider(); assertNotNull(caseRefValueProvider); assertTrue(caseRefValueProvider instanceof ConstantValueProvider); ConstantValueProvider valueProvider = (ConstantValueProvider) caseRefValueProvider; assertEquals(caseRef, valueProvider.getValue(null)); }
@Test public void testCaseRefExpression() { // given: String caseRef = "${aCaseToCall}"; caseTask.setCase(caseRef); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); ParameterValueProvider caseRefValueProvider = callableElement.getDefinitionKeyValueProvider(); assertNotNull(caseRefValueProvider); assertTrue(caseRefValueProvider instanceof ElValueProvider); ElValueProvider valueProvider = (ElValueProvider) caseRefValueProvider; assertEquals(caseRef, valueProvider.getExpression().getExpressionText()); }
@Test public void testVersionExpression() { // given: String caseVersion = "${aVersion}"; caseTask.setCamundaCaseVersion(caseVersion); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); ParameterValueProvider caseVersionValueProvider = callableElement.getVersionValueProvider(); assertNotNull(caseVersionValueProvider); assertTrue(caseVersionValueProvider instanceof ElValueProvider); ElValueProvider valueProvider = (ElValueProvider) caseVersionValueProvider; assertEquals(caseVersion, valueProvider.getExpression().getExpressionText()); }
@Test public void testInputSource() { // given: String source = "a"; ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaIn sourceElement = createElement(extensionElements, null, CamundaIn.class); sourceElement.setCamundaSource(source); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getInputs().get(0); assertNotNull(parameter); assertFalse(parameter.isAllVariables()); ParameterValueProvider sourceValueProvider = parameter.getSourceValueProvider(); assertNotNull(sourceValueProvider); assertTrue(sourceValueProvider instanceof ConstantValueProvider); assertEquals(source, sourceValueProvider.getValue(null)); }
@Test public void testBusinessKeyConstant() { // given: String businessKey = "myBusinessKey"; ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaIn businessKeyElement = createElement(extensionElements, null, CamundaIn.class); businessKeyElement.setCamundaBusinessKey(businessKey); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); ParameterValueProvider businessKeyValueProvider = callableElement.getBusinessKeyValueProvider(); assertNotNull(businessKeyValueProvider); assertTrue(businessKeyValueProvider instanceof ConstantValueProvider); assertEquals(businessKey, businessKeyValueProvider.getValue(null)); }
@Test public void testOutputSource() { // given: String source = "a"; ExtensionElements extensionElements = addExtensionElements(caseTask); CamundaOut sourceElement = createElement(extensionElements, null, CamundaOut.class); sourceElement.setCamundaSource(source); // when CmmnActivity activity = handler.handleElement(planItem, context); // then CaseTaskActivityBehavior behavior = (CaseTaskActivityBehavior) activity.getActivityBehavior(); CallableElement callableElement = behavior.getCallableElement(); CallableElementParameter parameter = callableElement.getOutputs().get(0); assertNotNull(parameter); assertFalse(parameter.isAllVariables()); ParameterValueProvider sourceValueProvider = parameter.getSourceValueProvider(); assertNotNull(sourceValueProvider); assertTrue(sourceValueProvider instanceof ConstantValueProvider); assertEquals(source, sourceValueProvider.getValue(null)); }