[rules-users] Using Drools as a glorified Hashmap
John Peterson
john.peterson.gv3k at statefarm.com
Wed May 19 11:01:02 EDT 2010
Hey Daniel,
My suggestion was that a single default rule could be fired to indicate
that the prescription was invalid if all the matching rules failed to
create a valid match.
Example:
- Match Rule 1, Salience 50, Activation-group "Match Rules"
- Match Rule 2, Salience 50, Activation-group "Match Rules"
- Match Rule 3, Salience 50, Activation-group "Match Rules"
- Match Rule 4, Salience 50, Activation-group "Match Rules"
- Match Rule 5, Salience 50, Activation-group "Match Rules"
- Match Rule 6, Salience 50, Activation-group "Match Rules"
- Match Rule 7, Salience 50, Activation-group "Match Rules"
- Match Rule 8, Salience 50, Activation-group "Match Rules"
- Match Rule 9, Salience 50, Activation-group "Match Rules"
- No Match Rule 1, Salience 0, Activation-group "Match Rules"
Activation-group allows only one rule to fire from all the rules sharing
that activation-group. By putting a positive salience (priority) on all
the match rules, if any one of them matches, that's all that can fire
per the activation-group. However, if the No Match rule is fired, that
means that the prescription was not matched by any of the match rules.
It is a default. The rule can be as simple as:
Rule "No Match"
salience 0
activation-group "Match Rules"
When
Eval(true) // Always true
Then
Do your "no match" logic
End
The activation-group is doing your "heavy lifting", so to speak....
jp
------------------------------------------------------------------------
------------------------------------
Message: 3
Date: Wed, 19 May 2010 06:20:39 -0700 (PDT)
From: djb <dbrownell83 at hotmail.com>
Subject: Re: [rules-users] Using Drools as a glorified Hashmap
To: rules-users at lists.jboss.org
Message-ID: <1274275239719-829059.post at n3.nabble.com>
Content-Type: text/plain; charset=us-ascii
Hi John, Wolfgang,
Thanks for your suggestions. Though I didn't use either of your
suggestions
as described, it helped me work it out. I added tokens describing the
prescriptions, then as they are matched (using RETE), the tokens are
retracted. Then any tokens left over are invalid. It is probably as
fast as
a HashMap. I don't think John's solution would have worked, because no
single rule can determine whether a prescription is invalid.
Regards,
Daniel
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/Using-Drools-as-a-gl
orified-Hashmap-tp825851p829059.html
Sent from the Drools - User mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100519/045df67d/attachment.html
More information about the rules-users
mailing list