public static void evaluateDecision(AbstractVariableScope execution, BaseCallableElement callableElement, String resultVariable, DecisionResultMapper decisionResultMapper) throws Exception { DecisionDefinition decisionDefinition = resolveDecisionDefinition(callableElement, execution); DecisionInvocation invocation = createInvocation(decisionDefinition, execution); invoke(invocation); DmnDecisionResult result = invocation.getInvocationResult(); if (result != null) { execution.setVariableLocalTransient(DECISION_RESULT_VARIABLE, result); if (resultVariable != null && decisionResultMapper != null) { Object mappedDecisionResult = decisionResultMapper.mapDecisionResult(result); execution.setVariable(resultVariable, mappedDecisionResult); } } }
public Void call() throws Exception { evaluateDecision((AbstractVariableScope) execution, callableElement, resultVariable, decisionResultMapper); leave(execution); return null; }
protected DmnDecisionTableResult doEvaluateDecision(DecisionDefinition decisionDefinition, VariableMap variables) { try { return evaluateDecisionTable(decisionDefinition, variables); } catch (Exception e) { throw new ProcessEngineException("Exception while evaluating decision with key '"+decisionDefinitionKey+"'", e); } }
public static DmnDecisionResult evaluateDecision(DecisionDefinition decisionDefinition, VariableMap variables) throws Exception { DecisionInvocation invocation = createInvocation(decisionDefinition, variables); invoke(invocation); return invocation.getInvocationResult(); }
protected DecisionResultMapper parseDecisionResultMapper(Element businessRuleTaskElement) { // default mapper is 'resultList' String decisionResultMapper = businessRuleTaskElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, "mapDecisionResult"); DecisionResultMapper mapper = DecisionEvaluationUtil.getDecisionResultMapperForName(decisionResultMapper); if (mapper == null) { addError("No decision result mapper found for name '" + decisionResultMapper + "'. Supported mappers are 'singleEntry', 'singleResult', 'collectEntries' and 'resultList'.", businessRuleTaskElement); } return mapper; }
protected static DecisionInvocation createInvocation(DecisionDefinition decisionDefinition, AbstractVariableScope variableScope) { return createInvocation(decisionDefinition, VariableScopeContext.wrap(variableScope)); }
public static DmnDecisionResult evaluateDecision(DecisionDefinition decisionDefinition, VariableMap variables) throws Exception { DecisionInvocation invocation = createInvocation(decisionDefinition, variables); invoke(invocation); return invocation.getInvocationResult(); }
protected DecisionResultMapper parseDecisionResultMapper(Element businessRuleTaskElement) { // default mapper is 'resultList' String decisionResultMapper = businessRuleTaskElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, "mapDecisionResult"); DecisionResultMapper mapper = DecisionEvaluationUtil.getDecisionResultMapperForName(decisionResultMapper); if (mapper == null) { addError("No decision result mapper found for name '" + decisionResultMapper + "'. Supported mappers are 'singleEntry', 'singleResult', 'collectEntries' and 'resultList'.", businessRuleTaskElement); } return mapper; }
protected static DecisionInvocation createInvocation(DecisionDefinition decisionDefinition, VariableMap variables) { return createInvocation(decisionDefinition, variables.asVariableContext()); }
public static void evaluateDecision(AbstractVariableScope execution, BaseCallableElement callableElement, String resultVariable, DecisionResultMapper decisionResultMapper) throws Exception { DecisionDefinition decisionDefinition = resolveDecisionDefinition(callableElement, execution); DecisionInvocation invocation = createInvocation(decisionDefinition, execution); invoke(invocation); DmnDecisionResult result = invocation.getInvocationResult(); if (result != null) { execution.setVariableLocalTransient(DECISION_RESULT_VARIABLE, result); if (resultVariable != null && decisionResultMapper != null) { Object mappedDecisionResult = decisionResultMapper.mapDecisionResult(result); execution.setVariable(resultVariable, mappedDecisionResult); } } }
public static DmnDecisionTableResult evaluateDecisionTable(DecisionDefinition decisionDefinition, VariableMap variables) throws Exception { // doesn't throw an exception if the decision definition is not implemented as decision table DmnDecisionResult decisionResult = evaluateDecision(decisionDefinition, variables); return DmnDecisionTableResultImpl.wrap(decisionResult); }
public static DmnDecisionResult evaluateDecision(DecisionDefinition decisionDefinition, VariableMap variables) throws Exception { DecisionInvocation invocation = createInvocation(decisionDefinition, variables); invoke(invocation); return invocation.getInvocationResult(); }
protected void initializeDecisionTableResultMapper(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { DecisionTask decisionTask = getDefinition(element); DmnDecisionTaskActivityBehavior behavior = getActivityBehavior(activity); String mapper = decisionTask.getCamundaMapDecisionResult(); DecisionResultMapper decisionResultMapper = getDecisionResultMapperForName(mapper); behavior.setDecisionTableResultMapper(decisionResultMapper); }
protected static DecisionInvocation createInvocation(DecisionDefinition decisionDefinition, AbstractVariableScope variableScope) { return createInvocation(decisionDefinition, VariableScopeContext.wrap(variableScope)); }
protected DmnDecisionTableResult doEvaluateDecision(DecisionDefinition decisionDefinition, VariableMap variables) { try { return evaluateDecisionTable(decisionDefinition, variables); } catch (Exception e) { throw new ProcessEngineException("Exception while evaluating decision with key '"+decisionDefinitionKey+"'", e); } }
public static void evaluateDecision(AbstractVariableScope execution, BaseCallableElement callableElement, String resultVariable, DecisionResultMapper decisionResultMapper) throws Exception { DecisionDefinition decisionDefinition = resolveDecisionDefinition(callableElement, execution); DecisionInvocation invocation = createInvocation(decisionDefinition, execution); invoke(invocation); DmnDecisionResult result = invocation.getInvocationResult(); if (result != null) { execution.setVariableLocalTransient(DECISION_RESULT_VARIABLE, result); if (resultVariable != null && decisionResultMapper != null) { Object mappedDecisionResult = decisionResultMapper.mapDecisionResult(result); execution.setVariable(resultVariable, mappedDecisionResult); } } }
protected DmnDecisionResult doEvaluateDecision(DecisionDefinition decisionDefinition, VariableMap variables) { try { return evaluateDecision(decisionDefinition, variables); } catch (Exception e) { throw new ProcessEngineException("Exception while evaluating decision with key '"+decisionDefinitionKey+"'", e); } }
protected void initializeDecisionTableResultMapper(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) { DecisionTask decisionTask = getDefinition(element); DmnDecisionTaskActivityBehavior behavior = getActivityBehavior(activity); String mapper = decisionTask.getCamundaMapDecisionResult(); DecisionResultMapper decisionResultMapper = getDecisionResultMapperForName(mapper); behavior.setDecisionTableResultMapper(decisionResultMapper); }
protected static DecisionInvocation createInvocation(DecisionDefinition decisionDefinition, VariableMap variables) { return createInvocation(decisionDefinition, variables.asVariableContext()); }
protected DmnDecisionTableResult doEvaluateDecision(DecisionDefinition decisionDefinition, VariableMap variables) { try { return evaluateDecisionTable(decisionDefinition, variables); } catch (Exception e) { throw new ProcessEngineException("Exception while evaluating decision with key '"+decisionDefinitionKey+"'", e); } }