[jboss-jira] [JBoss JIRA] (DROOLS-4447) ClassCastException in mvel when updating a List property with modify
Martin Weiler (Jira)
issues at jboss.org
Tue Aug 20 10:09:00 EDT 2019
[ https://issues.jboss.org/browse/DROOLS-4447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Weiler moved RHDM-1063 to DROOLS-4447:
---------------------------------------------
Project: Drools (was: Red Hat Decision Manager)
Key: DROOLS-4447 (was: RHDM-1063)
Workflow: GIT Pull Request workflow (was: CDW with docs v1)
Docs QE Status: NEW
Component/s: core engine
(was: BRE)
Affects Version/s: 7.25.0.Final
(was: 7.4.1.GA)
QE Status: NEW
> 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: Major
> 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)
More information about the jboss-jira
mailing list