I am starting working to the similar (mvel?) bug you reported last week just now. Hopefully the fix will solve even this further problem, anyway I will add it to our test suite.
Mario On Tue, Jan 22, 2013 at 12:24 PM, Wolfgang Laun <wolfgang.l...@gmail.com>wrote: > Below is a self-contained DRL which, when run with 5.5.0, throws an > exception "cannot invoke method asList". Remarkably, this only happens > when a second Project fact is inserted. (Haven't I heard this before?) > > -W > > import java.util.List; > import java.util.Arrays; > import java.util.ArrayList; > > declare Project > @typesafe (false) > list1 : List > list2 : List > end > > rule kickoff > salience 999999 > when > then > insert( new Project() ); > insert( new Project() ); // necessary to trigger the exception > end > > rule " Config rule " > dialect "mvel" > no-loop true > when > P : Project() > then > modify(P) { > list1 = Arrays.asList(10, 15, 20, 25), > list2 = Arrays.asList(11, 2, 3, 4, 5, 10, 9, 8, 7) > }; > end > > Exception in thread "main" Exception executing consequence for rule " > Config rule " in express: java.lang.RuntimeException: cannot construct > object > at > org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39) > at > org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1297) > at > org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221) > at > org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456) > at > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710) > at > org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674) > at > org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230) > at express.Main.execute(Main.java:77) > at express.Main.main(Main.java:110) > Caused by: java.lang.RuntimeException: cannot construct object > at > org.mvel2.optimizers.impl.refl.nodes.ConstructorAccessor.getValue(ConstructorAccessor.java:63) > at > org.mvel2.ast.NewObjectNode.getReducedValueAccelerated(NewObjectNode.java:233) > at > org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:42) > at org.mvel2.ast.WithNode$ParmValuePair.eval(WithNode.java:281) > at > org.mvel2.ast.WithNode.getReducedValueAccelerated(WithNode.java:67) > at > org.mvel2.ast.InterceptorWrapper.getReducedValueAccelerated(InterceptorWrapper.java:40) > at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85) > at > org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123) > at > org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119) > at org.mvel2.MVEL.executeExpression(MVEL.java:930) > at > org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:104) > at > org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287) > ... 7 more > Caused by: java.lang.RuntimeException: cannot invoke method: asList > at > org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:63) > at > org.mvel2.optimizers.impl.refl.nodes.VariableAccessor.getValue(VariableAccessor.java:37) > at > org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108) > at > org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:42) > at > org.mvel2.optimizers.impl.refl.nodes.ConstructorAccessor.executeAll(ConstructorAccessor.java:76) > at > org.mvel2.optimizers.impl.refl.nodes.ConstructorAccessor.getValue(ConstructorAccessor.java:43) > ... 18 more > Caused by: java.lang.ArrayIndexOutOfBoundsException: 4 > at > org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.executeAll(MethodAccessor.java:149) > at > org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:48) > ... 23 more > _______________________________________________ > rules-dev mailing list > rules-...@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-dev >
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users