[
https://issues.jboss.org/browse/DROOLS-4750?page=com.atlassian.jira.plugi...
]
Alberto Fanjul Alonso edited comment on DROOLS-4750 at 11/14/19 3:33 AM:
-------------------------------------------------------------------------
Hi [~mfusco] I didn't describe the case correctly. parsing drl rules is failing for me
in current and old version of drools. I see a comment where it is supposed to work in
5.4.0 but I cannot test that . After move to 6.0.0 reproducer start to fail as codebase
changed.
Trying to parse a Rule with DrlParser, normally it works,
{code:java}
package com.amadeus.pulse.mainruleset
rule rule1
when
s : String( )
then
insert (s);
end
{code}
but if you add a rule with str operator (str[endsWith] or similar) it fails.
{code:java}
package com.amadeus.pulse.mainruleset
rule rule2
when
s : String( this str[endsWith] "MAN" )
then
insert (s);
end
{code}
After you run a test that builds a KieModule like `_04_buildNoStrWith` test on that
reproducer DrlParser starts to work with those operators, you can see on
`_05_parseStrWith` test that is run after that.
I can imagine that KieModule build do some kind of preprocessing of drl rules, and after
that DrlParser do not fail.
I suppose is related with launching or enabling `StringConditionInspector` but cannot see
how.
So this bug tries to setup the minimal steps to make DrlParser to parse correctly any
existing drl rule.
was (Author: afanjula):
Hi [~mfusco] I didn't describe the case correctly.
Trying to parse a Rule with DrlParser, normally it works,
{code:java}
package com.amadeus.pulse.mainruleset
rule rule1
when
s : String( )
then
insert (s);
end
{code}
but if you add a rule with str operator (str[endsWith] or similar) it fails.
{code:java}
package com.amadeus.pulse.mainruleset
rule rule2
when
s : String( this str[endsWith] "MAN" )
then
insert (s);
end
{code}
After you run a test that builds a KieModule like `_04_buildNoStrWith` test on that
reproducer DrlParser starts to work with those operators, you can see on
`_05_parseStrWith` test that is run after that.
I can imagine that KieModule build do some kind of preprocessing of drl rules, and after
that DrlParser do not fail.
I suppose is related with launching or enabling `StringConditionInspector` but cannot see
how.
So this bug tries to setup the minimal steps to make DrlParser to parse correctly any
existing drl rule.
DrlParser fails to parse str[endsWith] operator
-----------------------------------------------
Key: DROOLS-4750
URL:
https://issues.jboss.org/browse/DROOLS-4750
Project: Drools
Issue Type: Bug
Reporter: Alberto Fanjul Alonso
Assignee: Mario Fusco
Priority: Major
Attachments: str-with-reproducer.tar
In documentation
https://docs.jboss.org/drools/release/7.23.0.Final/drools-docs/html_singl...
operator str[endsWith] is supposed to be supported, it it is not working.
Fails with:
{code:java}
java.lang.Exception: Rule contains errors![[5,19]: [ERR 102] Line 5:19 mismatched input
'str' in rule "pnr first name end with"]
at
com.amadeus.mdw.bzr.drools_reproducer.StrWithFailOnFirstCompilationErrorReproducerTest.parse(StrWithFailOnFirstCompilationErrorReproducerTest.java:58)
at
com.amadeus.mdw.bzr.drools_reproducer.StrWithFailOnFirstCompilationErrorReproducerTest._03_parseStrWith(StrWithFailOnFirstCompilationErrorReproducerTest.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
{code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)