<div dir="ltr">Hello list,<br><br>I have a rule that generally speaking looks like this :<br><br>rule "ABC"<br>when<br> $f : FilteringStateConnector($campaignId : campaignId)<br><br> <br> $campaign : Campaign(code == $campaignId<br>
,$limitTypeEnum : limitTypeEnum, $limitByEventType : limitByEventType)<br> <br> <br> // Check Budget limit pass conditions:<br> (<br> eval(BooleanLogging.trace(log, "DEBUG: " + ($limitTypeEnum == ENUM1.BudgetLimitFlag))) and <br>
eval(BooleanLogging.trace(log, "DEBUG: Always here, right now")) and<br> eval(BooleanLogging.trace(log, "DEBUG: " + ($limitByEventType == ENUM2._2_EXPOSED))) and<br> <br> Campaign(code == $campaignId, limitTypeEnum == ENUM1.BudgetLimitFlag, limitByEventType == ENUM2._2_EXPOSED) and<br>
<br> eval(BooleanLogging.trace(log, "DEBUG: Right here, right now")) <br><br> ) or (<br> ...<br> ) <br><br>then<br>...<br>end<br><br><br><br>The line """ eval(BooleanLogging.trace(log, "DEBUG: " + ($limitTypeEnum == ENUM1.BudgetLimitFlag))) """ evaluates to "true" in the logs.<br>
The line """ eval(BooleanLogging.trace(log, "DEBUG: " + ($limitByEventType == ENUM2._2_EXPOSED))) """ as well. These are java (eval) checks for truth. If I try to use Drools to gain the rete optimization by writing : <br>
""" Campaign(code == $campaignId, limitTypeEnum == ENUM1.BudgetLimitFlag, limitByEventType == ENUM2._2_EXPOSED) """, It never reachers past that line. why is that? Can'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>"Free as in Freedom" - Do u GNU ?<br>
</div>