]
Guilherme Gomes closed DROOLS-866.
----------------------------------
Resolution: Out of Date
Drools decision table with contains operator in a conditional group
not working
-------------------------------------------------------------------------------
Key: DROOLS-866
URL:
https://issues.redhat.com/browse/DROOLS-866
Project: Drools
Issue Type: Bug
Components: decision tables
Affects Versions: 6.2.0.Final
Environment: Windows 7
Reporter: lucio piccoli
Assignee: Michael Anstis
Priority: Major
Attachments: FeePricing-grouping-error.xls, PricingRuleGroupingExample.java
I cannot get the Decision Table to using grouping in the expression.
Decision Table
------------------------------------
<row 10> CONDITION
<row 12> classList $param
expressions are in each row.
<row 43> (contains('AAA') || contains('BBB') ) &&
contains('CCC') <--fails to compile
<row 44> (contains('AAA') || contains('BBB')
<row 45> (contains('AA') || contains('BB') ||
contains('CCC') || contains('DDD')
where the fact classList is
List<String> classList = {'AAA', 'BB'.....}
the rule43 is meant to fire if the list contains either 'AAA' OR 'BBB'
AND 'CCC'
however the decision table parser is failing with exception for rule 43
[Error: Missing left node]
[Near : {... classList (contains("AAA") || contains("CCC")) ....}]
i have a similar rule working fine for other rows
<row 42> contains('AAA') || contains('BBB') ||
contains('CCC')
there seems to be something strange with using the contains operator in a group
condition.