[rules-users] Fetching values of an object's attribute set bydifferent rules
Anstis, Michael (M.)
manstis1 at ford.com
Tue Aug 12 05:42:44 EDT 2008
OK, so here is my take on things:-
+--------------+ +----------------+ +-------------------+
| | | | | |
| Sub-system 1 |-->| Sub-system 2 |-->| Sub-system 3 uses |
| sets up data | | Rules \ Drools | | results from sub- |
+--------------+ | | | system 2 |
+----------------+ +-------------------+
I would be inclined to have List<WashRuleValueHolder > as a global in WM
and append instances of WashRuleValueHolder to the list in RHS of rules
(or a Map or something so you can retrieve what you want easily). Also
have you looked at StatelessSession.executeWithResults() - which I
haven't personally used but would give you what (I think) you need (if
stateless is acceptable too!).
Cheers,
Mike
-----Original Message-----
From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of psentosa
Sent: 12 August 2008 09:45
To: rules-users at lists.jboss.org
Subject: Re: [rules-users] Fetching values of an object's attribute set
bydifferent rules
Thank you Mike and Kris for the answer.
So I'll give it a try again to explain :)
The rules I described have information that I need to go further with my
application,
i.e. with the wash example, when rule A fires, it'll give information
about
the washing instruction regarding the temperature and detergent.
Now, let's say, I have another block of codes apart from this RE-part,
which
needs those information (.e.g a WashMachine Object). These info should
only
be defined within the rules. So my question before was, how can I pass
those
to my washMachine?
That's why idea was to insert a new/empty value holder, set the value to
the
holder when the rule fire, and I can use the value holder (which already
contains value/has info from the fired rules).
I'm not sure if using such a ValueHolder is the best way to fetch some
values set within the rules.
I hope this is clearer now, and any idea would be great!
Thanks in advance
Paul
psentosa wrote:
>
> Hi,
>
> I have the following problems:
> I need to prove an object based on certain rules, where the parts of
the
> rules should be kept to be used in further process within my
application.
> In order to fetch those parts, my idea was to insert an additional
object
> as value holder for the rule's parts,
> put values on them when the corresponding rule is fired, so that later
on
> I can process those value holder after my appl gets the control back
from
> Ruleengine.
>
>
> The example below:
>
> Shirt shirt = new Shirt(...)
> WashRuleValueHolder holder = new WashRuleValueHolder();
>
> session.insert(shirt);
> session.insert(holder);
> ......
>
> session.dispose()
>
> System.out.println(holder.getTemperature());
> System.out.println(holder.getDetergent());
> =======================
>
> rule A
> when
> Shirt (dirtinessLevel == high)
> $holder : WashRuleValueHolder()
> then
> System.out.println ("this cloth should be washed in 60 degree
water
> with 1 spoon of detergent")
> $holder.temperature = 60;
> $holder.detergent = 1;
>
> rule B
> when
> Shirt(material == satin)
> $holder : WashRuleValueHolder()
> then
> System.out.println ("this cloth should be washed in 30 degree
water
> with 0,5 spoon of detergent")
> $holder.temperature = 30;
> $holder.detergent = 0,5;
>
> Now, in case both rules evaluate to true, I'd have problem with my
> valueholder, bcs depending on which one of the rules was fired latest,
> that'd be the value I got from the holder, and I need both of them.
> So, my questions:
>
> - Is using such a value holder a good solution to fetch the rules'
value?
> Or is there any better solution?
> - How to handle this problem of multiple value association to the
holder,
> so I still can get all the values without one overwriting the other
and
> they are still connected?
>
> Any idea highly appreciated, thanks in advance!
>
>
>
>
--
View this message in context:
http://www.nabble.com/Fetching-values-of-an-object%27s-attribute-set-by-
different-rules-tp18922201p18940166.html
Sent from the drools - user mailing list archive at Nabble.com.
_______________________________________________
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