[rules-users] Can't use global in RHS constructor call

Barry Kaplan groups1 at memelet.com
Fri Nov 20 20:25:17 EST 2009


In the following, [A] works but [B] yields the exception below. Is this some
kind of limitation of MVEL?


dialect "mvel"
...
global StateFactory stateFactory
global String NotOperating
...
rule "transition"
when
   ...
then
   newState = stateFactory(NotOpering)  // [A]
   newState = new State(NotOperating)  // [B]
end


----------------------
Caused by: [Error: unable to access property (null parent): NotOperating]
[Near : {... Unknown ....}]
             ^
[Line: 1, Column: 0]
	at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:860)
	at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:584)
	at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:312)
	at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:138)
	at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:133)
	at
org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:41)
	at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileConstructor(ReflectiveAccessorOptimizer.java:1090)
	at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeObjectCreation(ReflectiveAccessorOptimizer.java:1047)
	at
org.mvel2.ast.NewObjectNode.getReducedValueAccelerated(NewObjectNode.java:158)
	at
org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:37)
	at
org.mvel2.ast.AssignmentNode.getReducedValueAccelerated(AssignmentNode.java:89)
	at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
	at
org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
	at org.mvel2.MVEL.executeExpression(MVEL.java:995)
	at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:87)
	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:966)
-- 
View this message in context: http://old.nabble.com/Can%27t-use-global-in-RHS-constructor-call-tp26418622p26418622.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list