Okay, drools now handles temporal rules of one flavor (more flavors
to come lateron).

To a <when> block, you can now add a sub-element <duration seconds="42"/>
which becomes a durational condition.

        <when>
                <cond>
                        ticket.getStatus() == Ticket.NEW
                </cond>

                <!-- If it's NEW for 10 minutes -->
                <duration seconds="600"/>
        </when>

And thus, the <then> will fire *only* if the rest of the conditions of
the rule hold true (and completely true) for the entire duration.

If, at any time during the duration, the rule goes to false, the action
invokation gets dismissed.  Having the rule go to true again simply
resets the clock from scratch.

I plan on implementing a looser durational condition, to allow for many
truth changes during the duration, and still have the action fire at
expiration as long as the rule is true upon expiration.

Additionally, absolute cron-like firings will also be implemented.

ie:  "If these conditions are true this Wednesday at 8pm, do this".

Anyhow, a new example is in CVS, and should go out in tomorrow's daily
build (I just missed tonight's deadline for the cron job).

        -bob


_______________________________________________
drools-interest mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/drools-interest

Reply via email to