You can probably do what you need by using XOR-GROUPS (activation groups).
If your spreadsheet is configured to be sequential (or you explicitly set rule priority levels) then only the highest priority matching rule in a particular xor-group will be fired.
So you may be able to specify the rules as follows:
CONDITION |
CONDITION |
CONDITION |
CONDITION |
ACTION |
XOR-GROUP |
Foo |
|
|
|||
Date1 $param null |
Date2 $param null |
Date3 $param null |
Date4 $param null |
setPriority($param) |
|
Date1 |
Date2 |
Date3 |
Date4 |
setPriority($param) |
|
|
|
|
!= |
1 |
DateXORGroup |
|
|
!= |
|
2 |
DateXORGroup |
|
!= |
|
|
3 |
DateXORGroup |
!= |
|
|
|
4 |
DateXORGroup |
Then if Date4 is set the first rule would be fired, otherwise if date3 is set then row 2 would be fired etc.
If there are more permuations that you want to consider you can easily insert them too.
Hope that helps,
Thomas
> -----Original Message-----
> From: rules-users-bounces@lists.jboss.org [mailto:rules-users-
> bounces@lists.jboss.org] On Behalf Of HonorGod
> Sent: 22 December 2009 11:21
> To: rules-users@lists.jboss.org
> Subject: Re: [rules-users] verifying 'is not null' in decision table?
>
>
> Thanks Thomas. I got this part now. But I guess the real scenarios I have
> been looking is -
>
> I have 4 different date fields and I need to check if they are not null and
> set a priority using decision table.
>
> Lets say I have Date 1 , Date 2 , Date 3 , Date 4. If Date 1 is not null
> and rest of them are null then my priority is Date 1. If Date 1 and Date 2
> are not null and the rest are null then my priority is Date 2 and so
> no.....so we are looking at 16 different possibilites and the
> priorities....how can i set the priority in this case...
>
> Thanks
>
> Swindells, Thomas wrote:
> >
> > The key thing to remember with decision tables is that currently a column
> > is only included if there is a value in the rule row and that value will
> > always be included in the rule. The easiest way to do this is to have a
> > condition in the form "firstName != $param" and then have null as the cell
> > value. The other solution if you want separate rules for each field which
> > cannot be null is to have it in the form "$param != null" and enter the
> > field name as the cell value.
> >
> > Thomas
> >
> >> -----Original Message-----
> >> From: rules-users-bounces@lists.jboss.org [mailto:rules-users-
> >> bounces@lists.jboss.org] On Behalf Of HonorGod
> >> Sent: 21 December 2009 15:52
> >> To: rules-users@lists.jboss.org
> >> Subject: [rules-users] verifying 'is not null' in decision table?
> >>
> >>
> >> How can I verify if my condition attribute is not null in decision table?
> >>
> >> I have a class -
> >>
> >> Public Class Person {
> >>
> >> String firstName = null;
> >> String lastName = null ;
> >>
> >> }
> >>
> >> In my decision table I have to check if firstName and lastName are not
> >> null
> >> and then fire actions.
> >>
> >> How I can do this? I know I can get that through drl.
> >>
> >> Thanks
> >>
> >> --
> >> View this message in context:
> >> http://n3.nabble.com/verifying-is-not-null-in-
> >> decision-table-tp96386p96386.html
> >> Sent from the Drools - User mailing list archive at Nabble.com.
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users@lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
> >
> ******************************************************************************
> ********
> > This message is confidential and intended only for the addressee. If you
> > have received this message in error, please immediately notify the
> > postmaster@nds.com and delete it from your system as well as any copies.
> > The content of e-mails as well as traffic data may be monitored by NDS for
> > employment and security purposes. To protect the environment please do not
> > print this e-mail unless necessary.
> >
> > NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18
> > 4EX, United Kingdom. A company registered in England and Wales. Registered
> > no. 3080780. VAT no. GB 603 8808 40-00
> >
> ******************************************************************************
> ********
> >
> > This message is confidential and intended only for the addressee. If you
> > have received this message in error, please immediately notify the
> > postmaster@nds.com and delete it from your system as well as any copies.
> > The content of e-mails as well as traffic data may be monitored by NDS for
> > employment and security purposes.
> > To protect the environment please do not print this e-mail unless
> > necessary.
> >
> > An NDS Group Limited company. www.nds.com
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users@lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> --
> View this message in context: http://n3.nabble.com/verifying-is-not-null-in-
> decision-table-tp96386p97139.html
> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users