<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
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.<br>
<br>
Mark<br>
Edson Tirelli wrote:
<blockquote
cite="mid:e6dd5ba30708290503j6bbc484axa9c6e2b25106c76c@mail.gmail.com"
type="cite"><br>
I believe this problem is already fixed in trunk. You can download
latest build from here:<br>
<br>
<a moz-do-not-send="true"
href="http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules">http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules
</a><br>
<br>
[]s<br>
Edson<br>
<br>
<div><span class="gmail_quote">2007/8/29, hypnosat7 <<a
moz-do-not-send="true" href="mailto:ablarbi@yahoo.fr">ablarbi@yahoo.fr</a>>:</span>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
I try and change the dialect but it doesn't work<br>
<br>
rule "Your First Rule"<br>
dialect "mvel"<br>
when<br>
<br>
then<br>
<br>
drools.rule.dialect="java"
<br>
System.out.println(drools.getRule().getDialect());<br>
System.out.println("ok"+func());<br>
<br>
<br>
end<br>
<br>
the package still invalid :<br>
* (1,6) unable to resolve method using strict-mode:
<br>
java.lang.Object.func(...)<br>
* (1,6) unable to resolve method using strict-mode:<br>
java.lang.Object.func(...)<br>
<br>
<br>
<br>
hypnosat7 wrote:<br>
><br>
> Hi,<br>
><br>
> I have a simple rule :<br>
><br>
> function String isTrue() {
<br>
> return "true";<br>
> }<br>
><br>
> rule "new rule"<br>
> dialect "mvel"<br>
> when<br>
> eval(true)<br>
> then<br>
> System.out.println
("passe"+isTrue());<br>
> end<br>
><br>
> But it seems impossible to call function's :<br>
><br>
> org.mvel.PropertyAccessException: failed to access property:<br>
> <<System.out.println("passe"+isTrue())>> in: null
<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:137)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
(ReflectiveAccessorOptimizer.java:96)<br>
> at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)<br>
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
> at org.mvel.MVEL.executeDebugger
(MVEL.java:327)<br>
> at
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:43)<br>
> at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:545)<br>
> at org.drools.common.DefaultAgenda.fireNextItem
(DefaultAgenda.java:509)<br>
> at<br>
>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:430)<br>
> at<br>
>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java
:392)<br>
> at
mcmipih.rules.demo.service.TestDraft.main(TestDraft.java:37)<br>
> Caused by: org.mvel.PropertyAccessException: null pointer
exception in<br>
> property: isTrue()<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:143)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:96)<br>
> at org.mvel.ASTNode.getReducedValueAccelerated
(ASTNode.java:194)<br>
> at<br>
>
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:20)<br>
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
> at org.mvel.CompiledExpression.getValue
(CompiledExpression.java:98)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:421)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:109)<br>
> ... 10 more<br>
> Caused by: java.lang.NullPointerException<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java
:429)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:109)<br>
> ... 17 more<br>
> org.drools.spi.ConsequenceException:
org.mvel.PropertyAccessException
:<br>
> failed to access property:
<<System.out.println("passe"+isTrue())>> in:<br>
> null<br>
> at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:549)<br>
> at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:509)<br>
> at<br>
>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:430)<br>
> at<br>
> org.drools.common.AbstractWorkingMemory.fireAllRules
(AbstractWorkingMemory.java:392)<br>
> at
mcmipih.rules.demo.service.TestDraft.main(TestDraft.java:37)<br>
> Caused by: org.mvel.PropertyAccessException: failed to access
property:<br>
> <<System.out.println
("passe"+isTrue())>> in: null<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:137)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
(ReflectiveAccessorOptimizer.java:96)<br>
> at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)<br>
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
> at org.mvel.MVEL.executeDebugger
(MVEL.java:327)<br>
> at
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:43)<br>
> at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:545)<br>
> ... 4 more<br>
> Caused by: org.mvel.PropertyAccessException: null pointer
exception in<br>
> property: isTrue()<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:143)
<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:96)<br>
> at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)<br>
> at
<br>
>
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:20)<br>
> at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
> at
org.mvel.CompiledExpression.getValue(CompiledExpression.java
:98)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:421)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:109)<br>
> ... 10 more<br>
> Caused by: java.lang.NullPointerException<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java
:429)<br>
> at<br>
>
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:109)<br>
> ... 17 more<br>
><br>
<br>
--<br>
View this message in context: <a moz-do-not-send="true"
href="http://www.nabble.com/function-call-tf4346267.html#a12383032">
http://www.nabble.com/function-call-tf4346267.html#a12383032</a><br>
Sent from the drools - user mailing list archive at <a
moz-do-not-send="true" href="http://Nabble.com">Nabble.com</a>.<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a moz-do-not-send="true" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a moz-do-not-send="true"
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>
Software Engineer - JBoss Rules Core Developer<br>
Office: +55 11 3529-6000<br>
Mobile: +55 11 9287-5646<br>
JBoss, a division of Red Hat @ <a moz-do-not-send="true"
href="http://www.jboss.com">www.jboss.com</a>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
</blockquote>
<br>
</body>
</html>