<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi,<br>
I've following event declarations and rule:<br>
<br>
declare Event <br>
@role(event) <br>
@timestamp(datetime)<br>
datetime : Date<br>
name : String<br>
end<br>
<br>
declare Contest<br>
@role(event)<br>
@timestamp (startTimestamp)<br>
startTimestamp : Date<br>
endTimestamp : Date<br>
end<br>
<br>
rule "Contest"<br>
no-loop<br>
when <br>
$e : Event(name == "event1")<br>
$contest : Contest(this includes $e)<br>
then <br>
System.out.println("rule Contest fired");<br>
end<br>
<br>
The timestamps with Event and Contest objects are set as follows (before insert in state-full session):<br>
<br>
// for Contest object<br>
Calendar c = Calendar.getInstance();<br>
c.set(2011, 7, 1);<br>
contestType.set(contest, "startTimestamp", new Date(c.getTimeInMillis()));<br>
c.set(2011, 7, 31);<br>
contestType.set(contest, "endTimestamp", new Date(c.getTimeInMillis()));<br>
<br>
// for Event object<br>
c.set(2011, 7, 3);<br>
eventType.set(event, "datetime", new Date(c.getTimeInMillis()));<br>
<br>
The condition "this includes $e" in LHS doesn't get evaluated to true and RHS doesn't get executed.<br>
<br>
If I change it to "$contest.startTimestamp before $e,
$contest.endTimestamp after $e" which has the same meaning then it
works fine.<br>
Please help in resolving the issue.<br>
<br>
Thanks & Regards,<br>
Neelesh<br>
<br>
<br>
</td></tr></table>