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 DmnDecisionResult evaluateDecision( DecisionDefinition decisionDefinition, VariableMap variables) throws Exception { DecisionInvocation invocation = createInvocation(decisionDefinition, variables); invoke(invocation); return invocation.getInvocationResult(); }