Hmm, I didn't look into this, but, when running with 5.2.0, your test
method registered two (2) firings for the second fireAllRules(), which
doesn't appear to be correct, either. But this may be due to another
bug that doesn't hurt you, because rules won't have only an eval. Use
a slightly more realistic example for tests if you really want to go
back to 5.2.0.
-W
On 14/07/2013, rrdh <rrdh(a)gmx.net> wrote:
Ah, thanks for letting me know! I'll try an earlier version
then.
On Sun, Jul 14, 2013 at 8:54 PM, Wolfgang Laun
<wolfgang.laun(a)gmail.com>wrote:
> It's a bug, possibly a regression from 5.2.0 that has been in 5.3.0,
> 5.4.0 and is still in 5.5.0.
>
> It should be very simple to add
http://codetidy.com/6206/ as a test
> case so that this will be fixed.
>
> -W
>
>
> On 14/07/2013, Wolfgang Laun <wolfgang.laun(a)gmail.com> wrote:
> > Which Drools version do you use?
> >
> > On 14/07/2013, k <rrdh(a)gmx.net> wrote:
> >> Hi,
> >> basically it's the same problem this guy had
> >>
>
http://stackoverflow.com/questions/11485122/non-template-dynamic-rules-in...
> >> <
>
http://stackoverflow.com/questions/11485122/non-template-dynamic-rules-in...
> >
> >>
> >> , but the links in that question don't work.
> >>
> >> I'd like to dynamically add rules to a running session, but can use
> >> 'eval'
> >> only in the very first one. If I add a second rule like the following,
> it
> >> won't execute:
> >>
> >> ---
> >>
> >> String test2 =
> >> "\nrule id4" +
> >> "\nwhen" +
> >> "\neval(0 == 0)" + // if this eval is removed, "done2"
is inserted
> >> "\nthen" +
> >> "\ninsertLogical( \"done2\" );" +
> >> "\nend";
> >>
> >> kbuilder.add(ResourceFactory.newByteArrayResource(test2.getBytes()),
> >> ResourceType.DRL);
> >>
> session.getKnowledgeBase().addKnowledgePackages(kbuilder.getKnowledgePackages());
> >>
> >> fired = session.fireAllRules();
> >> System.out.println(fired); // 0
> >> effects = session.getObjects();
> >> assertTrue("fired", effects.contains("done2")); //
fails
> >>
> >> ---
> >>
> >> You can see the complete Test at
http://codetidy.com/6206/
> >>
> >> I'm also not sure if this is the correct way to dynamically add rules,
> so
> >> please let me know, if there's a better way to add rules from strings.
> >>
> >> How can I dynamically add new rules to a running session and still use
> >> eval?
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >>
http://drools.46999.n3.nabble.com/Dynamic-Rules-and-Eval-tp4024908.html
> >> Sent from the Drools: User forum mailing list archive at
Nabble.com.
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users(a)lists.jboss.org
> >>
https://lists.jboss.org/mailman/listinfo/rules-users
> >>
> >
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>