[rules-users] "unable to resolve token" in simple mvel RHS

Edson Tirelli tirelli at post.com
Tue Feb 19 13:41:31 EST 2008


   Godmar,

   Can you please confirm what version of MVEL you are using?

   Thanks,
       Edson

2008/2/19, Godmar Back <godmar at gmail.com>:
>
> Hi,
>
> with Drools 4.0.4 and MVEL 1.4, simple RHS like this one fail for me:
>
> ---
> package test;
>
> dialect "mvel"
>
> rule "Rule #1"
> when
> then
>     System.out.println("now computing 1+1...");
>     Integer two = new Integer(2);
>     System.out.println(two);
> end
> ---
>
> now computing 1+1...
> org.mvel.CompileException: unable to resolve property: two
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> ReflectiveAccessorOptimizer.java:288)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
> (ReflectiveAccessorOptimizer.java:109)
>         at org.mvel.ast.ContextDeepPropertyNode.getReducedValueAccelerated
> (ContextDeepPropertyNode.java:26)
>         at org.mvel.ast.PropertyASTNode.initializePropertyNode(
> PropertyASTNode.java:123)
>         at org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(
> PropertyASTNode.java:26)
>         at org.mvel.ExecutableAccessor.getValue(ExecutableAccessor.java
> :45)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(
> ReflectiveAccessorOptimizer.java:521)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> ReflectiveAccessorOptimizer.java:260)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
> (ReflectiveAccessorOptimizer.java:109)
>         at org.mvel.ast.LiteralDeepPropertyNode.getReducedValueAccelerated
> (LiteralDeepPropertyNode.java:28)
>         at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
>         at org.mvel.CompiledExpression.getValue(CompiledExpression.java
> :111)
>         at org.mvel.MVEL.executeExpression(MVEL.java:235)
>         at org.drools.base.mvel.MVELConsequence.evaluate(
> MVELConsequence.java:47)
>         at org.drools.common.DefaultAgenda.fireActivation(
> DefaultAgenda.java:550)
>         at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java
> :514)
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(
> AbstractWorkingMemory.java:471)
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(
> AbstractWorkingMemory.java:433)
>         at org.libx.autodetect.DroolsDriver$Host.fireAllRules(
> DroolsDriver.java:63)
>         at org.libx.autodetect.DroolsDriver.main(DroolsDriver.java:136)
> Caused by: org.mvel.PropertyAccessException: unable to resolve property:
> two
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(
> ReflectiveAccessorOptimizer.java:382)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> ReflectiveAccessorOptimizer.java:257)
>         ... 19 more
> org.mvel.CompileException: unable to resolve token: two
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> ReflectiveAccessorOptimizer.java:297)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
> (ReflectiveAccessorOptimizer.java:109)
>         at org.mvel.ast.LiteralDeepPropertyNode.getReducedValueAccelerated
> (LiteralDeepPropertyNode.java:28)
>         at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
>         at org.mvel.CompiledExpression.getValue(CompiledExpression.java
> :111)
>         at org.mvel.MVEL.executeExpression(MVEL.java:235)
>         at org.drools.base.mvel.MVELConsequence.evaluate(
> MVELConsequence.java:47)
>         at org.drools.common.DefaultAgenda.fireActivation(
> DefaultAgenda.java:550)
>         at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java
> :514)
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(
> AbstractWorkingMemory.java:471)
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(
> AbstractWorkingMemory.java:433)
>         at org.libx.autodetect.DroolsDriver$Host.fireAllRules(
> DroolsDriver.java:63)
>         at org.libx.autodetect.DroolsDriver.main(DroolsDriver.java:136)
> Caused by: org.mvel.UnresolveablePropertyException: unable to resolve
> token: two
>         at org.mvel.ast.PropertyASTNode.initializePropertyNode(
> PropertyASTNode.java:127)
>         at org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(
> PropertyASTNode.java:26)
>         at org.mvel.ExecutableAccessor.getValue(ExecutableAccessor.java
> :45)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(
> ReflectiveAccessorOptimizer.java:521)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> ReflectiveAccessorOptimizer.java:260)
>         ... 12 more
> Caused by: org.mvel.CompileException: unable to resolve property: two
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> ReflectiveAccessorOptimizer.java:288)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
> (ReflectiveAccessorOptimizer.java:109)
>         at org.mvel.ast.ContextDeepPropertyNode.getReducedValueAccelerated
> (ContextDeepPropertyNode.java:26)
>         at org.mvel.ast.PropertyASTNode.initializePropertyNode(
> PropertyASTNode.java:123)
>         ... 16 more
> Caused by: org.mvel.PropertyAccessException: unable to resolve property:
> two
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(
> ReflectiveAccessorOptimizer.java:382)
>         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(
> ReflectiveAccessorOptimizer.java:257)
>         ... 19 more
>
> etc.
>
> It appears to be related to the use of MVEL - the same rule with
> 'dialect "java"' executes correctly.
>
> - Godmar
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
  Edson Tirelli
  JBoss Drools Core Development
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080219/af427c7e/attachment.html 


More information about the rules-users mailing list