[rules-users] Drools fact counts...
Edson Tirelli
tirelli at post.com
Thu Mar 29 14:34:03 EDT 2007
If you are using 3.1M1 or later (trunk), you can do:
rule xyz
when
Treatment( $id : id, status == "pending" )
ArrayList( size >= 70 ) from ( Treatment( id == $id, status == "paid" )
)
then
assert( new Rejection( "reason" ) )
end
If you are using 3.0.x, you will need 2 rules. One rule will count the
occurrences and the other will check if total is greater than 70.
[]s
Edson
2007/3/29, Jim Majure <Jim at sourceallies.com>:
>
> I have what I think is a very simple rule to implement, but I can't find a
> way to do it without "cheating" by using an eval/function. Here's the basic
> rule in English:
> **
>
> Reject a claim if it contains a treatment that has already been claimed more than 70 times
> in the same calendar month.
>
>
> In other words, I need to count the number of instances of the treatment
> that have already been paid.
>
> Assume for the sake of this discussion, my facts are instances of the
> Treatment class.
>
> If I replace "70" with, say, "2" in this rule I could do this:
> **
>
> rule
> when
> Treatment(id=="t1", status=="pending")
> Treatment(id=="t1", status=="paid")
> Treatment(id=="t1", status=="paid")
> then
> assert ( new Rejection("reason"));
> end
>
> Unfortunately, I can't simply replace "70" with "2", and using the same
> strategy to check for 70 instances doesn't seem quite right.
>
> Am I missing something very simple here? Are there standard strategies to
> deal with this type of rule?
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3124-6000
Mobile: +55 11 9218-4151
JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070329/fe5f39ea/attachment.html
More information about the rules-users
mailing list