public void execute(ExecutionContext executionContext) throws Exception { Thread currentThread = Thread.currentThread(); ClassLoader contextClassLoader = currentThread.getContextClassLoader(); try { // set context class loader correctly for delegation class // (https://jira.jboss.org/jira/browse/JBPM-1448) ClassLoader processClassLoader = JbpmConfiguration.getProcessClassLoader(executionContext.getProcessDefinition()); currentThread.setContextClassLoader(processClassLoader); if (referencedAction != null) { referencedAction.execute(executionContext); } else if (actionExpression != null) { JbpmExpressionEvaluator.evaluate(actionExpression, executionContext); } else if (actionDelegation != null) { ActionHandler actionHandler = (ActionHandler) actionDelegation.getInstance(); actionHandler.execute(executionContext); } } finally { currentThread.setContextClassLoader(contextClassLoader); } }
public void execute(ExecutionContext executionContext) throws Exception { Thread currentThread = Thread.currentThread(); ClassLoader contextClassLoader = currentThread.getContextClassLoader(); try { // set context class loader correctly for delegation class // (https://jira.jboss.org/jira/browse/JBPM-1448) ClassLoader processClassLoader = JbpmConfiguration.getProcessClassLoader(executionContext.getProcessDefinition()); currentThread.setContextClassLoader(processClassLoader); if (referencedAction != null) { referencedAction.execute(executionContext); } else if (actionExpression != null) { JbpmExpressionEvaluator.evaluate(actionExpression, executionContext); } else if (actionDelegation != null) { ActionHandler actionHandler = (ActionHandler) actionDelegation.getInstance(); actionHandler.execute(executionContext); } } finally { currentThread.setContextClassLoader(contextClassLoader); } }
private Transition handleDecision(ExecutionContext executionContext) { // invoke handler to obtain transition name DecisionHandler decisionHandler = (DecisionHandler) decisionDelegation.getInstance(); String transitionName; try { transitionName = decisionHandler.decide(executionContext); } catch (Exception e) { raiseException(e, executionContext); return null; } // resolve transition from name Transition transition = getLeavingTransition(transitionName); if (transition == null) { throw new JbpmException("no such transition: " + transitionName); } return transition; }
private Transition handleDecision(ExecutionContext executionContext) { // invoke handler to obtain transition name DecisionHandler decisionHandler = (DecisionHandler) decisionDelegation.getInstance(); String transitionName; try { transitionName = decisionHandler.decide(executionContext); } catch (Exception e) { raiseException(e, executionContext); return null; } // resolve transition from name Transition transition = getLeavingTransition(transitionName); if (transition == null) { throw new JbpmException("no such transition: " + transitionName); } return transition; }