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

Edson Tirelli tirelli at post.com
Tue Feb 19 15:07:03 EST 2008


   Hehe, my question is because 14 means it was compiled to JDK 1.4... the
actual version is 1.2.21. :)

   Well, it seems it is a bug... I see you open several tickets in the
JIRA.. I'm going through some of them... if you didn't opened one for this,
may I ask you please to do it?

   Thanks,
      Edson

2008/2/19, Godmar Back <godmar at gmail.com>:
>
> > md5sum ../WEB-INF/lib/mvel14-1.2.21.jar
> 67b9f1dd16b353327a9ef4fe708a8b62  ../WEB-INF/lib/mvel14-1.2.21.jar
>
> (I'm pretty certain this time...)
>
> On Feb 19, 2008 1:41 PM, Edson Tirelli <tirelli at post.com> wrote:
> >
> >    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
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
> _______________________________________________
> 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/2e610619/attachment.html 


More information about the rules-users mailing list