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 <[email protected]> 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 <[email protected]> wrote: > > > >> From: Mauricio Salatino <[email protected]> > >> Subject: Re: [rules-users] Creating objects in WHEN clause > >> To: "Rules Users List" <[email protected]> > >> 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 > >> <[email protected]> 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 > >> > [email protected] > >> > https://lists.jboss.org/mailman/listinfo/rules-users > >> > > >> > >> > >> > >> -- > >> - Salatino Mauricio - > >> _______________________________________________ > >> rules-users mailing list > >> [email protected] > >> https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > > > _______________________________________________ > > rules-users mailing list > > [email protected] > > 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 > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
