<br>&nbsp;&nbsp; Ops, copy&amp;paste problem. The correct rule is:<br><br>rule &quot;get closer object&quot;
<br>when<br>&nbsp;&nbsp;&nbsp; $a : Agent( $num1 : num )<br>&nbsp;&nbsp;&nbsp; $b : Poste( $num2 : num )<br>&nbsp;&nbsp;&nbsp; not Poste( $num3 : num -&gt; ( abs( $num1, $num3 ) &lt; abs( $num1, $num2 ) ) )<br>then<br>&nbsp;&nbsp;&nbsp; // do something<br>end<br><br>&nbsp;&nbsp; []s<br>&nbsp;&nbsp; Edson
<br><br><div><span class="gmail_quote">2007/5/3, Edson Tirelli &lt;<a href="mailto:tirelli@post.com">tirelli@post.com</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>&nbsp;&nbsp;&nbsp; Hi,<br><br>&nbsp;&nbsp;&nbsp; If you are using 4.0.0.M2, I think this will do the job:<br><span lang="EN-GB"><span><br></span></span>function abs( int a, int b ) {<span class="q"><br>&nbsp;&nbsp;&nbsp; return Math.abs( b - a );<br>}<br><br></span>
rule &quot;get closer object&quot;
<br>when<br>&nbsp;&nbsp;&nbsp; $a : Agent( $num1 : num )<br>&nbsp;&nbsp;&nbsp; $b : Poste( $num2 : num )<br>&nbsp;&nbsp;&nbsp; not Poste( $num3 : num -&gt; ( abs( $num1, $num3 ) &lt; Math.abs( $num1, $num2 ) ) )<br>then<br>&nbsp;&nbsp;&nbsp; // do something<br>end<br><br>&nbsp;&nbsp;&nbsp; If you are using 
3.0.x, then it would be like:<br><br>function abs( Integer a, Integer b ) {<br>
&nbsp;&nbsp;&nbsp; return Math.abs( b.intValue() - a.intValue() );<br>
}<br>
<br>
rule &quot;get closer object&quot;<br>
when<br>
&nbsp;&nbsp;&nbsp; $a : Agent( $num1 : num )<br>
&nbsp;&nbsp;&nbsp; $b : Poste( $num2 : num )<br>
&nbsp;&nbsp;&nbsp; not Poste( $num3 : num -&gt; ( abs( $num1, $num3 ) &lt; Math.abs( $num1, $num2 ) ) )<br>
then<br>
&nbsp;&nbsp;&nbsp; // do something<br>
end<br>
<br>&nbsp;&nbsp;&nbsp; Hope it helps. Let us know if it works the way you need.<br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;
[]s<br>&nbsp;&nbsp;&nbsp; Edson<br><br><br><div><span class="gmail_quote">2007/5/3, l&#39;ami molette &lt;<a href="mailto:l_ami_molette@hotmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">l_ami_molette@hotmail.com
</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;"><div><span class="e" id="q_1125347bceaf22fd_3">




<div><div style="text-align: left;">

<p><span lang="EN-GB">Hi, I&#39;m a
new user of JBossRules, and I have difficulties to solve a problem using
jBossRules.</span></p>

<p><span lang="EN-GB">&nbsp;</span></p>

<p><span lang="EN-GB">I have two
classes (AClass.java &amp; Bclass.java). Each one have a number (an
&quot;int&quot; value (AClass.getNum() &amp; BClass.getNum())</span></p>

<p><span lang="EN-GB">, and I
want to extract a Aclass &amp; a Bclass witch have the closest numbers. In fact
I want to minimize the value:</span></p>

<p><span lang="EN-GB">Math.abs(AClass.getNum()
- BClass.getNum()).</span></p>

<p><span lang="EN-GB">&nbsp;</span></p>

<p><span lang="EN-GB">I tried to
write a rule like this:</span></p>

<p><span lang="EN-GB">&nbsp;</span></p>

<p><span lang="EN-GB">rule
&quot;My rule&quot;</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>when</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ACl : Agent ($AClNum :
num , $AClNom : nom)</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BCl : Poste ($BClNum :
num , $BClNom : nom)</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BCl2 : Poste ()</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>not Agent($ACl2Num : num
-&gt; (Aminor(CalculAbsolue($ACl2Num.intValue(),BCl2.getNum()) ,
CalculAbsolue($AClNum.intValue(),$BClNum.intValue()) )))</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>then</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println(&quot;Selected
: &quot;+ ACl.getName() +&quot; &quot;+BCl.getName()+&quot; diff: &quot;+
CalculAbsolue(ACl.getNum(),BCl.getNum()));</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>retract(ACl);</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>retract(BCl);</span></p>

<p><span lang="EN-GB">end</span></p>

<p><span lang="EN-GB">&nbsp;</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>function int CalculAbsolue(int a, int b){</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return
Math.abs(b-a);</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>}</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span></span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>function boolean Aminor(int a, int b){</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return
a &lt; b;</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>}</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span></span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>--&gt; But the rule doesn&#39;t work.</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>Does anyone have an idea to solve my
problem?</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>Thank you very much for your help.</span></p>

<p><span lang="EN-GB"><span>&nbsp;&nbsp;&nbsp; </span>Olivier Lafon </span></p>

<p><span lang="EN-GB">&nbsp;</span></p>

<p><span lang="EN-GB">PS : (excuse
my English, I&#39;m French)</span></p>

</div><br><hr>Essayez <a href="http://Live.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Live.com</a>, votre nouvelle page d&#39;accueil ! Personnalisez-la en quelques clics pour retrouver tout ce qui vous intéresse au même endroit. 
<a href="http://www.live.com/getstarted" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">au même endroit.</a></div></span></div>
<br>_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users@lists.jboss.org
</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
https://lists.jboss.org/mailman/listinfo/rules-users</a><br><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 href="http://www.jboss.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.jboss.com</a>
</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 href="http://www.jboss.com">
www.jboss.com</a>