<!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>
&nbsp;&nbsp; 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>
&nbsp;&nbsp;&nbsp; []s<br>
&nbsp;&nbsp;&nbsp; Edson<br>
  <br>
  <div><span class="gmail_quote">2007/8/29, hypnosat7 &lt;<a
 moz-do-not-send="true" href="mailto:ablarbi@yahoo.fr">ablarbi@yahoo.fr</a>&gt;:</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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dialect "mvel"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when<br>
    <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>
    <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;drools.rule.dialect="java"
    <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(drools.getRule().getDialect());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>
&gt;<br>
&gt; Hi,<br>
&gt;<br>
&gt;&nbsp;&nbsp; I have a simple rule :<br>
&gt;<br>
&gt; function String isTrue() {
    <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "true";<br>
&gt; }<br>
&gt;<br>
&gt; rule "new rule"<br>
&gt; dialect "mvel"<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval(true)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println
("passe"+isTrue());<br>
&gt; end<br>
&gt;<br>
&gt; But it seems impossible to call function's :<br>
&gt;<br>
&gt; org.mvel.PropertyAccessException: failed to access property:<br>
&gt; &lt;&lt;System.out.println("passe"+isTrue())&gt;&gt; in: null
    <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:137)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
(ReflectiveAccessorOptimizer.java:96)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVEL.executeDebugger
(MVEL.java:327)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:43)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:545)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.DefaultAgenda.fireNextItem
(DefaultAgenda.java:509)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:430)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java
:392)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
mcmipih.rules.demo.service.TestDraft.main(TestDraft.java:37)<br>
&gt; Caused by: org.mvel.PropertyAccessException: null pointer
exception in<br>
&gt; property: isTrue()<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:143)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:96)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.ASTNode.getReducedValueAccelerated
(ASTNode.java:194)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:20)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.CompiledExpression.getValue
(CompiledExpression.java:98)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:421)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:109)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 10 more<br>
&gt; Caused by: java.lang.NullPointerException<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java
:429)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:109)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 17 more<br>
&gt; org.drools.spi.ConsequenceException:
org.mvel.PropertyAccessException
:<br>
&gt; failed to access property:
&lt;&lt;System.out.println("passe"+isTrue())&gt;&gt; in:<br>
&gt; null<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:549)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:509)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:430)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt; org.drools.common.AbstractWorkingMemory.fireAllRules
(AbstractWorkingMemory.java:392)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
mcmipih.rules.demo.service.TestDraft.main(TestDraft.java:37)<br>
&gt; Caused by: org.mvel.PropertyAccessException: failed to access
property:<br>
&gt; &lt;&lt;System.out.println
("passe"+isTrue())&gt;&gt; in: null<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:137)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor
(ReflectiveAccessorOptimizer.java:96)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVEL.executeDebugger
(MVEL.java:327)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:43)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:545)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 4 more<br>
&gt; Caused by: org.mvel.PropertyAccessException: null pointer
exception in<br>
&gt; property: isTrue()<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:143)
    <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:96)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:194)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
    <br>
&gt;
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:20)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel.MVELRuntime.execute(MVELRuntime.java:87)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.mvel.CompiledExpression.getValue(CompiledExpression.java
:98)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:421)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain
(ReflectiveAccessorOptimizer.java:109)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 10 more<br>
&gt; Caused by: java.lang.NullPointerException<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java
:429)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at<br>
&gt;
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:109)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 17 more<br>
&gt;<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>
&nbsp;&nbsp;Edson Tirelli<br>
&nbsp;&nbsp;Software Engineer - JBoss Rules Core Developer<br>
&nbsp;&nbsp;Office: +55 11 3529-6000<br>
&nbsp;&nbsp;Mobile: +55 11 9287-5646<br>
&nbsp;&nbsp;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>