[
https://issues.jboss.org/browse/JBRULES-3517?page=com.atlassian.jira.plug...
]
Stathis Rouvas edited comment on JBRULES-3517 at 7/10/12 11:06 AM:
-------------------------------------------------------------------
Mario, I have attached the files implementing the F_Str custom operator
was (Author: rouvas):
The files implementing the F_Str custom operator
Combining custom operators with OR results in compile error
-----------------------------------------------------------
Key: JBRULES-3517
URL:
https://issues.jboss.org/browse/JBRULES-3517
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-compiler (expert)
Affects Versions: 5.4.0.Final
Environment: Drools.5.4.0
Java.1.6
Linux
Reporter: Stathis Rouvas
Assignee: Mario Fusco
Labels: custom_operator
Attachments: F_StrEvaluator.java, F_StrEvaluatorDefinition.java
I recently migrated from Drools.5.0.1 to Drools.5.4.0 and I am having issues when
combining constraints with OR when custom operators are involved.
For example, the following rule:
rule "r548695.1"
no-loop true
dialect "mvel"
when
gnId : GN()
la : t547147( )
v1717 : Tra48( gnId.gNo==gNo , name F_str[startsWith] la.c547148 || postCode
F_str[contains] la.c547149 )
then
System.out.println("Rule r548695.1 fired");
end
results in the following exception:
Unable to Analyse Expression gnId.gNo == gNo && ( F_str0.evaluate( name,
la.c547148 ) || F_str1.evaluate( postCode, la.c547149 ) ):
[Error: unable to resolve method using strict-mode: my.package.rulez.Tra48.F_str0()]
[Near : {... gNo == gNo && ( F_str0.evaluate( name, la.c54 ....}]
^ : [Rule name='r548695.1']
Please note, that the same rule using AND (&&) between the custom operators
compiles OK.
The above rule had not problem whatsoever in Drools.5.0.1.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira