[
https://issues.jboss.org/browse/DROOLS-4447?page=com.atlassian.jira.plugi...
]
Edson Tirelli updated DROOLS-4447:
----------------------------------
Priority: Critical (was: Major)
ClassCastException in mvel when updating a List property with modify
--------------------------------------------------------------------
Key: DROOLS-4447
URL:
https://issues.jboss.org/browse/DROOLS-4447
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.25.0.Final
Reporter: Martin Weiler
Assignee: Mario Fusco
Priority: Critical
Labels: support
The following code in the RHS of a rule fails with mvel dialect:
{noformat}
+ " modify($p) { addresses.add(address) }\n" +
+ " //$p.getAddresses().add(address); update($p);\n" +
{noformat}
Exception:
{noformat}
Exception executing consequence for rule "addAddress" in defaultpkg:
java.lang.ClassCastException: org.mvel2.optimizers.impl.refl.nodes.GetterAccessor cannot
be cast to org.mvel2.optimizers.impl.refl.nodes.MethodAccessor
at
org.drools.core.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
at org.drools.core.common.DefaultAgenda.handleException(DefaultAgenda.java:1242)
at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:439)
at org.drools.core.phreak.RuleExecutor.fireActivation(RuleExecutor.java:380)
at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:136)
at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:89)
at
org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:34)
at
org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43)
at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1062)
at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1009)
at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1001)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1330)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1321)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1305)
at
org.drools.compiler.integrationtests.Misc2Test.testModifyAddToList(Misc2Test.java:9139)
{noformat}
Notes:
* The same rule worked in Drools 6.5.x
* The alternative syntax (commented out in the snippet above) works
--
This message was sent by Atlassian Jira
(v7.12.1#712002)