Thanks,
These Quantity and Duration objects are commonly used in our application. My
concern is from the software-engineering prespective. Now, the rule author
(which is supposed to be a "domain expert") has to maintain the information
twice: once when inserting these objects to the working memory (at the
initialization), and then when writing the concrete rules.
Im looking for a trick to make the rule-aurhor life more convienient...
Greg Barton wrote:
I'd second this idea, and to get around the inconcenience of inserting the
Quantity objects from the calling application, use a rule that fires once
on initialization.
rule
no-loop true
when
//No condition
then
insert(new Quantity("m", 2));
end
This rule should fire first. You could also put it in it's own
agenda-group (call it "initialization" or some such) and set focus to that
group when starting.
rule
agenda-group "initialization"
no-loop true
when
//No condition
then
insert(new Quantity("m", 2));
drools.setFocus("whatever_your_next_group_is");
end
--- On Wed, 2/25/09, Mauricio Salatino <salaboy(a)gmail.com> wrote:
> From: Mauricio Salatino <salaboy(a)gmail.com>
> Subject: Re: [rules-users] Creating objects in WHEN clause
> To: "Rules Users List" <rules-users(a)lists.jboss.org>
> Date: Wednesday, February 25, 2009, 11:40 AM
> How about :
> WHEN
> $quantity: Quantity(value == 2, unit == "m")
> $Person($height == $quantity:)
> then
> ...
>
>
>
> On Wed, Feb 25, 2009 at 2:27 PM, David Boaz
> <davidb(a)dbmotion.com> wrote:
> >
> > In my application, we often compare the fact's
> field values against a known
> > object. For example:
> > WHEN person(height> new Quantity(2, "m"))
> // the height is greater than 2
> > meters.
> > will DROOLS create a "singleton" Quantity
> object, or will it create one
> > object for each fact evaluation?
> >
> > We consider using anoter approach, using GLOBALS.
> Then, the Quantity object
> > will be created applicatively, and passed by the API
> to the engine.
> > something like:
> > GLOBAL Quantity 2meters
> > WHEN person(height > 2meters)
> > But this approach is combersom, because the rule
> author has to define part
> > of the information in the calling application, and
> part in the rule.
> >
> > Do you have a good practice how to handle these
> situations?
> >
> > Thanks, David
> > --
> > View this message in context:
>
http://www.nabble.com/Creating-objects-in-WHEN-clause-tp22207616p22207616...
> > Sent from the drools - user mailing list archive at
>
Nabble.com.
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users(a)lists.jboss.org
> >
https://lists.jboss.org/mailman/listinfo/rules-users
> >
>
>
>
> --
> - Salatino Mauricio -
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users