[rules-users] Strategy for initializing objects
Wolfgang Laun
wolfgang.laun at gmail.com
Sat Aug 8 01:14:07 EDT 2009
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<robotnic%2Bdrools 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090808/89453d33/attachment.html
More information about the rules-users
mailing list