[jbpm-issues] [JBoss JIRA] Resolved: (JBPM-1178) Script conditions in transitions are evaluated as expressions by the decision node

Alejandro Guizar (JIRA) jira-events at lists.jboss.org
Tue Jan 19 20:11:47 EST 2010


     [ https://jira.jboss.org/jira/browse/JBPM-1178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alejandro Guizar resolved JBPM-1178.
------------------------------------

    Fix Version/s:     (was: jBPM 3.2.x)
       Resolution: Rejected


The description is somewhat ambiguous. If I understand correctly, the problem is that the decision node evaluates transition conditions as EL expressions and never checks whether they are [beanshell?] scripts. However, beanshell scripts were never meant to be used as transition conditions. EL is more suitable for this purpose as its syntax restricts the condition to be an expression as opposed to a statement.

> Script conditions in transitions are evaluated as expressions by the decision node
> ----------------------------------------------------------------------------------
>
>                 Key: JBPM-1178
>                 URL: https://jira.jboss.org/jira/browse/JBPM-1178
>             Project: jBPM
>          Issue Type: Bug
>          Components: Runtime Engine
>    Affects Versions: jBPM 3.2.2
>         Environment: Windows XP, JBoss AS 4.2.2GA, MS SQL EXPRESS 2005, Jdk5
>            Reporter: Romain Lamarche
>            Assignee: Alejandro Guizar
>
> The decision node does not evaluate scripts in conditional transitions.
> Indeed, the execute method of node type decision does not check what type of condition it is.
> Listing of the wrong code :
> (file Decision.java lines 120-135 in Jbpm Jpdl 3.2.2)
>       } else {
>         // new mode based on conditions in the transition itself 
>         Iterator iter = leavingTransitions.iterator();
>         while (iter.hasNext() && (transition==null)) {
>           Transition candidate = (Transition) iter.next();
>           
>           String conditionExpression = candidate.getCondition();
>           if (conditionExpression!=null) {
>             Object result = JbpmExpressionEvaluator.evaluate(conditionExpression, executionContext);
>             if (Boolean.TRUE.equals(result)) {
>               transition = candidate;
>             }
>           }
>         }
>       }
> The problem is the "JbpmExpressionEvaluator".

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbpm-issues mailing list