unfortunately not, due to the build life cycle and classpath issues mvel
cannot call functions defined in the DRL, although it can call normal
static methods of existing classes ok.
Mark
Edson Tirelli wrote:
I believe this problem is already fixed in trunk. You can download
latest build from here:
http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules
<http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules>
[]s
Edson
2007/8/29, hypnosat7 <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
I try and change the dialect but it doesn't work
rule "Your First Rule"
dialect "mvel"
when
then
drools.rule.dialect="java"
System.out.println(drools.getRule().getDialect());
System.out.println("ok"+func());
end
the package still invalid :
* (1,6) unable to resolve method using strict-mode:
java.lang.Object.func(...)
* (1,6) unable to resolve method using strict-mode:
java.lang.Object.func(...)
hypnosat7 wrote:
>
> Hi,
>
> I have a simple rule :
>
> function String isTrue() {
> return "true";
> }
>
> rule "new rule"
> dialect "mvel"
> when
> eval(true)
> then
> System.out.println ("passe"+isTrue());
> end
>
> But it seems impossible to call function's :
>
> org.mvel.PropertyAccessException: failed to access property:
> <<System.out.println("passe"+isTrue())>> in: null
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:137)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
(ReflectiveAccessorOptimizer.java:96)
> at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)
> at org.mvel.MVEL.executeDebugger (MVEL.java:327)
> at
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:43)
> at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:545)
> at org.drools.common.DefaultAgenda.fireNextItem
(DefaultAgenda.java:509)
> at
>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:430)
> at
>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java
:392)
> at
mcmipih.rules.demo.service.TestDraft.main(TestDraft.java:37)
> Caused by: org.mvel.PropertyAccessException: null pointer
exception in
> property: isTrue()
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:143)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:96)
> at org.mvel.ASTNode.getReducedValueAccelerated
(ASTNode.java:194)
> at
>
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:20)
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)
> at org.mvel.CompiledExpression.getValue
(CompiledExpression.java:98)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:421)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:109)
> ... 10 more
> Caused by: java.lang.NullPointerException
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java
:429)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:109)
> ... 17 more
> org.drools.spi.ConsequenceException:
org.mvel.PropertyAccessException :
> failed to access property:
<<System.out.println("passe"+isTrue())>> in:
> null
> at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:549)
> at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:509)
> at
>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:430)
> at
> org.drools.common.AbstractWorkingMemory.fireAllRules
(AbstractWorkingMemory.java:392)
> at
mcmipih.rules.demo.service.TestDraft.main(TestDraft.java:37)
> Caused by: org.mvel.PropertyAccessException: failed to access
property:
> <<System.out.println ("passe"+isTrue())>> in: null
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:137)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
(ReflectiveAccessorOptimizer.java:96)
> at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)
> at org.mvel.MVEL.executeDebugger (MVEL.java:327)
> at
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:43)
> at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:545)
> ... 4 more
> Caused by: org.mvel.PropertyAccessException: null pointer
exception in
> property: isTrue()
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:143)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:96)
> at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)
> at
>
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:20)
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)
> at
org.mvel.CompiledExpression.getValue(CompiledExpression.java :98)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:421)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:109)
> ... 10 more
> Caused by: java.lang.NullPointerException
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java
:429)
> at
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:109)
> ... 17 more
>
--
View this message in context:
http://www.nabble.com/function-call-tf4346267.html#a12383032
Sent from the drools - user mailing list archive at Nabble.com
<http://Nabble.com>.
_______________________________________________
rules-users mailing list
[email protected] <mailto:[email protected]>
https://lists.jboss.org/mailman/listinfo/rules-users
<https://lists.jboss.org/mailman/listinfo/rules-users>
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com <http://www.jboss.com>
------------------------------------------------------------------------
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users