But what is funny for me - in rule &quot;Check Object A and Set Default&quot;<br>1) RHS = insertDefault(drools.getWorkingMemory()) - EXAMPLE IS NOT WORKING<br>2) RHS = drools.getWorkingMemory().insert(new SomeDefault()) - EXAMPLE IS WORKING CORRECTLY<br>
<br><div class="gmail_quote">2011/12/29 Mauricio Salatino <span dir="ltr">&lt;<a href="mailto:salaboy@gmail.com">salaboy@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Agenda-groups segment the agenda and not the working memory :)<br>
Probably that is part of your confusion.<br>
<br>
<br>
2011/12/29 Mike Key &lt;<a href="mailto:mikey@zenbitz.com">mikey@zenbitz.com</a>&gt;:<br>
<div><div class="h5">&gt; I am a fairly new Drools user and am trying to understand how working memory<br>
&gt; is segmented when using agenda groups.  I have an agenda-group that has<br>
&gt; focus set immediately from the session as follows with a few objects being<br>
&gt; inserted:<br>
&gt;<br>
&gt; ksession.insert(objectA);<br>
&gt; ksession.insert(objectB);<br>
&gt; ksession.getAgenda().getAgendaGroup(&quot;Foo&quot;).setFocus();<br>
&gt;<br>
&gt; I have 2 rules simplified down to illustrate my confusion.  The first rule<br>
&gt; simply sets some default values evaluated in the second rule if objectA<br>
&gt; exists.  In the example that works I set the defaults in the RHS explicitly.<br>
&gt;  However I want to use these defaults from different agenda-groups, so when<br>
&gt; I put them in a function, the second rule never fires, the activation is<br>
&gt; created for the first rule but never the second.  Can someone tell me why<br>
&gt; the use of a function seems to alter the truth of the rule?<br>
&gt;<br>
&gt; THIS WORKS:<br>
&gt;<br>
&gt; declare SomeDefault<br>
&gt;   minValueA : Integer<br>
&gt;   minValueB : Double<br>
&gt;   maxValueB : Double<br>
&gt; end<br>
&gt;<br>
&gt; rule &quot;Check Object A and Set Default&quot;<br>
&gt;   agenda-group &quot;Foo&quot;<br>
&gt;   salience 100<br>
&gt;   when<br>
&gt;     $a : ObjectA()<br>
&gt;   then<br>
&gt;     default = new SomeDefault()<br>
&gt;     default.minValueA = 100<br>
&gt;     default.minValueB = 20.0<br>
&gt;     default.maxValueB = 20000.0<br>
&gt;     insert(default)<br>
&gt; end<br>
&gt;<br>
&gt; rule &quot;Use the defaults&quot;<br>
&gt;   agenda-group &quot;Foo&quot;<br>
&gt;   salience 100<br>
&gt;   when<br>
&gt;     $default : SomeDefault()<br>
&gt;   then<br>
&gt;     System.out.println(&quot;Default minA=&quot; + $default.minValueA)<br>
&gt; end<br>
&gt;<br>
&gt; THIS DOES NOT WORK:<br>
&gt;<br>
&gt; declare SomeDefault<br>
&gt;   minValueA : Integer<br>
&gt;   minValueB : Double<br>
&gt;   maxValueB : Double<br>
&gt; end<br>
&gt;<br>
&gt; rule &quot;Check Object A and Set Default&quot;<br>
&gt;   agenda-group &quot;Foo&quot;<br>
&gt;   salience 100<br>
&gt;   when<br>
&gt;     $a : ObjectA()<br>
&gt;   then<br>
&gt;     insertDefault(drools.getWorkingMemory())<br>
&gt; end<br>
&gt;<br>
&gt; rule &quot;Use the defaults&quot;<br>
&gt;   agenda-group &quot;Foo&quot;<br>
&gt;   salience 90<br>
&gt;   when<br>
&gt;     $default : SomeDefault()<br>
&gt;   then<br>
&gt;     System.out.println(&quot;Default minA=&quot; + $default.minValueA)<br>
&gt; end<br>
&gt;<br>
&gt; function void insertDefault(WorkingMemory workingMemory) {<br>
&gt;   SomeDefault default = new SomeDefault();<br>
&gt;   default.setMinValueA(100);<br>
&gt;   default.setMinValueB(20.0);<br>
&gt;   default.setMaxValueB(20000.0);<br>
&gt;   workingMemory.insert(default);<br>
&gt; }<br>
&gt;<br>
&gt; In the latter (non-working) example the first rule activates and then drools<br>
&gt; returns, it never even attempts to try to fire the second rule.  However in<br>
&gt; the working example BOTH rules fire as I would expect.  I am guessing this<br>
&gt; is a simple misunderstanding on my part.  Any assistance in understanding<br>
&gt; why this nuance doesn&#39;t seem to work would be greatly appreciated.<br>
&gt;<br>
&gt; Thanks.<br>
&gt;<br>
&gt; MiKey<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; rules-users mailing list<br>
&gt; <a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
&gt;<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
 - CTO @ <a href="http://www.plugtree.com" target="_blank">http://www.plugtree.com</a><br>
 - MyJourney @ <a href="http://salaboy.wordpress.com" target="_blank">http://salaboy.wordpress.com</a><br>
 - Co-Founder @ <a href="http://www.jugargentina.org" target="_blank">http://www.jugargentina.org</a><br>
 - Co-Founder @ <a href="http://www.jbug.com.ar" target="_blank">http://www.jbug.com.ar</a><br>
<br>
 - Salatino &quot;Salaboy&quot; Mauricio -<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></span></blockquote></div><br>