<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>You need to remember that a rule runs every time the 
patterns are matched. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007></SPAN><SPAN 
class=975421308-16042007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>For example:-</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>rule "example"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>when</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; $a : ObjectA()</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; $b : ObjectB()</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>then</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; System.out.println("Rule 'example' 
ran");</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>end</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>Working Memory:-</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>1 - ObjectA</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>2 - ObjectA</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>3 - ObjectB</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>4 - ObjectB</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>The rule will run four times; once for each combination of 
ObjectA and ObjectB (1, 3) (1, 4) (2, 3) and (2, 4).</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>Object models are flattened in Working Memory so if you 
need to impose a relationship you need to add this to the rule. 
</FONT></SPAN><SPAN class=975421308-16042007><FONT face=Arial color=#0000ff 
size=2>For example:-</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>[one-to-one mapping] ObjectA has&nbsp;one child 
ObjectB.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>Method suggestion (returns an instance of ObjectB): 
ObjectA.getObjectB();</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>rule "example"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>when</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; $b : 
ObjectB()</FONT></SPAN></DIV>&nbsp;&nbsp;&nbsp; $a : ObjectA(objectB == 
$b)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>then</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; System.out.println("Rule 'example' 
ran");</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>end</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN 
class=975421308-16042007></SPAN></FONT></SPAN><SPAN 
class=975421308-16042007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>[one-to-many mapping] ObjectA has many child 
ObjectB.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>Method suggestion (returns a List): ObjectA.getObjectBs(); 
</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>rule "example"</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>when</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; $b : 
ObjectB()</FONT></SPAN></DIV>&nbsp;&nbsp;&nbsp; $a : ObjectA(objectBs contains 
$b)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>then</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; System.out.println("Rule 'example' 
ran");</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007><FONT face=Arial 
color=#0000ff size=2>end</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007>Check that this is not 
the cause of your multiple unexpected executions.</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007>With kind 
regards,</SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=975421308-16042007>Mike</SPAN></DIV>
<DIV dir=ltr align=left><SPAN 
class=975421308-16042007></SPAN></FONT></SPAN>&nbsp;</DIV></FONT></SPAN></DIV><BR>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> rules-users-bounces@lists.jboss.org 
  [mailto:rules-users-bounces@lists.jboss.org] <B>On Behalf Of </B>fakhfakh 
  ismail<BR><B>Sent:</B> 13 April 2007 18:22<BR><B>To:</B> jboss 
  rules<BR><B>Subject:</B> [rules-users] many response<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV>Hello,</DIV>
  <DIV>First sorry for my bad english</DIV>
  <DIV>when I execute a regle I get many response I don't know why?</DIV>
  <DIV>Example:</DIV><B><FONT color=#960000 size=2>
  <DIV align=left>rule</B></FONT><FONT size=2> </FONT><FONT color=#008000 
  size=2>"userrole"</DIV></FONT><FONT size=2>
  <DIV align=left></DIV></FONT><B><FONT color=#960000 size=2>
  <DIV align=left>when</DIV></B></FONT><FONT size=2>
  <DIV align=left>user1: BnUserValue(nameuser : name)</DIV>
  <DIV align=left>and</DIV>
  <DIV align=left>Role : BnRoleValue()</DIV>
  <DIV align=left>and</DIV>
  <DIV align=left>ActiviteOut : BnNodeValue(bnRole == Role,executor == nameuser 
  )</DIV>
  <DIV align=left>and</DIV>
  <DIV align=left>ActiviteIn : BnNodeValue(bnRole == Role )</DIV>
  <DIV align=left>and </DIV>
  <DIV align=left>lien: BnEdgeValue(outBnNode == ActiviteOut,inBnNode 
  ==ActiviteIn )</DIV>
  <DIV align=left></DIV></FONT><B><FONT color=#960000 size=2>
  <DIV align=left>then</DIV></B></FONT><FONT size=2>
  <DIV align=left>System.out.println(</FONT><FONT color=#008000 size=2>"cette 
  personne "</FONT><FONT size=2>+user1.getName()+ </FONT><FONT color=#008000 
  size=2>" ne peut pas executer cette activiter"</FONT><FONT size=2>);</DIV>
  <DIV align=left></DIV></FONT><B><FONT color=#960000 size=2>
  <DIV>end</DIV></B></FONT>
  <DIV><FONT face=Arial color=#0000ff size=2></FONT>&nbsp;</DIV>
  <DIV>the execution result</DIV><FONT size=2>
  <DIV align=left>cette personne ismail ne peut pas executer cette 
  activiter</DIV>
  <DIV align=left>cette personne ismail ne peut pas executer cette 
  activiter</DIV>
  <DIV align=left>cette personne ismail ne peut pas executer cette 
  activiter</DIV>
  <DIV align=left>cette personne ismail ne peut pas executer cette 
  activiter</DIV>
  <DIV align=left>cette personne ismail ne peut pas executer cette 
  activiter</DIV>
  <DIV align=left>cette personne ismail ne peut pas executer cette 
  activiter</DIV>
  <DIV align=left><FONT face=Arial color=#0000ff></FONT>&nbsp;</DIV>
  <DIV align=left>&nbsp;</DIV>
  <DIV align=left>&nbsp;</DIV>
  <DIV align=left>so the result is repeat 6 I don't know why?</DIV>
  <DIV align=left>thank for your help</DIV>
  <DIV align=left>Ismail</DIV></FONT>
  <DIV>&nbsp;</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>&nbsp;</DIV>
  <P>
  <HR SIZE=1>
  Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! 
  Profitez des connaissances, des opinions et des expériences des internautes 
  sur <A 
  href="http://fr.rd.yahoo.com/evt=42054/*http://fr.answers.yahoo.com">Yahoo! 
  Questions/Réponses</A>.</BLOCKQUOTE></BODY></HTML>