<div dir="ltr">Hello list,<br><br>I have a rule that generally speaking looks like this :<br><br>rule &quot;ABC&quot;<br>when<br>&nbsp;&nbsp;&nbsp; $f : FilteringStateConnector($campaignId : campaignId)<br><br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; $campaign : Campaign(code == $campaignId<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ,$limitTypeEnum : limitTypeEnum, $limitByEventType : limitByEventType)<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; // Check Budget limit pass conditions:<br>&nbsp;&nbsp;&nbsp; (<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eval(BooleanLogging.trace(log,&nbsp;&nbsp;&nbsp; &quot;DEBUG: &quot; + ($limitTypeEnum == ENUM1.BudgetLimitFlag))) and <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eval(BooleanLogging.trace(log,&nbsp;&nbsp;&nbsp; &quot;DEBUG: Always here, right now&quot;)) and<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eval(BooleanLogging.trace(log,&nbsp;&nbsp;&nbsp; &quot;DEBUG: &quot; + ($limitByEventType == ENUM2._2_EXPOSED))) and<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Campaign(code == $campaignId, limitTypeEnum == ENUM1.BudgetLimitFlag, limitByEventType ==&nbsp; ENUM2._2_EXPOSED) and<br>
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eval(BooleanLogging.trace(log,&nbsp;&nbsp;&nbsp; &quot;DEBUG: Right here, right now&quot;)) <br><br>&nbsp;&nbsp;&nbsp; ) or (<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp; ) <br><br>then<br>...<br>end<br><br><br><br>The line &quot;&quot;&quot; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eval(BooleanLogging.trace(log,&nbsp;&nbsp;&nbsp; &quot;DEBUG: &quot; + ($limitTypeEnum == ENUM1.BudgetLimitFlag))) &quot;&quot;&quot; evaluates to &quot;true&quot; in the logs.<br>
The line &quot;&quot;&quot; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; eval(BooleanLogging.trace(log,&nbsp;&nbsp;&nbsp; &quot;DEBUG: &quot; + ($limitByEventType == ENUM2._2_EXPOSED))) &quot;&quot;&quot; as well. These are java (eval) checks for truth. If I try to use Drools to gain the rete optimization by writing :&nbsp; <br>
&quot;&quot;&quot; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Campaign(code == $campaignId, limitTypeEnum == ENUM1.BudgetLimitFlag, limitByEventType ==&nbsp; ENUM2._2_EXPOSED)&nbsp; &quot;&quot;&quot;, It never reachers past that line. why is that? Can&#39;t Drools 3 check for truthness of Enum conditionals ? <br>
<br><br>I would love to supply more information if required.<br><br><br><br>Help is highly appreciated, <br>Maxim.<br><br>-- <br>Cheers, <br>Maxim Veksler<br><br>&quot;Free as in Freedom&quot; - Do u GNU ?<br>
</div>