[rules-users] Strategy for initializing objects

sonia robotnic+drools at gmail.com
Sat Aug 8 03:36:43 EDT 2009


In general: I want to set a property in the Box objects, depending on
all previously set objects..

My goal is to place the boxes one after another, for this I keep a
variable in Box object.
It seems like the easiest way to accumulate the sizes of boxes that
are already placed.

In the 'then' clause, I set the box location, and update the X by
adding the size of the currently placed box.

2009/8/8 Wolfgang Laun <wolfgang.laun at gmail.com>:
> Your goal and the presented code aren't clear to me. The consequence (after
> then) contains calls to static/class methods (Box.setX()) which isn't going
> to change anything in your fact object. The call b.setX() might change your
> object, but this depends on what the class method Box.getX() returns.
>
> Assuming Drools 5, a typical consequence would look like
>    b: Box(...)
> then
>    modify( b ){
>       setX( ... )
>    }
> end
>
> -W
>
> On Sat, Aug 8, 2009 at 1:48 AM, sonia <robotnic+drools at gmail.com> wrote:
>>
>> Hello
>>
>> I want to achieve this:
>> box1.setX(0)
>> box2.setX(box1.size());
>> box2.setX(box1.size + box2.size)
>> ...
>>
>> I want to do it with rules, and would like to know what's the best
>> method of initializing (or any other operation with varying data) a
>> group of objects
>>
>> rule "init box"
>>  when
>>   b : Box( x == -1)
>>  then
>>   b.setX(Box.getX());
>>   Box.setX( Box.getX() + b.size);
>> end
>>
>> This does not work.
>> A single box object is matched several times instead of different box
>> objects.
>> What is happening? how come a single box object is matched several
>> times? Why doesnt drools choose other instances of box?
>>
>> What do I need to do to initialize all boxes, once for every box?
>>
>> Thank you.
>>
>> --
>> robosonia
>> _______________________________________________
>> 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
>
>



-- 
robosonia




More information about the rules-users mailing list