Sigh.  I guess I'll be testing the beta.  Any estimate of when it will
be out?

> -----Original Message-----
> From: Geoffrey Wiseman [mailto:[EMAIL PROTECTED] 
> 
> Seems to be DROOLS-430 <http://jira.codehaus.org/browse/DROOLS-430>.
> 
> On 11/20/05, Michael Neale <[EMAIL PROTECTED]> wrote:
> >
> > I have been out of the loop for the past few weeks, but I believe a 
> > bug was found in the xor group feature, which has been fixed and 
> > should be out with
> > "2.5". Perhaps this is showing the bug... (can't remember 
> the jira off the
> > top of my head).
> >
> > -----Original Message-----
> > From: Karr, David [mailto:[EMAIL PROTECTED]
> >
> > I think I understand salience, but I still don't understand 
> > xor-groups. From what I thought I understood, what I 
> described doesn't 
> > match your description, particularly related to your 
> statement "then 
> > the other rule will not as it is in the same XOR group". In my test 
> > case, it executed the consequence for both rules in the same 
> > xor-group. How does that jive with your statement?
> >
> > Perhaps my misunderstanding about this has to do with what "fire" 
> > means. I thought this referred to the checking of the 
> parameters and 
> > conditions on a rule. Your statements seem to imply that's not the 
> > case.
> >
> > > -----Original Message-----
> > > From: Michael Neale [mailto:[EMAIL PROTECTED]
> > >
> > > Salience "2" will fire first, as salience is priority 
> (numerically). 
> > > XOR means that once rule with salience 2 fires, then the 
> other rule 
> > > will not as it is in the same XOR group.
> > >
> > > Salience and XOR have no direct interaction, you only 
> need salience 
> > > if order of firing is important (order of firing
> > > *consequences* of course - it is hard to predict when conditions 
> > > will be evaluated).
> > >
> > > Make sense? (ie what you described is to be expected).
> > >
> > > -----Original Message-----
> > > From: Karr, David [mailto:[EMAIL PROTECTED]
> > >
> > > I just tried to set this up in a prototype, and I must be 
> > > misunderstanding something about xor-group, because it 
> didn't work 
> > > the way I expected.
> > >
> > > I defined two rules, both of which would match the input based on 
> > > their parameters and conditions. I set the first one to 
> salience "1" 
> > > and the second to "2". I set them both to have the same xor-group 
> > > value. In my consequence, I just added a print statement, 
> so I would 
> > > know which one it matched.
> > >
> > > What I saw is that it matched both rules, and it matched the one 
> > > with salience "2" first.
> > >
> > > What do I have to do to have it match only a single rule (or
> > > none) in an xor-group?
> > >
> > > > -----Original Message-----
> > > > From: Michael Neale [mailto:[EMAIL PROTECTED]
> > > >
> > > > No if salience (priority) is not set, then it is not 
> necessarily 
> > > > as simple as top to bottom in the XML (as I am sure you read
> > > in the doco
> > > > on it).
> > > >
> > > > If you care about the order in the xor group, you need to
> > > set salience
> > > > accordingly.
> > > >
> > > > If you have very special needs for ordering, you can write
> > > and plug in
> > > > your own conflict resolver of course.
> > > >
> > > > -----Original Message-----
> > > > From: Karr, David [mailto:[EMAIL PROTECTED]
> > > >
> > > > So are you saying that rules definitely fire (checking
> > > > conditions) in the order they are in in the XML, 
> ignoring for the 
> > > > moment any conflict resolution settings (like 
> salience)? If that's 
> > > > the case, then that might give me what I need, if I order the 
> > > > rules in order of priority in each xor-group.
> > > >
> > > > > -----Original Message-----
> > > > > From: Michael Neale [mailto:[EMAIL PROTECTED]
> > > > >
> > > > > No the ordering works over the whole ruleset with nothing
> > > to do with
> > > > > xor grouping.
> > > > >
> > > > > The rules inside an xor group would follow the ordering of
> > > > rule firing
> > > > > of the whole rule set, the xor group having no effect on
> > > > this (the xor
> > > > > group simply only allows one of the rules to fire).
> > > > >
> > > > > -----Original Message-----
> > > > > From: Karr, David [mailto:[EMAIL PROTECTED]
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Geoffrey Wiseman [mailto:[EMAIL PROTECTED]
> > > > > >
> > > > > > On 11/19/05, Karr, David <[EMAIL PROTECTED]> wrote:
> > > > > > > I'm trying to figure out how I can make only one rule
> > > > in a set of
> > > > > > > rules fire, and have it check the rules in a 
> certain order.
> > > > > > >
> > > > > > > I see that using the "xor-group" attribute deals with the
> > > > > > "only one"
> > > > > > > part, but I'm not sure how to specify the order it checks
> > > > > > the rules in
> > > > > > > an xor-group. Is that what "salience" is for? In a 
> > > > > > > particular xor-group, will the rule with the highest 
> > > > > > > salience be
> > > > > checked first?
> > > > > >
> > > > > > Salience is a factor, yes; that's the easiest way 
> to control 
> > > > > > the firing of rules. There's a page on the Drools site
> > > about Conflict
> > > > > > Resolution that should help clarify somewhat.
> > > > >
> > > > > Yes, I saw that section. I wasn't certain from that
> > > > exactly what the
> > > > > semantics would be in the context of xor-groups.
> > > > > Would the saliency ordering in a particular xor-group be
> > > completely
> > > > > independent of the saliency ordering in a different
> > > xor-group, even
> > > > > for identical saliency values across xor-groups?
> > > > >
> > > > > I want to use salience within xor-groups because I want
> > > each rule in
> > > > > an xor-group to have a condition which checks to see 
> whether a 
> > > > > particular code value "isPresent()" in a list, but each
> > > particular
> > > > > code value has a "priority", so I'll set the salience for
> > > > that rule to
> > > > > the priority for the code value.

Reply via email to