Thanks for your help. I am copying the implementation of execute method code in 
Decision class. This code checks the private decisionDelegation list for 
handlers if there is one defined then it calls the handler. If you notice it 
doesn't look for decision handlers in action list (If that is expected behavior 
then this Decision implementation has broken the contract). So I guess that's 
why the decision handlers were not called. I do not know if there is any other 
alternative way to initialize the decisionDelegation.  Please help me.  

  public void execute(ExecutionContext executionContext) {
    String transitionName = null;
    
    try {
      if (decisionDelegation!=null) {
        DecisionHandler decisionHandler = (DecisionHandler) 
decisionDelegation.instantiate();
        transitionName = decisionHandler.decide(executionContext);
        
      } else if (decisionExpression!=null) {
        Object result = JbpmExpressionEvaluator.evaluate(decisionExpression, 
executionContext);
        if (result==null) {
          throw new JbpmException("decision expression '"+decisionExpression+"' 
returned null");
        }
        transitionName = result.toString();
        
      } else {
        
        Iterator iter = decisionConditions.iterator();
        while (iter.hasNext() && (transitionName==null)) {
          DecisionCondition decisionCondition = (DecisionCondition) iter.next();
          Object result = 
JbpmExpressionEvaluator.evaluate(decisionCondition.getExpression(), 
executionContext);
          if (Boolean.TRUE.equals(result)) {
            transitionName = decisionCondition.getTransitionName();
          }
        }
        
        if (transitionName==null) {
          getDefaultLeavingTransition().getName();
        }
      }
    } catch (Throwable exception) {
      raiseException(exception, executionContext);
    }

    Transition transition = null;
    if (transitionName!=null) {
      log.debug("selected transition name '"+transitionName+"'");
      transition = getLeavingTransition(transitionName);
    } else {
      log.debug("no transition name selected: taking default leaving 
transition");
      transition = getDefaultLeavingTransition();
    }

    if (transition==null) {
      throw new JbpmException("decision '"+name+"' selected non existing 
transition '"+transitionName+"'" );
    }
    executionContext.leaveNode(transition);
  }



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3956747#3956747

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3956747


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to