]
Mario Fusco updated DROOLS-4684:
--------------------------------
Sprint: 2019 Week 44-46 (from Okt 28)
Parser and Canonical Model Compiler error on Conditional Named
Consequence
--------------------------------------------------------------------------
Key: DROOLS-4684
URL:
https://issues.jboss.org/browse/DROOLS-4684
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.28.0.Final
Environment: macOS 10.14.6, OpenJDK 1.8.0_222
Reporter: Duncan Doyle
Assignee: Mario Fusco
Priority: Major
See reproducer here:
https://github.com/DuncanDoyle/drools-conditional-named-consequence-issue
When you use a Conditional Named Consequence {code}if{code} definition directly after an
{code}accumulate{code}, Drools gives the following error when parsing the DRL:
{code}
[ERROR] Failed to execute goal org.kie:kie-maven-plugin:7.28.0.Final:build
(default-build) on project drools-conditional-named-consequence-issue: Execution
default-build of goal org.kie:kie-maven-plugin:7.28.0.Final:build failed: Unable to get
KieModule, Errors Existed: Error Messages:
[ERROR] Message [id=1, kieBase=defaultKieBase, level=ERROR, path=rules.drl, line=19,
column=0
[ERROR] text=Unable to resolve ObjectType 'if']
[ERROR] ---
[ERROR] Warning Messages:
[ERROR] ---
[ERROR] Info Messages:
[ERROR]
{code}
When you add a constraint between the {code}accumulate{code} and the {code}if{code}
statement of the Conditional Named Consequence, it works fine.
Also when you try to generate the canonical model from a DRL that contains a Conditional
Named Consequence, you get the following error:
{code}
[ERROR] Failed to execute goal org.kie:kie-maven-plugin:7.28.0.Final:generateModel
(default-generateModel) on project drools-conditional-named-consequence-issue: A type
incompatibility occurred while executing
org.kie:kie-maven-plugin:7.28.0.Final:generateModel:
org.drools.compiler.lang.descr.NamedConsequenceDescr cannot be cast to
org.drools.compiler.lang.descr.PatternDescr
{code}
{code}