Have u considered using DSLs? They can hide the object model from the users quite well.
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@gmail.com> wrote:
>
>> From: Mauricio Salatino <salaboy@gmail.com>
>> Subject: Re: [rules-users] Creating objects in WHEN clause
>> To: "Rules Users List" <rules-users@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@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@lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>>
>>
>>
>> --
>> - Salatino Mauricio -
>> _______________________________________________
>> rules-users mailing list
>> rules-users@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users@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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users