I'm aiming for tue/wed of this week.

Mark
Karr, David wrote:
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