[rules-users] [newbie] Using rules to enforce constraints?

Scott Finnie scott.finnie at virgin.net
Thu Feb 22 16:18:43 EST 2007


Doh!

rule 2 should of course read

"A suspended customer may /not/ place any orders"

Sorry.

Scott Finnie wrote:
> Hi,
> 
> Apologies if this has been covered somewhere, couldn't find it in the 
> archives.
> 
> I'm wondering about ability / sensibility of above.  For example, say I 
> want to model the following rules:
> 
> 1. A customer must be suspended if they default on a payment
> 2. A suspended customer may place any orders
> 
> Now the first one I can readily map to the when/then format of 
> production rules.  But I can't see how to elegantly represent the second 
> one - at least not in a transactionally clean manner.  I could write:
> 
> when
>     c: Customer (status == "suspended")
>     o: Order ( customer == c)
> then
>     o.reject() #etc.
> 
> But that's not really what I want to achieve.  Rather, I'd like the 
> check enforced before the order was created, not after.
> 
> Or maybe I'm just thinking wrong?  Main influence is RDBMS, where I'd 
> write a trigger that would stop the transaction completing if violated.
> 
> Hope that makes sense, and thanks in advance.
> 
>  - Scoot.
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
> 



More information about the rules-users mailing list