<HTML >
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">



<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Verdana;
        color:windowtext;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:867991019;
        mso-list-type:hybrid;
        mso-list-template-ids:1447977686 -1313152788 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l0:level1
        {mso-level-start-at:4;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Verdana;
        mso-fareast-font-family:"MS Mincho";
        mso-bidi-font-family:"Times New Roman";}
@list l1
        {mso-list-id:908618385;
        mso-list-type:hybrid;
        mso-list-template-ids:92689466 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
@list l1:level1
        {mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2
        {mso-list-id:1264797819;
        mso-list-type:hybrid;
        mso-list-template-ids:1683943444 -2076175796 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l2:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Verdana;
        mso-fareast-font-family:"MS Mincho";
        mso-bidi-font-family:"Times New Roman";}
@list l2:level2
        {mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level3
        {mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level4
        {mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level5
        {mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level6
        {mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level7
        {mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level8
        {mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level9
        {mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3
        {mso-list-id:1447116417;
        mso-list-type:hybrid;
        mso-list-template-ids:1266430764 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
@list l3:level1
        {mso-level-tab-stop:39.75pt;
        mso-level-number-position:left;
        margin-left:39.75pt;
        text-indent:-18.0pt;}
@list l3:level2
        {mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3:level3
        {mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3:level4
        {mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3:level5
        {mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3:level6
        {mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3:level7
        {mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3:level8
        {mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l3:level9
        {mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4
        {mso-list-id:1682783593;
        mso-list-type:hybrid;
        mso-list-template-ids:625607584 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
@list l4:level1
        {mso-level-tab-stop:39.75pt;
        mso-level-number-position:left;
        margin-left:39.75pt;
        text-indent:-18.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>

</HEAD>
<BODY lang=FR link=blue vlink=purple>
<DIV>
<DIV>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>Hello,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>I would like to improve the performance of my Drools
process, I have two questions on my current implementation, one regarding
updating fact and the other retracting them. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><O:P>Before asking, I need to explain in few words the
problem I want to solve with Drools.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>My company is a bank where traders are making deals
on markets, these deals must be classified in book, this is what we call &#8220;booking
process&#8221;.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>Booking is done according to booking criteria :
which trader has made the deal ? on which product ? etc &#8230; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>A booking rule defines a set of criteria and the target
book where the deal will classified. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>I&#8217;m using Drools to :<o:p></o:p></span></font></p>

<ol style='margin-top:0cm' start=1 type=1>
 <li class=MsoNormal style='mso-list:l1 level1 lfo5'><font size=2 face=Verdana><span
     lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>find all booking
     rules matching deals made by traders<o:p></o:p></span></font></li>
 <li class=MsoNormal style='mso-list:l1 level1 lfo5'><font size=2 face=Verdana><span
     lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>apply the right
     booking rule on the deal among the ones matching the deal<o:p></o:p></span></font></li>
</ol>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>I have defined a flow composed of 3 steps/rules
group, each group has one rule, here&#8217;s the flow and the rules.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>Flow : <o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>------<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=green
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:green'>&quot;Find matching booking rules by deal group&quot; -&gt; &quot;Refresh&quot;
-&gt; &quot;Apply booking rule group&quot;<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>Rules :<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>------<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>The job of this rule is to store in </span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>DealMatchingBookingRules </span></font><font
size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>all
the booking rule matching a specific deal (each </span></font><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>DealMatchingBookingRules </span></font><font
size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>instance
has a unique Deal).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Find
matching booking rules by deal&quot;</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>salience</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> 10</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Find
matching booking rules by deal group&quot;</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; $dealMatchingBookingRules :
DealMatchingBookingRules($dealModel : deal)</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; $dealProductRelatedIndexes :
ProductRelatedIndexes(product.internalCode == $dealModel.product.internalCode)</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; $bookingRule : BTExecutionBookingRuleModel (</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></font><font size=2 color=olive face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:olive'>//
when a criterion is not set, it is considered as satisfied. </span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; (traderCriterion == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>null</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> || $dealModel.trader ==
traderCriterion)</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &amp;&amp; (portfolioCriterion == </span></font><b><font
size=2 color="#960000" face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:#960000;font-weight:bold'>null</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> || $dealModel.portfolio ==
portfolioCriterion)</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></font><font size=2 color=olive face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:olive'>//
when a product type criterion is set to unknown, it is considered as satisfied
whatever deal product type is. </span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &amp;&amp; (productTypeStringCriterion == </span></font><b><font
size=2 color="#960000" face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:#960000;font-weight:bold'>null</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> || productTypeCriterion ==
ProductType.Unknown&#160; </span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; || $dealModel.product.productType ==
productTypeCriterion)&#160; </span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &amp;&amp; (listedIndexCriterion == </span></font><b><font
size=2 color="#960000" face="Courier New"><span lang=EN-GB style='font-size:
10.0pt;font-family:"Courier New";color:#960000;font-weight:bold'>null</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> ||
$dealProductRelatedIndexes.relatedIndexes </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>contains</span></font></b><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'> listedIndexCriterion)</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; )</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;
$dealMatchingBookingRules.addMatchingBookingRule($bookingRule);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>end</span></font></b><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>This second step is
only here to tell Drools that DealMatchingBookingRules have changed, this is needed
for the next step.<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>I can&#8217;t call &#8220;</span></font><font
size=2 color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>update($dealMatchingBookingRules)&#8221;</span></font><font
size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>
in the previous rule, because if 2 booking rule matches the same deal, an
infinite loop occurs.<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>My explanation is the
following one (as far as I understand how Drools works) : &#160;<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>1 &#8211; Drools rule
is activated for first booking rule =&gt; $dealMatchingBookingRules is updated&#160;
<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>2 - Drools rule is
activated for second booking rule =&gt; $dealMatchingBookingRules is updated<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>3 - since
$dealMatchingBookingRules has been updated for Drools it will execute again the
rule for first booking rule&#160; <o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>4 - since
$dealMatchingBookingRules has been updated for Drools it will execute again the
rule for second booking rule<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>It continues to execute
step 3, then step 4, then step 3 ... infinite loop !</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>Question : <o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>Is there a better way
of telling Drools that DealMatchingBookingRules have changed and avoid activating
the rule again ? <o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>If none, can I update all
</span></font><font size=2 color=black face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:black'>DealMatchingBookingRules</span></font><font
size=2 face=Verdana><span lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>
more efficiently ? &#160;<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Refresh&quot;</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>salience</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> 5</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Refresh&quot;</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160; $dealMatchingBookingRules : DealMatchingBookingRules()</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>then</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>update</span></font></b><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>($dealMatchingBookingRules);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>end</span></font></b><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>Last rule job (and last
flow step), is to determine which booking rule to apply among the ones matching
a specific deal.<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>When we find the right booking
rule, we book the deal and process is finished for the deal.<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>&#160;&#160;<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>Questions : <o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>I think that no-loop
and the retract isntruction are doing the same job, question is which the one
to remove to have the best performance improvement and why ?<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>(I will launch performance
test anyway but It would be cool to have some insight on Drools)<o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; </span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>rule</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Apply
booking rule&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>no-loop</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>ruleflow-group</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><font size=2 color=green face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:green'>&quot;Apply
booking rule group&quot;</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>when</span></font></b><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160; $dealMatchingBookingRules : DealMatchingBookingRules(
hasSingleMatchingLevel1BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ||
hasSingleMatchingLevel2BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;||
hasSingleMatchingLevel3BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ||
hasSingleMatchingLevel4BookingRule == </span></font><b><font size=2
color="#960000" face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:#960000;font-weight:bold'>true</span></font></b><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160; )</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>then</span></font></b><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; MarketDealModel dealModel =
$dealMatchingBookingRules.getDeal();</span></font><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>if</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> ($dealMatchingBookingRules.getHasSingleMatchingLevel1BookingRule())
{</span></font><font size=2 face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; BTExecutionBookingRuleModel effectiveBookingRuleModel =
$dealMatchingBookingRules.getSingleMatchingLevel1BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160;&#160;&#160; effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; } </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>else</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>if</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>
($dealMatchingBookingRules.getHasSingleMatchingLevel2BookingRule()) {</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;BTExecutionBookingRuleModel effectiveBookingRuleModel =
$dealMatchingBookingRules.getSingleMatchingLevel2BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; &#160; &#160;&#160;&#160; effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; } </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>else</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>if</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>
($dealMatchingBookingRules.getHasSingleMatchingLevel3BookingRule()) {</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;BTExecutionBookingRuleModel effectiveBookingRuleModel =
$dealMatchingBookingRules.getSingleMatchingLevel3BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160;effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; &#160; } </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>else</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'> </span></font><b><font size=2 color="#960000" face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";color:#960000;
font-weight:bold'>if</span></font></b><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>
($dealMatchingBookingRules.getHasSingleMatchingLevel4BookingRule()) {</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; BTExecutionBookingRuleModel effectiveBookingRuleModel
= $dealMatchingBookingRules.getSingleMatchingLevel4BookingRule();</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; effectiveBookingRuleModel.applyRuleOnDeal(dealModel);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; }</span></font><font size=2 face="Courier New"><span
lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 color=black
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:black'>&#160;&#160;&#160;&#160;&#160; </span></font><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>retract</span></font></b><font size=2
color=black face="Courier New"><span lang=EN-GB style='font-size:10.0pt;
font-family:"Courier New";color:black'>($dealMatchingBookingRules);</span></font><font
size=2 face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:
"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal style='text-autospace:none'><b><font size=2 color="#960000"
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New";
color:#960000;font-weight:bold'>end</span></font></b><font size=2
face="Courier New"><span lang=EN-GB style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>So to summarize my questions&nbsp;: <o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:39.75pt;text-indent:-18.0pt;mso-list:
l4 level1 lfo6'><![if !supportLists]><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'><span style='mso-list:
Ignore'>1.<font size=1 face="Times New Roman"><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>In my specific case, is
there a way to update facts without activating same rules again ?<o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:39.75pt;text-indent:-18.0pt;mso-list:
l4 level1 lfo6'><![if !supportLists]><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'><span style='mso-list:
Ignore'>2.<font size=1 face="Times New Roman"><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 face=Verdana><span
lang=EN-GB style='font-size:10.0pt;font-family:Verdana'>What is the more efficient
between no-loop or retract ?<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span lang=EN-GB style='font-size:
10.0pt;font-family:Verdana'>Thanks in advance for your lights, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Verdana><span style='font-size:10.0pt;
font-family:Verdana'>Regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Verdana><span lang=EN-GB
style='font-size:10.0pt;font-family:Verdana;color:blue'><O:P>&nbsp;</O:P></span></font><span
lang=EN-GB><o:p></o:p></span></p>

<p class=MsoNormal><font size=2 face=Verdana><span style='font-size:10.0pt;
font-family:Verdana'>Jo&#235;l Costigliola</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

 </DIV>
<DIV>
</DIV>
<DIV>
<HR>
</DIV>
<DIV ALIGN="justify">
<FONT FACE="Arial" COLOR="gray" SIZE="1"><SPAN STYLE="FONT-SIZE: 12pt"><FONT FACE="Arial">
<FONT FACE="Times New Roman" COLOR="#000000" SIZE="3">
</FONT>
</FONT></SPAN></FONT>&nbsp;</DIV>
<DIV ALIGN="justify">
<FONT COLOR="gray"><SPAN STYLE="FONT-SIZE: 12pt"><FONT COLOR="#000000" SIZE="2">Ce courriel et toutes les pi&#232;ces jointes sont confidentiels et peuvent &#234;tre couverts par un privil&#232;ge ou une protection l&#233;gale. Il est &#233;tabli &#224; l&#8217;attention exclusive de ses destinataires. Toute utilisation de ce courriel non conforme &#224; sa destination, toute diffusion ou toute publication, totale ou partielle, est interdite, sauf autorisation expresse pr&#233;alable. Toutes opinions exprim&#233;es dans ce courriel ne sauraient n&#233;cessairement refl&#233;ter celle de Natixis, de ses filiales. Elles sont aussi susceptibles de modification sans notification pr&#233;alable. Si vous recevez ce courriel par erreur, merci de le d&#233;truire et d&#8217;en avertir imm&#233;diatement l&#8217;exp&#233;diteur. L&#8217;Internet ne permettant pas d&#8217;assurer l&#8217;int&#233;grit&#233; de ce courriel, Natixis d&#233;cline toute responsabilit&#233; s&#8217;il a &#233;t&#233; alt&#233;r&#233;, d&#233;form&#233; ou falsifi&#233; et chaque destinataire qui utilise ce mode de communication est suppos&#233; en accepter les risques.</FONT></SPAN></FONT>
</DIV>
<DIV ALIGN="justify">
<FONT COLOR="gray"><SPAN STYLE="FONT-SIZE: 12pt"></SPAN></FONT>&nbsp;</DIV>
<DIV ALIGN="justify">
<FONT COLOR="gray"><SPAN STYLE="FONT-SIZE: 12pt"></SPAN></FONT>
<FONT COLOR="gray"><SPAN STYLE="FONT-SIZE: 12pt"><FONT COLOR="#000000" SIZE="2">This email and any attachment are confidential and may be legally privileged or otherwise protected from disclosure. It is intended only for the stated addressee(s) and access to it by any other person(s) is unauthorised. Any use, dissemination or disclosure not in accordance with its purpose, either in whole or in part, is prohibited without our prior formal approval. Any opinion expressed in this email may not necessarily reflect the opinion of Natixis, its affiliates. It may also be subject to change without prior notice. If you are not an addressee, you must not disclose, copy, circulate or in any other way use or rely on the information contained in this email. If you have received it in error, please inform us immediately and delete all copies. The Internet can not guarantee the integrity of this email therefore Natixis shall not be liable for the email if altered, changed or falsified and anyone who communicates with us by e-mail is taken to accept these risks.</FONT></SPAN></FONT>
</DIV>
<P CLASS="MsoNormal" ALIGN="justify">
<HR>

<P>
</P>
<P>
</P>
</P>
</DIV></BODY></HTML>