<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt">i see...that would works...but now if you add stuff and make a rule that look like this, the binding will not work...<br><br><span style="font-weight: bold;">rule "dtv_discount_request"</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; when</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MegaTransferObject(orders_FkOrderTypeId == Constants.NEW_COMPLETED_ORDER_TYPE) and</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; not MegaTransferObject(ct:other_ChannelType -&gt;&nbsp; (ct.equalsIgnoreCase(Constants.CHANNEL_TYPE_RESELLER))) and</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (not
 MegaTransferObject(orders_FkChannelId == Constants.ISP_CHANNEL_ID_PRW) and</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; not MegaTransferObject(orders_FkChannelId == Constants.ISP_CHANNEL_ID_TLD) and</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; not MegaTransferObject(orders_FkChannelId == Constants.ISP_CHANNEL_ID_AOL)) and</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (MegaTransferObject(phoneList_GovernmentAccount == null) or MegaTransferObject(phoneList_GovernmentAccount == Constants.FLAG_NO)) and</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (MegaTransferObject(customerProfile_DtvDiscount == null) or MegaTransferObject(customerProfile_DtvDiscount == Constants.FLAG_NO)) and</span><br style="font-weight: bold;"><span
 style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (MegaTransferObject(other_AccountType == null) or MegaTransferObject(other_AccountType == Constants.PHONE_TYPE_RESIDENTIAL)) and</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MegaTransferObject(other_HasDtvDiscountRequest == false)</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; then</span><br style="font-weight: bold;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; menu.add(new String[]{Constants.SERVICE_ASSURANCE_TREE_MENU_DSL, Constants.SERVICE_ASSURANCE_MENU_DTV_DISCOUNT_REQUEST});</span><br style="font-weight: bold;"><span style="font-weight: bold;">end</span><br><div>&nbsp;</div>i was trying to bre creative and add megaTO: before all the MegaTransferObject and it gave me the compilation error you mention...but only after the third megaTO:<br><br><br>Joel G.
 Rivera-Gonzalez<br>PRT<br><br>"The first 90% of a project takes 90% of the time, the last 10% takes the other 90% of the time" - Murphy's Law<div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Edson Tirelli &lt;tirelli@post.com&gt;<br>To: Rules Users List &lt;rules-users@lists.jboss.org&gt;<br>Sent: Tuesday, January 9, 2007 4:39:57 PM<br>Subject: Re: [rules-users] About String..."==" same as ".equals"?<br><br><div>&nbsp;&nbsp; Joel,<br><br>&nbsp;&nbsp; I just noticed in your last rule you do the binding to the same variable:<br><br> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; megaTO:MegaTransferObject(other_AccountType == "RMS")<br> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; megaTO:MegaTransferObject(other_HasDtvDiscountRequest == false)<br><br>&nbsp;&nbsp; I thought that feature was already
 disabled... :( it should give you <br>an error of duplicate variable declaration! is it not raising an error <br>when compiling the rule??<br><br>&nbsp;&nbsp; The correct way of doing it if it is the same object is getting both <br>constraints in the same pattern:<br><br> megaTO: MegaTransferObject( other_AccountType == "RMS", <br>other_HasDtvDiscountRequest == false)<br><br>&nbsp;&nbsp; So, rules 1 and 2 are correct in not firing, since you would need 2 <br>different objects to match the 2 patterns in them.<br>&nbsp;&nbsp; The mapping between patterns and objects is "one-to-one".<br><br>&nbsp;&nbsp; []s<br>&nbsp;&nbsp; Edson<br>&nbsp;&nbsp;<br><br><br>Joel G. Rivera-González wrote:<br><br>&gt; 1. i downloaded the latest release from the download page...<br>&gt; 2. just one MTO...the returning arrayList should have arround 10 values.<br>&gt;<br>&gt; will do an example and (class and ruleFile) and send it to your email...<br>&gt;<br>&gt; thanks<br>&gt;&nbsp;&nbsp;<br>&gt;
 Joel G. Rivera-Gonzalez<br>&gt; PRT<br>&gt;<br>&gt; "The first 90% of a project takes 90% of the time, the last 10% takes <br>&gt; the other 90% of the time" - Murphy's Law<br>&gt;<br>&gt;<br>&gt; ----- Original Message ----<br>&gt; From: Edson Tirelli &lt;tirelli@post.com&gt;<br>&gt; To: Rules Users List &lt;rules-users@lists.jboss.org&gt;<br>&gt; Sent: Tuesday, January 9, 2007 3:29:26 PM<br>&gt; Subject: Re: [rules-users] About String..."==" same as ".equals"?<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Joel,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Your rules seems to be correct.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Questions:<br>&gt;<br>&gt; 1. What JBRules version are you using?<br>&gt;<br>&gt; 2. How many MTO instances are you asserting in the working memory, that<br>&gt; would match each Pattern in your rule?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;It may be an issue with "or". Can you provide a self contained test<br>&gt; for me to
 investigate?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Thank you<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Edson<br>&gt;<br>&gt; Joel G. Rivera-González wrote:<br>&gt;<br>&gt; &gt; i have to be doing something wrong...but it make no sense...<br>&gt; &gt; a MegaTransferObject is asserted.<br>&gt; &gt;<br>&gt; &gt; case1: No rules fired.<br>&gt; &gt; rule "dtv_discount_request"<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; when<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MegaTransferObject(other_AccountType == null) or<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MegaTransferObject(other_AccountType ==<br>&gt; &gt; Constants.PHONE_TYPE_RESIDENTIAL)<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MegaTransferObject(other_HasDtvDiscountRequest == false)<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; then<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; menu.add(new<br>&gt; &gt; String[]{Constants.SERVICE_ASSURANCE_TREE_MENU_DSL,<br>&gt;
 &gt; Constants.SERVICE_ASSURANCE_MENU_DTV_DISCOUNT_REQUEST});<br>&gt; &gt; end<br>&gt; &gt;<br>&gt; &gt; case 2: no rule fired.<br>&gt; &gt;<br>&gt; &gt; rule "dtv_discount_request"<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; when<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MegaTransferObject(other_AccountType == null) or<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MegaTransferObject(other_AccountType == "RMS")<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MegaTransferObject(other_HasDtvDiscountRequest == false)<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; then<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; menu.add(new<br>&gt; &gt; String[]{Constants.SERVICE_ASSURANCE_TREE_MENU_DSL,<br>&gt; &gt; Constants.SERVICE_ASSURANCE_MENU_DTV_DISCOUNT_REQUEST});<br>&gt; &gt; end<br>&gt; &gt;<br>&gt; &gt; case 3: rule fired<br>&gt; &gt;&nbsp;&nbsp;<br>&gt; &gt; rule "dtv_discount_request"<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;
 when<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; megaTO:MegaTransferObject(other_AccountType == "RMS")<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; megaTO:MegaTransferObject(other_HasDtvDiscountRequest == false)<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; then<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; menu.add(new<br>&gt; &gt; String[]{Constants.SERVICE_ASSURANCE_TREE_MENU_DSL,<br>&gt; &gt; Constants.SERVICE_ASSURANCE_MENU_DTV_DISCOUNT_REQUEST});<br>&gt; &gt; end<br>&gt; &gt;<br>&gt; &gt; i really dont get it...<br>&gt; &gt; i must not be getting something...<br>&gt; &gt; help...<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Joel G. Rivera-Gonzalez<br>&gt; &gt; PRT<br>&gt; &gt;<br>&gt; &gt; "The first 90% of a project takes 90% of the time, the last 10% takes<br>&gt; &gt; the other 90% of the time" - Murphy's Law<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; ----- Original Message ----<br>&gt; &gt; From: Edson Tirelli
 &lt;tirelli@post.com&gt;<br>&gt; &gt; To: Rules Users List &lt;rules-users@lists.jboss.org&gt;<br>&gt; &gt; Sent: Tuesday, January 9, 2007 7:26:35 AM<br>&gt; &gt; Subject: Re: [rules-users] About String..."==" same as ".equals"?<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;Joel,<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;This is the correct syntax and it works (at least we didn't get a<br>&gt; &gt; report for it not working yet):<br>&gt; &gt;<br>&gt; &gt; Object(variable == Constants.value)<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;Can you please elaborate about the problem you are having in order<br>&gt; &gt; for us to help solving it? If it is a bug we need to fix.<br>&gt; &gt;<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;Thank you,<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Edson<br>&gt; &gt;<br>&gt; &gt; Joel G. Rivera-González wrote:<br>&gt; &gt;<br>&gt; &gt; &gt; most (if not all) of my rules will have conditions like this:<br>&gt; &gt;
 &gt; Object(variable == Constants.value)<br>&gt; &gt; &gt; this is not working...<br>&gt; &gt; &gt; BUT if i change the Constants.value to corresponding value from the<br>&gt; &gt; &gt; constants class it will work...<br>&gt; &gt; &gt; is there any other way other than this Object(a:variable-&gt;&nbsp;&nbsp;<br>&gt; &gt; &gt; (a.equals(Constants.value)) to do it?<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;&nbsp;&nbsp;<br>&gt; &gt; &gt; Joel G. Rivera-Gonzalez<br>&gt; &gt; &gt; PRT<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; "The first 90% of a project takes 90% of the time, the last 10% takes<br>&gt; &gt; &gt; the other 90% of the time" - Murphy's Law<br>&gt; &gt; &gt;<br>&gt; &gt; <br>&gt; &gt;------------------------------------------------------------------------<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;_______________________________________________<br>&gt; &gt; &gt;rules-users mailing list<br>&gt; &gt; &gt;rules-users@lists.jboss.org<br>&gt; &gt; &gt;<a
 target="_blank" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>&gt; &gt; &gt;&nbsp;&nbsp;<br>&gt; &gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; --<br>&gt; &gt; Edson Tirelli<br>&gt; &gt; Software Engineer - JBoss Rules Core Developer<br>&gt; &gt; Office: +55 11 3124-6000<br>&gt; &gt; Mobile: +55 11 9218-4151<br>&gt; &gt; JBoss, a division of Red Hat @ <a target="_blank" href="http://www.jboss.com">www.jboss.com</a> &lt;<a target="_blank" href="http://www.jboss.com">http://www.jboss.com</a>&gt; <br>&gt; &lt;<a target="_blank" href="http://www.jboss.com">http://www.jboss.com</a>&gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; rules-users mailing list<br>&gt; &gt; rules-users@lists.jboss.org<br>&gt; &gt; <a target="_blank" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>&gt;
 &gt;<br>&gt; &gt;------------------------------------------------------------------------<br>&gt; &gt;<br>&gt; &gt;_______________________________________________<br>&gt; &gt;rules-users mailing list<br>&gt; &gt;rules-users@lists.jboss.org<br>&gt; &gt;<a target="_blank" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>&gt; &gt;&nbsp;&nbsp;<br>&gt; &gt;<br>&gt;<br>&gt;<br>&gt; -- <br>&gt; Edson Tirelli<br>&gt; Software Engineer - JBoss Rules Core Developer<br>&gt; Office: +55 11 3124-6000<br>&gt; Mobile: +55 11 9218-4151<br>&gt; JBoss, a division of Red Hat @ <a target="_blank" href="http://www.jboss.com">www.jboss.com</a> &lt;<a target="_blank" href="http://www.jboss.com">http://www.jboss.com</a>&gt;<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; rules-users mailing list<br>&gt; rules-users@lists.jboss.org<br>&gt; <a target="_blank"
 href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>&gt;<br>&gt;------------------------------------------------------------------------<br>&gt;<br>&gt;_______________________________________________<br>&gt;rules-users mailing list<br>&gt;rules-users@lists.jboss.org<br>&gt;<a target="_blank" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>&gt;&nbsp;&nbsp;<br>&gt;<br><br><br>-- <br> Edson Tirelli<br> Software Engineer - JBoss Rules Core Developer<br> Office: +55 11 3124-6000<br> Mobile: +55 11 9218-4151<br> JBoss, a division of Red Hat @ <a target="_blank" href="http://www.jboss.com">www.jboss.com</a><br><br><br>_______________________________________________<br>rules-users mailing list<br>rules-users@lists.jboss.org<br><a target="_blank"
 href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></div></div><br></div></div></body></html>