<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Maybe because the 1.0 is in single quotes, and not double quotes, like the others?</span></div><div><br></div>  <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> "Cotton, Ben" &lt;Ben.Cotton@morganstanley.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> Rules Users List &lt;rules-users@lists.jboss.org&gt; <br> <b><span style="font-weight: bold;">Sent:</span></b> Friday, October 26, 2012 12:15 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> [rules-users] refactoring "complex" conditon to use "in" operator<br> </font> </div> <br>
<div id="yiv1649918855">

<style type="text/css">#yiv1649918855 P.yiv1649918855cd987f72-e700-448b-b4e1-7fb38b81e891 {
MARGIN:0cm 0cm 0pt;}
#yiv1649918855 LI.yiv1649918855cd987f72-e700-448b-b4e1-7fb38b81e891 {
MARGIN:0cm 0cm 0pt;}
#yiv1649918855 DIV.yiv1649918855cd987f72-e700-448b-b4e1-7fb38b81e891 {
MARGIN:0cm 0cm 0pt;}
#yiv1649918855 TABLE.yiv1649918855cd987f72-e700-448b-b4e1-7fb38b81e891Table {
MARGIN:0cm 0cm 0pt;}
#yiv1649918855 DIV.yiv1649918855Section1 {
}
</style>

 
 
<style><!--
#yiv1649918855  
 _filtered #yiv1649918855 {font-family:"Cambria Math";panose-1:2 4 5 3 5 4 6 3 2 4;}
 _filtered #yiv1649918855 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}
 _filtered #yiv1649918855 {font-family:Tahoma;panose-1:2 11 6 4 3 5 4 4 2 4;}
#yiv1649918855  
#yiv1649918855 p.yiv1649918855MsoNormal, #yiv1649918855 li.yiv1649918855MsoNormal, #yiv1649918855 div.yiv1649918855MsoNormal
        {margin:0in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri", "sans-serif";}
#yiv1649918855 a:link, #yiv1649918855 span.yiv1649918855MsoHyperlink
        {color:blue;text-decoration:underline;}
#yiv1649918855 a:visited, #yiv1649918855 span.yiv1649918855MsoHyperlinkFollowed
        {color:purple;text-decoration:underline;}
#yiv1649918855 span.yiv1649918855EmailStyle17
        {font-family:"Calibri", "sans-serif";color:windowtext;}
#yiv1649918855 .yiv1649918855MsoChpDefault
        {}
 _filtered #yiv1649918855 {margin:1.0in 1.0in 1.0in 1.0in;}
#yiv1649918855 div.yiv1649918855WordSection1
        {}
--></style>


<div>
<div>
</div><div class="yiv1649918855WordSection1">
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;">Hi,</span></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;"> &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;">The following rule is working well.</span></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;"> &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal" style=""><b><span style="color:#960000;">rule</span></b><span style="color:black;">
</span><span style="color:green;">"foo"</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><b><span style="color:#960000;">when</span></b><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Message(_initialStubRate ==
</span><span style="color:green;">"1.0"</span><span style="color:black;">) ||</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Message(_initialStubRate ==
</span><span style="color:green;">"2.0"</span><span style="color:black;">) || (</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Message(_initialStubRate &gt;=
</span><span style="color:green;">"4.0"</span><span style="color:black;">) &amp;&amp;</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Message(_initialStubRate &lt;=
</span><span style="color:green;">"44.0"</span><span style="color:black;">)</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) ||</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Message(_initialStubRate ==
</span><span style="color:green;">"52.0"</span><span style="color:black;">)</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><b><span style="color:#960000;">then</span></b><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp; System.out.println(</span><span style="color:green;">"foo"</span><span style="color:black;">);</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal"><b><span style="color:#960000;">End</span></b></div> 
<div class="yiv1649918855MsoNormal"><b><span style="color:#960000;"> &nbsp;</span></b></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;">To make this logic more amenable to being generically rendered via .DRT template, I want to simplify this rule .&nbsp; Consider the following re-factoring.</span></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;"> &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal" style=""><b><span style="color:#960000;">rule</span></b><span style="color:black;">
</span><span style="color:green;">"bar"</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><b><span style="color:#960000;">when</span></b><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Message(_initialStubRate
</span><b><span style="color:#960000;">in</span></b><span style="color:black;"> (</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="color:green;">'1.0'</span><span style="color:black;">,</span><span style="color:green;">"2.0"</span><span style="color:black;">,</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="color:green;">"4.0"</span><span style="color:black;">,</span><span style="color:green;">"5.0"</span><span style="color:black;">,</span><span style="color:green;">"6.0"</span><span style="color:black;">,</span><span style="color:green;">"7.0"</span><span style="color:black;">,</span><span style="color:green;">"8.0"</span><span style="color:black;">,</span><span style="color:green;">"9.0"</span><span style="color:black;">,</span><span style="color:green;">"10.0"</span><span style="color:black;">,
</span><span style="color:green;">"11.0"</span><span style="color:black;">,
</span><span style="color:green;">"12.0"</span><span style="color:black;">,</span><span style="color:green;">"13.0"</span><span style="color:black;">,</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="color:green;">"14.0"</span><span style="color:black;">,</span><span style="color:green;">"15.0"</span><span style="color:black;">,</span><span style="color:green;">"16.0"</span><span style="color:black;">,</span><span style="color:green;">"17.0"</span><span style="color:black;">,</span><span style="color:green;">"18.0"</span><span style="color:black;">,</span><span style="color:green;">"19.0"</span><span style="color:black;">,</span><span style="color:green;">"20.0"</span><span style="color:black;">,
</span><span style="color:green;">"21.0"</span><span style="color:black;">,
</span><span style="color:green;">"22.0"</span><span style="color:black;">,</span><span style="color:green;">"23.0"</span><span style="color:black;">,</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="color:green;">"24.0"</span><span style="color:black;">,</span><span style="color:green;">"25.0"</span><span style="color:black;">,</span><span style="color:green;">"26.0"</span><span style="color:black;">,</span><span style="color:green;">"27.0"</span><span style="color:black;">,</span><span style="color:green;">"28.0"</span><span style="color:black;">,</span><span style="color:green;">"29.0"</span><span style="color:black;">,</span><span style="color:green;">"30.0"</span><span style="color:black;">,
</span><span style="color:green;">"31.0"</span><span style="color:black;">,
</span><span style="color:green;">"32.0"</span><span style="color:black;">,</span><span style="color:green;">"33.0"</span><span style="color:black;">,</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="color:green;">"34.0"</span><span style="color:black;">,</span><span style="color:green;">"35.0"</span><span style="color:black;">,</span><span style="color:green;">"36.0"</span><span style="color:black;">,</span><span style="color:green;">"37.0"</span><span style="color:black;">,</span><span style="color:green;">"38.0"</span><span style="color:black;">,</span><span style="color:green;">"39.0"</span><span style="color:black;">,</span><span style="color:green;">"40.0"</span><span style="color:black;">,
</span><span style="color:green;">"41.0"</span><span style="color:black;">,
</span><span style="color:green;">"42.0"</span><span style="color:black;">,</span><span style="color:green;">"43.0"</span><span style="color:black;">,</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="color:green;">"44.0"</span><span style="color:black;">,</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span style="color:green;">"52.0"</span><span style="color:black;">)</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><b><span style="color:#960000;">then</span></b><span style=""></span></div> 
<div class="yiv1649918855MsoNormal" style=""><span style="color:black;">&nbsp;&nbsp;&nbsp; System.out.println(</span><span style="color:green;">"bar"</span><span style="color:black;">);</span><span style=""></span></div> 
<div class="yiv1649918855MsoNormal"><b><span style="color:#960000;">end</span></b><span style="font-size:12.0pt;"></span></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;"> &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;">This re-facotred rule produces a syntax error in Eclipse’s .DRL view.&nbsp; &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;"> &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal" style="text-indent:.05pt;"><b><span style="font-size:8.0pt;color:#C00000;">BuildError: Unable to Analyse Expression</span></b><span style="font-size:8.0pt;color:#C00000;">
 _initialStubRate == "1.0" || _initialStubRate == "2.0" || _initialStubRate == "4.0" || _initialStubRate == "5.0" || _initialStubRate == "6.0" || _initialStubRate == "7.0" || _initialStubRate == "8.0" || _initialStubRate == "9.0" || _initialStubRate == "10.0"
 || _initialStubRate == "11.0" || _initialStubRate == "12.0" || _initialStubRate == "13.0" || _initialStubRate == "14.0" || _initialStubRate == "15.0" || _initialStubRate == "16.0" || _initialStubRate == "17.0" || _initialStubRate == "18.0" || _initialStubRate
 == "19.0" || _initialStubRate == "20.0" || _initialStubRate == "21.0" || _initialStubRate == "22.0" || _initialStubRate == "23.0" || _initialStubRate == "24.0" || _initialStubRate == "25.0" || _initialStubRate == "26.0" || _initialStubRate == "27.0" || _initialStubRate
 == "28.0" || _initialStubRate == "29.0" || _initialStubRate == "30.0" || _initialStubRate == "31.0" || _initialStubRate == "32.0" || _initialStubRate == "33.0" || _initialStubRate == "34.0" || _initialStubRate == "35.0" || _initialStubRate == "36.0" || _initialStubRate
 == "37.0" || _initialStubRate == "38.0" || _initialStubRate == "39.0" || _initialStubRate == "40.0" || _initialStubRate == "41.0" || _initialStubRate == "42.0" || _initialStubRate == "43.0" || _initialStubRate == "44.0" || _initialStubRate == "52.0":</span></div> 
<div class="yiv1649918855MsoNormal" style="text-indent:.05pt;"><b><span style="font-size:8.0pt;color:#C00000;">[Error: no such identifier: _initialStubRate]</span></b></div> 
<div class="yiv1649918855MsoNormal" style="text-indent:.05pt;"><b><span style="font-size:8.0pt;color:#C00000;">[Near : {... _initialStubRate == "1.0" || _ ....}]</span></b></div> 
<div class="yiv1649918855MsoNormal" style="text-indent:.05pt;"><span style="font-size:8.0pt;color:#C00000;"> &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal" style="text-indent:.05pt;"><span style="font-size:8.0pt;color:#C00000;"> &nbsp;</span></div> 
<div class="yiv1649918855MsoNormal" style="text-indent:.05pt;"><b><span style="font-size:8.0pt;color:#C00000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^</span></b></div> 
<div class="yiv1649918855MsoNormal"><b><span style="font-size:8.0pt;color:#C00000;">[Line: 1, Column: 1]</span></b></div> 
<div class="yiv1649918855MsoNormal"><b><span style="font-size:8.0pt;color:#C00000;"> &nbsp;</span></b></div> 
<div class="yiv1649918855MsoNormal"><b><span style="font-size:12.0pt;color:#C00000;"> &nbsp;</span></b></div> 
<div class="yiv1649918855MsoNormal"><span style="font-size:12.0pt;">What could be wrong?</span></div> 
<div class="yiv1649918855MsoNormal"><b><span style="font-size:12.0pt;color:#C00000;"> &nbsp;</span></b></div> 
<div class="yiv1649918855MsoNormal"><b><span style="color:gray;">Ben D Cotton III</span></b><span style="font-size:9.0pt;color:gray;"><br>
Morgan Stanley &amp; Co.<br>
OTC Derivatives Clearing Technology <br>
1221 AOTA Rockefeller Ctr - Flr 27<br>
New York, NY 10020<br>
(212)762.9094<br>
<a rel="nofollow" ymailto="mailto:ben.cotton@ms.com" target="_blank" href="mailto:ben.cotton@ms.com"><span style="color:gray;">ben.cotton@ms.com</span></a>
</span></div> 
<div class="yiv1649918855MsoNormal"> &nbsp;</div> 
<div class="yiv1649918855MsoNormal"> &nbsp;</div> 
</div>
<br><br>
<hr id="yiv1649918855HR1">
<br><span style="font-family: Arial; color: rgb(128, 128, 128); 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: http://www.morganstanley.com/disclaimers 
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>
<div></div>
<div></div></div>


</div><br>_______________________________________________<br>rules-users mailing list<br><a ymailto="mailto:rules-users@lists.jboss.org" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br><br> </div> </div>  </div></body></html>