<br> Godmar, <br><br> Can you please confirm what version of MVEL you are using?<br><br> Thanks,<br> Edson<br><br><div><span class="gmail_quote">2008/2/19, Godmar Back <<a href="mailto:godmar@gmail.com">godmar@gmail.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>with Drools 4.0.4 and MVEL 1.4, simple RHS like this one fail for me:<br><br>---<br>package test;<br><br>dialect "mvel"<br><br>rule "Rule #1"<br>when<br>then<br> System.out.println("now computing 1+1...");<br>
Integer two = new Integer(2);<br> System.out.println(two);<br>end<br>---<br><br>now computing 1+1...<br>org.mvel.CompileException: unable to resolve property: two<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:288)<br>
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)<br> at org.mvel.ast.ContextDeepPropertyNode.getReducedValueAccelerated(ContextDeepPropertyNode.java:26)<br>
at org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:123)<br> at org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:26)<br> at org.mvel.ExecutableAccessor.getValue(ExecutableAccessor.java:45)<br>
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:521)<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:260)<br>
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)<br> at org.mvel.ast.LiteralDeepPropertyNode.getReducedValueAccelerated(LiteralDeepPropertyNode.java:28)<br>
at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)<br> at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)<br> at org.mvel.MVEL.executeExpression(MVEL.java:235)<br> at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:47)<br>
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)<br> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)<br> at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:471)<br>
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:433)<br> at org.libx.autodetect.DroolsDriver$Host.fireAllRules(DroolsDriver.java:63)<br> at org.libx.autodetect.DroolsDriver.main(DroolsDriver.java:136)<br>
Caused by: org.mvel.PropertyAccessException: unable to resolve property: two<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:382)<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:257)<br>
... 19 more<br>org.mvel.CompileException: unable to resolve token: two<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:297)<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)<br>
at org.mvel.ast.LiteralDeepPropertyNode.getReducedValueAccelerated(LiteralDeepPropertyNode.java:28)<br> at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)<br> at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)<br>
at org.mvel.MVEL.executeExpression(MVEL.java:235)<br> at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:47)<br> at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)<br>
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)<br> at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:471)<br> at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:433)<br>
at org.libx.autodetect.DroolsDriver$Host.fireAllRules(DroolsDriver.java:63)<br> at org.libx.autodetect.DroolsDriver.main(DroolsDriver.java:136)<br>Caused by: org.mvel.UnresolveablePropertyException: unable to resolve token: two<br>
at org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:127)<br> at org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:26)<br> at org.mvel.ExecutableAccessor.getValue(ExecutableAccessor.java:45)<br>
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:521)<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:260)<br>
... 12 more<br>Caused by: org.mvel.CompileException: unable to resolve property: two<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:288)<br>
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)<br> at org.mvel.ast.ContextDeepPropertyNode.getReducedValueAccelerated(ContextDeepPropertyNode.java:26)<br>
at org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:123)<br> ... 16 more<br>Caused by: org.mvel.PropertyAccessException: unable to resolve property: two<br> at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:382)<br>
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:257)<br> ... 19 more<br><br>etc.<br><br>It appears to be related to the use of MVEL - the same rule with<br>
'dialect "java"' executes correctly.<br><br> - Godmar<br>_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></blockquote></div><br><br clear="all"><br>-- <br> Edson Tirelli<br> JBoss Drools Core Development<br>
Office: +55 11 3529-6000<br> Mobile: +55 11 9287-5646<br> JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a>