<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Hi,<br><br>I have two rules :<br><br>rule "rule 1 - 1"<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; salience 90<br>&nbsp;&nbsp;&nbsp; ruleflow-group "rfg1"<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a : A(<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eComputed == "false",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c &lt; 15,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; d &gt;= 75)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c.setE(0);<br>end<br><br><br><br>rule "rule 1 - 2"<br><br>&nbsp;&nbsp;&nbsp; salience 10<br>&nbsp;&nbsp;&nbsp; ruleflow-group "rfg1"<br>
&nbsp;&nbsp;&nbsp; when<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a : A(<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eComputed == "false",<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c &gt;= 15,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; d &gt;= 75)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; then<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c.setE(1);<br>end<br><br><br><br>and part of the corresponding business code :<br><br>public class A {<br><br>&nbsp;&nbsp;&nbsp; ...<br><br>&nbsp;&nbsp;&nbsp; public String getEComputed(){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  if(eComputed)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  return "true";<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  else<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; return "false";<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; ...<br><br>&nbsp;&nbsp;&nbsp; public void setE(int e){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.e = e;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eComputed = true;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; ...<br><br>}<br><br><br><br>so, I expected that if the first rule is activated, the second won't be. But according to my tests, the two rule can be fired on the same object A.<br>While debugging, I noticed the getEComputed method was only called once. I suppose that I should write this :<br><br><br>
rule "rule 1 - 1"<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; salience 90<br>
&nbsp;&nbsp;&nbsp; ruleflow-group "rfg1"<br>
&nbsp;&nbsp;&nbsp; when<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a : A(<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eComputed == "false",<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c &lt; 15,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; d &gt;= 75)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; then<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c.setE(0);<br>&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;  c.setEComputed("true);<br>
end<br><br>
<br>
<br>
rule "rule 1 - 2"<br>
<br>
&nbsp;&nbsp;&nbsp; salience 10<br>
&nbsp;&nbsp;&nbsp; ruleflow-group "rfg1"<br>

&nbsp;&nbsp;&nbsp; when<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a : A(<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eComputed == "false",<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c &gt;= 15,<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; d &gt;= 75)&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>

&nbsp;&nbsp;&nbsp; then<br>

&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c.setE(1);<br>&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;  c.setEComputed("true);<br>

end<br><br>But I would prefer another solution. Thanks for help.<br><br /><hr />Plus de 15 millions de français utilisent Windows Live Messenger !  <a href='http://www.windowslive.fr/messenger/' target='_new'>Téléchargez Messenger, c'est gratuit !</a></body>
</html>