<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">If the attribute <span class="Apple-style-span" style="font-family: 'Courier New'; ">IPhoneSentences.Sentence.</span><span class="Apple-style-span" style="font-family: 'Courier New'; ">descriptor </span>is a Collection<ETimeConstraint> then this makes perfect sense. The elements are instances of ETimeConstraint (what your second rule tests for) not instances of the enum class definition ETimeConstraint. (what your first rule tests for...maybe...) However, I'm wondering why the first version of the "My Test" rule compiles at all. It doesn't when I try it.<div><br>--- On <b>Tue, 9/13/11, Hezi Stern <i><hezis@delegatecom.com></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Hezi Stern <hezis@delegatecom.com><br>Subject: [rules-users] Problem
evaluating with Enum<br>To: rules-users@lists.jboss.org<br>Date: Tuesday, September 13, 2011, 3:54 PM<br><br><div id="yiv173820371"><style><!--
#yiv173820371
_filtered #yiv173820371 {font-family:Wingdings;panose-1:5 0 0 0 0 0 0 0 0 0;}
_filtered #yiv173820371 {font-family:Wingdings;panose-1:5 0 0 0 0 0 0 0 0 0;}
_filtered #yiv173820371 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}
#yiv173820371
#yiv173820371 p.yiv173820371MsoNormal, #yiv173820371 li.yiv173820371MsoNormal, #yiv173820371 div.yiv173820371MsoNormal
        {margin:0in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"sans-serif";}
#yiv173820371 a:link, #yiv173820371 span.yiv173820371MsoHyperlink
        {color:blue;text-decoration:underline;}
#yiv173820371 a:visited, #yiv173820371 span.yiv173820371MsoHyperlinkFollowed
        {color:purple;text-decoration:underline;}
#yiv173820371 p.yiv173820371MsoListParagraph, #yiv173820371 li.yiv173820371MsoListParagraph, #yiv173820371 div.yiv173820371MsoListParagraph
        {margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"sans-serif";}
#yiv173820371 span.yiv173820371EmailStyle17
        {font-family:"sans-serif";color:windowtext;}
#yiv173820371 .yiv173820371MsoChpDefault
        {font-family:"sans-serif";}
_filtered #yiv173820371 {margin:1.0in 1.0in 1.0in 1.0in;}
#yiv173820371 div.yiv173820371WordSection1
        {}
#yiv173820371
_filtered #yiv173820371 {}
_filtered #yiv173820371 {font-family:"sans-serif";}
_filtered #yiv173820371 {font-family:"Courier New";}
_filtered #yiv173820371 {font-family:Wingdings;}
_filtered #yiv173820371 {font-family:Symbol;}
_filtered #yiv173820371 {font-family:"Courier New";}
_filtered #yiv173820371 {font-family:Wingdings;}
_filtered #yiv173820371 {font-family:Symbol;}
_filtered #yiv173820371 {font-family:"Courier New";}
_filtered #yiv173820371 {font-family:Wingdings;}
#yiv173820371 ol
        {margin-bottom:0in;}
#yiv173820371 ul
        {margin-bottom:0in;}
--></style><div class="yiv173820371WordSection1"><p class="yiv173820371MsoNormal">I have encountered the following problem using enums in drools.</p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal">I have an enum defined called ETimeConstraint, something of the sort:</p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal" style=""><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055;">public</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055;">enum</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> <span style="background:silver;">ETimeConstraint</span> {</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span
style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><i><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0;">NO_CONSTRAINT</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:black;">,</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><i><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0;">TODAY</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:black;">,</span></p><p class="yiv173820371MsoNormal" style="text-indent:.5in;"><i><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0;">TOMORROW</span></i><span style="font-size:10.0pt;font-family:"Courier
New";color:black;">,</span></p><p class="yiv173820371MsoNormal" style="text-indent:.5in;"><span style="font-size:10.0pt;font-family:"Courier New";color:black;">;</span></p><p class="yiv173820371MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;">}</span></p><p class="yiv173820371MsoNormal" style="text-indent:.5in;"><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span></p><p class="yiv173820371MsoNormal">Now I wish to filter sentences which reside in the working memory based on a time constraint which is of this enum type.</p><p class="yiv173820371MsoNormal">I created the following test rule</p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal" style=""><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">rule</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:green;">"My Test"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">when</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><span style="font-size:10.0pt;font-family:"Courier
New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> $sentences: ArrayList() </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">from</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier
New";color:#960000;">collect</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> (IPhoneSentences.Sentence(</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> descriptor </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">contains</span></b><span style="font-size:10.0pt;font-family:"Courier
New";color:black;"> ETimeConstraint</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> ))</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span
style="font-size:10.0pt;font-family:"Courier New";color:#960000;">then</span></b><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> //something</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">end</span></b><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal">this does not work meaning no sentence are selected although I know that there are sentences in the working memory. </p><p class="yiv173820371MsoNormal">but when I add ETimeConstraint.name it does:</p><p
class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal" style=""><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">rule</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><span style="font-size:10.0pt;font-family:"Courier New";color:green;">"My Test"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">when</span></b><span style="font-size:10.0pt;font-family:"Courier
New";color:black;"> </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> $sentences: ArrayList() </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier
New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">from</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">collect</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> (IPhoneSentences.Sentence(</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;">
descriptor </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">contains</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> ETimeConstraint.name </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;">
))</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">then</span></b><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier
New";color:black;"> //something</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">end</span></b><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal">I can stick to this workaround but it becomes very problematic to work this way. Furthermore once I wish to define a variable for example defining $timeConstraint :</p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal" style=""><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">rule</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><span
style="font-size:10.0pt;font-family:"Courier New";color:green;">"My Test"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">when</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p
class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> $cm: Condition(</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span>$<span style="font-size:10.0pt;font-family:"Courier New";color:black;">timeConstraint: contextIntention,
</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> )</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier
New";color:black;"> </span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span></p><p class="yiv173820371MsoNormal" style="margin-left:1.0in;text-indent:.5in;"><span style="font-size:10.0pt;font-family:"Courier New";color:black;">$sentences: ArrayList() </span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span
style="font-size:10.0pt;font-family:"Courier New";color:#960000;">from</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">collect</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> (IPhoneSentences.Sentence(</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;">
descriptor </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">contains</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span>$<span style="font-size:10.0pt;font-family:"Courier New";color:black;">timeConstraint</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;">
))</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier New";color:black;"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">then</span></b><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><span style="font-size:10.0pt;font-family:"Courier
New";color:black;"> //something</span><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal" style=""><b><span style="font-size:10.0pt;font-family:"Courier New";color:#960000;">end</span></b><span style="font-size:10.0pt;font-family:"Courier New";"></span></p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal">this will not work because I can’t put $<span style="font-size:10.0pt;font-family:"Courier New";color:black;">timeConstraint.name</span></p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal">any suggestions?</p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal">I am running:</p><p class="yiv173820371MsoListParagraph" style=""><span style="">-<span style="font:7.0pt
"Times New Roman";"> </span></span><span dir="LTR"></span>Drools 5.2.0</p><p class="yiv173820371MsoListParagraph" style=""><span style="">-<span style="font:7.0pt "Times New Roman";"> </span></span><span dir="LTR"></span>Eclipse Helios </p><p class="yiv173820371MsoListParagraph" style=""><span style="">-<span style="font:7.0pt "Times New Roman";"> </span></span><span dir="LTR"></span>JBoss 5.1.0</p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal">Thanks</p><p class="yiv173820371MsoNormal">Hezi</p><p class="yiv173820371MsoNormal"> </p><p class="yiv173820371MsoNormal"> </p></div></div><br>-----Inline Attachment Follows-----<br><br><div
class="plainMail">_______________________________________________<br>rules-users mailing list<br><a ymailto="mailto:rules-users@lists.jboss.org" href="/mc/compose?to=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></div></blockquote></div></td></tr></table>