<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<HEAD><!-- Template generated by Exclaimer Template Editor on 10:38:28 Thursday, 31 January 2013 -->
<STYLE type=text/css>P.2ee1cc27-72fd-41ad-a721-72d082ea8444 {
        MARGIN: 0cm 0cm 0pt
}
LI.2ee1cc27-72fd-41ad-a721-72d082ea8444 {
        MARGIN: 0cm 0cm 0pt
}
DIV.2ee1cc27-72fd-41ad-a721-72d082ea8444 {
        MARGIN: 0cm 0cm 0pt
}
TABLE.2ee1cc27-72fd-41ad-a721-72d082ea8444Table {
        MARGIN: 0cm 0cm 0pt
}
DIV.Section1 {
        page: Section1
}
</STYLE>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Generator" content="Microsoft Word 12 (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:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Lucida Console";
        panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:14.0pt;
        font-family:"Lucida Console";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Lucida Console";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1969700776;
        mso-list-type:hybrid;
        mso-list-template-ids:1427250310 610334164 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:16;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</HEAD>

<BODY lang="EN-US" link="blue" vlink="purple">
<P>
<div class="WordSection1">
<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style=font-family:Wingdings><span style=mso-list:Ignore>Ø<span style="font:7.0pt &quot;Times New Roman&quot;">
</span></span></span><![endif]>On Thu, Jan 31, 2013 at 3:49 AM, Stephen Masters &lt;<a href="mailto:stephen.masters@me.com"><span style=color:windowtext;text-decoration:none>stephen.masters@me.com</span></a>&gt; wrote:<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style=font-family:Wingdings><span style=mso-list:Ignore>Ø<span style="font:7.0pt &quot;Times New Roman&quot;">
</span></span></span><![endif]>&gt; fyi - if you're just learning your way around working memory event
<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style=font-family:Wingdings><span style=mso-list:Ignore>Ø<span style="font:7.0pt &quot;Times New Roman&quot;">
</span></span></span><![endif]>&gt; listeners and the like, here's some example code. It's an extended
<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style=font-family:Wingdings><span style=mso-list:Ignore>Ø<span style="font:7.0pt &quot;Times New Roman&quot;">
</span></span></span><![endif]>&gt; version of something I found in the Drools docs.<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style=font-family:Wingdings><span style=mso-list:Ignore>Ø<span style="font:7.0pt &quot;Times New Roman&quot;">
</span></span></span><![endif]><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1">
<![if !supportLists]><span style=font-family:Wingdings><span style=mso-list:Ignore>Ø<span style="font:7.0pt &quot;Times New Roman&quot;">
</span></span></span><![endif]>Cool. Thanks for the code.<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText"><span style=color:#1F497D>Thanks indeed Stephen.<o:p></o:p></span></p>
<p class="MsoPlainText"><span style=color:#1F497D><o:p>&nbsp;</o:p></span></p>
<p class="MsoPlainText"><span style=color:#1F497D>Another very-quick newbie question (sorry if I should have done the work to research the answer myself):<o:p></o:p></span></p>
<p class="MsoPlainText"><span style=color:#1F497D><o:p>&nbsp;</o:p></span></p>
<p class="MsoPlainText"><span style=color:#1F497D>Is it at all possible for listeners, once they have established that a rule has failed, to provide any higher resolution information that could potentially help answer the question &#8220;why did this rule fail?&#8221;
 &#8211; e.g. identify the specific L-value predicate participant that failed to match, etc.?<o:p></o:p></span></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">-----Original Message-----<br />
From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Grant Rettke<br />
Sent: Thursday, January 31, 2013 10:10 AM<br />
To: Rules Users List<br />
Subject: Re: [rules-users] Non short circuit ANDing<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">On Thu, Jan 31, 2013 at 3:49 AM, Stephen Masters &lt;<a href="mailto:stephen.masters@me.com"><span style=color:windowtext;text-decoration:none>stephen.masters@me.com</span></a>&gt; wrote:<o:p></o:p></p>
<p class="MsoPlainText">&gt; fyi - if you're just learning your way around working memory event
<o:p></o:p></p>
<p class="MsoPlainText">&gt; listeners and the like, here's some example code. It's an extended
<o:p></o:p></p>
<p class="MsoPlainText">&gt; version of something I found in the Drools docs.<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">Cool. Thanks for the code.<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">The discussion has got me curious, here is the conclusion that I had made about rules engines:<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">1. Start with normal code. Write it in a way that lets you achieve your goal. Performance is not the primary focus. Work with the business do agile. Get all the auditing you want because it is just normal code. Life goes on.<o:p></o:p></p>
<p class="MsoPlainText">2. Life is good but the performance is too slow. This is where you cut over to a RETE based rules engine.<o:p></o:p></p>
<p class="MsoPlainText"><o:p>&nbsp;</o:p></p>
<p class="MsoPlainText">Does that sound right?<o:p></o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">rules-users mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:rules-users@lists.jboss.org"><span style=color:windowtext;text-decoration:none>rules-users@lists.jboss.org</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="https://lists.jboss.org/mailman/listinfo/rules-users"><span style=color:windowtext;text-decoration:none>https://lists.jboss.org/mailman/listinfo/rules-users</span></a><o:p></o:p></p>
</div>
<BR /><BR />
<HR id=HR1 />
<BR /><SPAN style="FONT-FAMILY: Arial; COLOR: #808080; FONT-SIZE: 7.5pt">NOTICE: 
Morgan Stanley is not acting as a municipal advisor and the opinions or views 
contained herein are not intended to be, and do not constitute, advice within 
the meaning of Section 975 of the Dodd-Frank Wall Street Reform and Consumer 
Protection Act. If you have received this communication in error, please destroy 
all electronic and paper copies and notify the sender immediately. 
Mistransmission is not intended to waive confidentiality or privilege. Morgan 
Stanley reserves the right, to the extent permitted under applicable law, to 
monitor electronic communications. This message is subject to terms available at 
the following link: <A style="FONT-FAMILY: Arial; COLOR: #808080; FONT-SIZE: 7.5pt" href="http://www.morganstanley.com/disclaimers">http://www.morganstanley.com/disclaimers</A> 
If you cannot access these links, please notify us by reply message and we will 
send the contents to you. By messaging with Morgan Stanley you consent to the 
foregoing.</SPAN><BR />
<P></P>
<P></P></P></BODY>
</HTML>