Hi again,

Thank you for clearing that up. I didn't think it worked that way because i've tried it before and it didn't work. Anyway, according to what you're saying...

* this is the stack as soon as i insert my objects: | MAIN |

* this is the stack as soon as i setFocus on a specific agenda-group: | FOCUSED_GROUP | MAIN | (from left to right)

* as soon as all activations from FOCUSED_GROUP fire, that agenda-group is popped out of the stack and the rule engine fires the remaining activations from MAIN

Is this the way it works? I've tried this before with no success. I get rules firing from agenda-groups that *are not focused before* (besides MAIN, of course). Maybe this has something to do with the rules being declared in XML? Or some kind of bug?

Thank you.
_ miguel




On Wed, May 5, 2010 at 6:40 AM, Wolfgang Laun <wolfgang.laun@gmail.com> wrote:
> @Wolfgang:
> My problem is that i cannot have the different rule groups stacked. I may do
> as you suggested, but i'll have rules firing from other agenda-groups after
> the first agenda-group activations are all gone (because they go into the
> stack as well, right?).

No, no, no! Nothing goes on the stack unless you setFocus()!

What i'm looking for is a way to isolate the
> execution and just fire the rules within a specific set (aka just one
> group). Does this make any sense?

This is *exactly* what my sketchy statement sequence does, in
an existing application.
-W

> Thank you for your support. I appreciate all the help i can get.
> _ miguel
>
>
>
> On Tue, May 4, 2010 at 4:46 PM, Wolfgang Laun <wolfgang.laun@gmail.com>
> wrote:
>>
>> I've been using agenda groups without any trouble for a similar problem,
>> doing
>>  setFocus( ... );
>>  insert( ... );... insert( ... );
>>  fireAllRules();
>> repeatedly.
>>
>> You don't have to be afraid of the focus stack growing indefinitely:You
>> control
>> the "push" (setFocus()), and if an agenda group's activations are all
>> gone, the
>> group is automatically popped from the stack.
>>
>> -W
>>
>> 2010/5/4 Miguel Machado <mls.machado@gmail.com>:
>> > Hi there,
>> > I'm having some trouble implementing the desired workflow of rule firing
>> > in
>> > an application using drools expert. I've read the thread about the
>> > difference between ruleflow groups and agenda groups, but it is still
>> > unclear to me how to achieve what i need.
>> > What i intend to have is the ability to fire a specific set of rules
>> > according to the object i'm inserting into the ksession.
>> > I do not want to use agenda-groups because it stacks all the agenda
>> > groups
>> > declared on the rule file (as far as i understand) and therefore it may
>> > fire
>> > activations i do not want to be fired. Instead, i want to isolate them
>> > completely. I tried using ruleflow groups for this, but i cannot find a
>> > way
>> > to activate a specific group programmatically, before calling
>> > fireAllRules(), the way i can with agenda-groups (setFocus() method).
>> > That being said, i'm asking for help in trying to use either one of
>> > ruleflow/agenda groups or even both in order to get things working the
>> > way i
>> > described.
>> > Thanks in advance,
>> > _ miguel
>> >
>> > _______________________________________________
>> > 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
>
>
>
> --
> "To understand what is recursion you must first understand recursion"
>
> _______________________________________________
> 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



--
"To understand what is recursion you must first understand recursion"