]
Mario Fusco resolved DROOLS-324.
--------------------------------
Resolution: Cannot Reproduce Bug
I added this test case demonstrating that is working as expected
Note that the default dialect is java, not mvel.
Also note that in the condition the last pattern is the implicit 'this', so in
your case it is not necessary to explicitly referring to it. In other words:
if (status == 0)
works with both mvel and java dialect.
Conditional named consequences don't allow MVEL expressions in
the condition of an if statement
-----------------------------------------------------------------------------------------------
Key: DROOLS-324
URL:
https://issues.jboss.org/browse/DROOLS-324
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 6.0.0.CR5
Environment: Mac OS-X 10.9, JBoss Developer Studio 7, Oracle Hotspot 1.7.0_45
Reporter: Duncan Doyle
Assignee: Mario Fusco
Labels: conditional, consequences, drools, mvel, named
See this project, which is based on the standard Sample.drl of the Drools Eclipse plugin:
https://github.com/DuncanDoyle/DroolsConditionalNamedConsequenceIssue
As you can see in the 'src/main/resources/rules/Sample.drl', the first rule,
which is commented out, uses an MVEL expression in the conditional 'if' statement,
i.e. "if (m.status == Message.HELLO) break [sayHello]". The compiler throws this
error:
Rule Compilation error The field DroolsTest.Message.status is not visible.
When I use a Java dialect and define the conditional if as " if (m.getStatus() == 0)
break [sayHello]", as shown in the second rule everything works fine.
Note that there is also an issue with using public constants in the condition, but
I'll open another JIRA for that issue.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: