<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Indeed, it works but I will have to use such booleans for a lot of rules.<br><br>Cause my rule flow is <span class="def-example">schematically</span> :<br><br>compute A<br>compute B(A)<br>compute C(B)<br>...<br><br>Perhaps I may create several ruleflows, one per independant computing?<br><br><blockquote><hr>Subject: RE: [rules-users] Synch Business Object / Working Memory<br>Date: Fri, 11 Apr 2008 12:11:32 +0100<br>From: manstis1@ford.com<br>To: rules-users@lists.jboss.org<br><br>

<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML">

<style>
.ExternalClass .EC_hmmessage P
{padding-right:0px;padding-left:0px;padding-bottom:0px;padding-top:0px;}
.ExternalClass BODY.EC_hmmessage
{font-size:10pt;font-family:Tahoma;}
</style>



<div dir="ltr" align="left"><span class="EC_694480211-11042008"><font color="#0000ff" face="Arial">I was thinking something more like this:-</font></span></div>
<div dir="ltr" align="left"><span class="EC_694480211-11042008"><font color="#0000ff" face="Arial"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span class="EC_694480211-11042008"><font color="#960000"><font color="#960000">
</font><p align="left"><font color="#960000"><font color="#0000ff" face="Courier New">package 
com.sample</font></font></p>
<p align="left"><font color="#960000"><font color="#0000ff" face="Courier New">import 
com.sample.Test<br>&nbsp;<br>rule "rule 1 - 1"<br>&nbsp;&nbsp;&nbsp; salience 
90<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a : 
Test(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;computed == 
"false",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c 
&lt; 15,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d 
&gt;= 75)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; 
then<br>&nbsp;&nbsp;&nbsp; &nbsp;System.out.println("setting e to 
0");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
a.setE(0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
update(a);<br>end</font></font></p>
<p align="left"><font color="#960000"><font color="#0000ff" face="Courier New"></font>&nbsp;</font></p>
<p align="left"><font color="#960000"><font color="#0000ff" face="Courier New">rule "rule 1 - 
2"<br>&nbsp;&nbsp;&nbsp; salience 10<br>&nbsp;&nbsp;&nbsp; 
when<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a : 
Test(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
computed == 
"false",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c 
&lt; 15,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d 
&gt;= 75)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; 
then<br>&nbsp;&nbsp;&nbsp; &nbsp;System.out.println("setting e to 
1");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
a.setE(1);<br>end<br></font></font></p></font><font color="#960000">
<p align="left"><font color="#0000ff" face="Arial"><span class="EC_694480211-11042008">Note 
rule "rule 1 - 2" deliberately uses the same patterns as rule "rule 1 - 
1".</span></font></p></font></span></div>
<div>&nbsp;</div>
<div><font color="#0000ff" face="Courier New">package com.sample;</font></div>
<div><font face="Courier New"></font>&nbsp;</div>
<div><font color="#0000ff" face="Courier New">public class&nbsp;<span class="EC_694480211-11042008">Test</span> {<br>&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp; private boolean computed =false;<br>&nbsp;&nbsp;&nbsp; 
private int c=0;<br>&nbsp;&nbsp;&nbsp; private int d=80;<br>&nbsp;&nbsp;&nbsp; 
private int e;</font></div>
<div><font face="Courier New"></font>&nbsp;</div>
<div><font color="#0000ff" face="Courier New">&nbsp;&nbsp;&nbsp; public String 
getComputed(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if(computed)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
"true";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
"false";<br>&nbsp;&nbsp;&nbsp; }</font></div>
<div><font face="Courier New"></font>&nbsp;</div>
<div><font color="#0000ff" face="Courier New">&nbsp;&nbsp;&nbsp; public int getC() 
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return c;<br>&nbsp;&nbsp;&nbsp; 
}</font></div>
<div><font face="Courier New"></font>&nbsp;</div>
<div><font color="#0000ff" face="Courier New">&nbsp;&nbsp;&nbsp; public int getD() 
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return d;<br>&nbsp;&nbsp;&nbsp; 
}</font></div>
<div><font face="Courier New"></font>&nbsp;</div>
<div><font color="#0000ff" face="Courier New">&nbsp;&nbsp;&nbsp; public void 
setE(int e){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.e = 
e;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; computed = 
true;<br>&nbsp;&nbsp;&nbsp; }</font></div>
<div><font face="Courier New"></font>&nbsp;</div>
<div><font color="#0000ff" face="Courier New">}<br></font></div>
<div><span class="EC_694480211-11042008"><font color="#0000ff" face="Arial">Rule "rule 1 
- 1" is the only rule to run (and runs once); the second activatino being 
cancelled due to the update to "computed".&nbsp;Here's the audit 
view:-</font></span></div>
<div><span class="EC_694480211-11042008"><font color="#0000ff" face="Arial"></font></span>&nbsp;</div><font color="#0000ff" face="Courier New">&lt;object-stream&gt;<br>&nbsp; &lt;list&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;activationId&gt;rule 1 - 1 
[1]&lt;/activationId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rule&gt;rule 1 - 
1&lt;/rule&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;declarations&gt;a=com.sample.Test@67126712(1)&lt;/declarations&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;type&gt;4&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;/org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;activationId&gt;rule 1 - 2 
[1]&lt;/activationId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rule&gt;rule 1 - 
2&lt;/rule&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;declarations&gt;a=com.sample.Test@67126712(1)&lt;/declarations&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;type&gt;4&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;/org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;org.drools.audit.event.ObjectLogEvent&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;factId&gt;1&lt;/factId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;objectToString&gt;com.sample.Test@67126712&lt;/objectToString&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;type&gt;1&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;/org.drools.audit.event.ObjectLogEvent&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;activationId&gt;rule 1 - 1 
[1]&lt;/activationId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rule&gt;rule 1 - 
1&lt;/rule&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;declarations&gt;a=com.sample.Test@67126712(1)&lt;/declarations&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;type&gt;6&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;/org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;activationId&gt;rule 1 - 2 
[1]&lt;/activationId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rule&gt;rule 1 - 
2&lt;/rule&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;declarations&gt;a=com.sample.Test@67126712(1)&lt;/declarations&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;type&gt;5&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;/org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;org.drools.audit.event.ObjectLogEvent&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;factId&gt;1&lt;/factId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;objectToString&gt;com.sample.Test@67126712&lt;/objectToString&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;type&gt;2&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;/org.drools.audit.event.ObjectLogEvent&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;activationId&gt;rule 1 - 1 
[1]&lt;/activationId&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;rule&gt;rule 1 - 
1&lt;/rule&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;declarations&gt;a=com.sample.Test@67126712(1)&lt;/declarations&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&lt;type&gt;7&lt;/type&gt;<br>&nbsp;&nbsp;&nbsp; 
&lt;/org.drools.audit.event.ActivationLogEvent&gt;<br>&nbsp; 
&lt;/list&gt;<br>&lt;/object-stream&gt;</font>
<div><span class="EC_694480211-11042008"></span>&nbsp;</div>
<div><br></div>
<blockquote style="margin-right: 0px;">
  <div class="EC_OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
  <hr>
  <font face="Tahoma"><b>From:</b> rules-users-bounces@lists.jboss.org 
  [mailto:rules-users-bounces@lists.jboss.org] <b>On Behalf Of </b>Jonathan 
  Guéhenneux<br><b>Sent:</b> 11 April 2008 11:33<br><b>To:</b> Rules Users 
  List<br><b>Subject:</b> RE: [rules-users] Synch Business Object / Working 
  Memory<br></font><br></div>
  <div></div>Ok, I think I understood well. I modified my business code, now I 
  call if<br><br>(wm != null)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; wm.update(wm.getFactHandle(this), this);<br><br>each time a 
  properties is modified.<br><br>But it is worse. Rules that sould be activated 
  only once actually loop, even if I add the no-loop clause.<br><br>I understand 
  why they loop, assuming update = (rectact + insert), but I dont get a solution 
  to my problem. I just want to notify an object changement in order to read 
  again the properties, but I dont want to restart the ruleflow.<br><br>Sorry, 
  but I find hard to say it in english because even in french, it's not very 
  clear ;)<br>
  <blockquote>
    <hr>
    Subject: RE: [rules-users] Synch Business Object / Working Memory<br>Date: 
    Fri, 11 Apr 2008 10:39:41 +0100<br>From: manstis1@ford.com<br>To: 
    rules-users@lists.jboss.org<br><br>
    
    <style>
.ExternalClass .EC_hmmessage P
{padding-right:0px;padding-left:0px;padding-bottom:0px;padding-top:0px;}
.ExternalClass BODY.EC_hmmessage
{font-size:10pt;font-family:Tahoma;}
</style>

    <div dir="ltr" align="left"><span class="EC_EC_208223809-11042008"><font color="#0000ff" face="Arial">In essence, yes. Have a look at "update" in the manual (and a 
    read on Shadow Facts will probably be useful too).</font></span></div><br>
    <blockquote style="margin-right: 0px;">
      <div class="EC_EC_OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
      <hr>
      <font face="Tahoma"><b>From:</b> rules-users-bounces@lists.jboss.org 
      [mailto:rules-users-bounces@lists.jboss.org] <b>On Behalf Of </b>Jonathan 
      Guéhenneux<br><b>Sent:</b> 11 April 2008 10:24<br><b>To:</b> Rules Users 
      List<br><b>Subject:</b> RE: [rules-users] Synch Business Object / Working 
      Memory<br></font><br></div>
      <div></div>yes, i made a mistake. its a.setE(...) and not 
      c.setE(...).<br><br>I don't call update. If I dont call update, properties 
      of an object are just read one time for all rules?<br><br><br>
      <blockquote>
        <hr>
        Subject: RE: [rules-users] Synch Business Object / Working 
        Memory<br>Date: Fri, 11 Apr 2008 09:47:43 +0100<br>From: 
        manstis1@ford.com<br>To: rules-users@lists.jboss.org<br><br>
        <style>
.ExternalClass .EC_hmmessage P
{padding-right:0px;padding-left:0px;padding-bottom:0px;padding-top:0px;}
.ExternalClass BODY.EC_hmmessage
{font-size:10pt;font-family:Tahoma;}
</style>

        <div dir="ltr" align="left"><span class="EC_EC_EC_287464408-11042008"><font color="#0000ff" face="Arial">I guess the example is a simplification as "c" 
        (in RHS) has not been bound to a fact.</font></span></div>
        <div dir="ltr" align="left"><span class="EC_EC_EC_287464408-11042008"><font color="#0000ff" face="Arial"></font></span>&nbsp;</div>
        <div dir="ltr" align="left"><span class="EC_EC_EC_287464408-11042008"><font color="#0000ff" face="Arial">Anyway, that aside, do you call "update" to 
        ensure WM knows of changes to facts otherwise properties need to be 
        "time-constant" which in your example they are 
        not.</font></span></div><br>
        <blockquote style="margin-right: 0px;">
          <div class="EC_EC_EC_OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
          <hr>
          <font face="Tahoma"><b>From:</b> rules-users-bounces@lists.jboss.org 
          [mailto:rules-users-bounces@lists.jboss.org] <b>On Behalf Of 
          </b>Jonathan Guéhenneux<br><b>Sent:</b> 11 April 2008 
          09:34<br><b>To:</b> Rules Users List<br><b>Subject:</b> [rules-users] 
          Synch Business Object / Working Memory<br></font><br></div>
          <div></div>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="_blank">Téléchargez 
          Messenger, c'est gratuit !</a> </blockquote></blockquote><br>
      <hr>
      Plus de 15 millions de français utilisent Windows Live Messenger ! <a href="http://www.windowslive.fr/messenger/" target="_blank">Téléchargez 
      Messenger, c'est gratuit !</a> </blockquote></blockquote><br>
  <hr>
  Tous vos amis discutent sur Messenger, et vous ? <a href="http://www.windowslive.fr/messenger/" target="_blank">Téléchargez Messenger, 
  c'est gratuit !</a> </blockquote>
</blockquote><br /><hr />Tous vos amis discutent sur Messenger, et vous ?  <a href='http://www.windowslive.fr/messenger/' target='_new'>Téléchargez Messenger, c'est gratuit !</a></body>
</html>