[rules-users] Creating objects in WHEN clause

David Sinclair dsinclair at chariotsolutions.com
Wed Feb 25 14:26:59 EST 2009


Have u considered using DSLs? They can hide the object model from the users
quite well.

On Wed, Feb 25, 2009 at 2:02 PM, David Boaz <davidb at dbmotion.com> wrote:

>
> 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 at gmail.com> wrote:
> >
> >> From: Mauricio Salatino <salaboy at gmail.com>
> >> Subject: Re: [rules-users] Creating objects in WHEN clause
> >> To: "Rules Users List" <rules-users at 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 at 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.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
> >> >
> >>
> >>
> >>
> >> --
> >>  - Salatino Mauricio -
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Creating-objects-in-WHEN-clause-tp22207616p22209417.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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090225/64860aeb/attachment.html 


More information about the rules-users mailing list