[jboss-jira] [JBoss JIRA] Updated: (JBRULES-2482) Binding seems to be unreliable with MVEL dialect and mulitple evals

Chris DeLashmutt (JIRA) jira-events at lists.jboss.org
Tue May 18 09:53:06 EDT 2010


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

Chris DeLashmutt updated JBRULES-2482:
--------------------------------------

    Attachment:     (was: drools-mvel-binding-problem.zip)


> Binding seems to be unreliable with MVEL dialect and mulitple evals
> -------------------------------------------------------------------
>
>                 Key: JBRULES-2482
>                 URL: https://jira.jboss.org/browse/JBRULES-2482
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-core  (expert)
>    Affects Versions: 5.1.0.M1
>         Environment: Windows 7, Sun JDK 1.6.0_17
>            Reporter: Chris DeLashmutt
>            Assignee: Mark Proctor
>         Attachments: mvel-binding-problem.zip
>
>
> When using the MVEL dialect, a rule with multiple binds, and a chain of evals, the bindings seem to be incorrect.
> For example here is some DRL:
> rule "Modify Field Rule for Form: InterrelatedFieldsTestForm.fieldA (Set fieldA optional if values are in other fields)"
>     when
>         $fieldA: Field(id == "fieldA")
>         $fieldB: Field(id == "fieldB")
>         $fieldC: Field(id == "fieldC")
>         (eval(ValidationFunctions.isChecked($fieldA)) or eval(ValidationFunctions.isChecked($fieldB)) or eval(!ValidationFunctions.isBlank($fieldC))) 
>     then
>         ValidationFunctions.insertOperation(fieldOperations, new FieldOperation("fieldA",FieldOperation.OPTIONAL));
> end
> If I put debugging statements in to the static ValidationFunctions methods, or if I put breakpoints in those same static methods, I see invocations using bound variables that don't match what I declared.
> For instance, I'll see isBlank called with what appears to be the contents of $fieldA.
> If I combine the evals into a single eval with each condition separated by ||. everything seems to function properly.  I can't easily go back and change the syntax in my exisiting rules however, and the syntax I'm using seems to be valid based on my interpretation of the documentation.

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

        


More information about the jboss-jira mailing list