<div>Hi everyone,</div>
<div>i'm developing a java application using drools 4 for domotic control;</div>
<div>i ve implemented a listener on my working memory with the method <font size="2">afterActivationFired(...) and <font size="2">activationCancelled(...) .</font></font></div>
<div><font size="2">At startup of my app i've write the following lines:</font></div>
<div> </div>
<div><font color="#0000c0" size="2">listener</font><font size="2"> = </font><b><font color="#7f0055" size="2">new</font></b><font size="2"> FiredRulesListener();</font></div>
<div><font color="#0000c0" size="2">workingMemory</font><font size="2">.addEventListener(</font><font color="#0000c0" size="2">listener</font><font size="2">);</font></div>
<div><font size="2"></font> </div>
<div><font size="2">Each time a rule is fired the method <font size="2">afterActivationFired(...) is called and it is ok; but when the rule stop to be true the method <font size="2">activationCancelled </font>isn't never called.</font></font></div>
<div><font size="2">I try to be more clear:</font></div>
<div><font size="2"></font> </div>
<div><font size="2">i 've the following rule:</font></div>
<div><font size="2">when mylamp=="on"</font></div>
<div><font size="2">then</font></div>
<div><font size="2">System.out.println("light 1 on");</font></div>
<div><font size="2"></font> </div>
<div><font size="2"></font> </div>
<div><font size="2">When i turn on the light 1 the method <font size="2">afterActivationFired(...) is called, but when i turn off the light the method <font size="2">activationCancelled </font><font size="2">isn't called. </font></font></font></div>
<div><font size="2"><font size="2"><font size="2">Can someboy help me??</font></font></font></div>
<div><font size="2">Thanks in advance.</font></div>
<div><font size="2"></font> </div>
<div><font size="2"></font> </div>
<div><font size="2">Cla</font></div>
<div><font size="2"></font> </div>
<div><font size="2"></font> </div>
<div><font size="2">My listener code:</font></div>
<div><font size="2"></font> </div>
<div><font size="2"><b><font color="#7f0055" size="2">
<p align="left">public</p></font></b></font><font size="2"> </font><b><font color="#7f0055" size="2">static</font></b><font size="2"> </font><b><font color="#7f0055" size="2">class</font></b><font size="2"> FiredRulesListener </font><b><font color="#7f0055" size="2">extends</font></b><font size="2"> DefaultAgendaEventListener
<p align="left">{</p>
<p align="left">List<Rule> </p></font><font color="#0000c0" size="2">firedRules</font><font size="2"> = </font><b><font color="#7f0055" size="2">new</font></b><font size="2"> ArrayList<Rule>();
<p align="left"></p></font><b><font color="#7f0055" size="2">
<p align="left">public</p></font></b><font size="2"> List<Rule> getFiredRules()
<p align="left">{</p></font><b><font color="#7f0055" size="2">
<p align="left">return</p></font></b><font size="2"> </font><b><font color="#7f0055" size="2">this</font></b><font size="2">.</font><font color="#0000c0" size="2">firedRules</font><font size="2">;
<p align="left">}</p>
<p align="left"></p></font><font color="#646464" size="2">
<p align="left">@Override</p></font><b><font color="#7f0055" size="2">
<p align="left">public</p></font></b><font size="2"> </font><b><font color="#7f0055" size="2">void</font></b><font size="2"> afterActivationFired(AfterActivationFiredEvent event, WorkingMemory workingMemory)
<p align="left">{</p>
<p align="left">Rule rule = event.getActivation().getRule();</p></font><b><font color="#7f0055" size="2">
<p align="left">if</p></font></b><font size="2"> (!</font><b><font color="#7f0055" size="2">this</font></b><font size="2">.</font><font color="#0000c0" size="2">firedRules</font><font size="2">.contains(rule))
<p align="left"></p></font><b><font color="#7f0055" size="2">this</font></b><font size="2">.</font><font color="#0000c0" size="2">firedRules</font><font size="2">.add(rule);
<p align="left">}</p>
<p align="left"></p></font><font color="#646464" size="2">
<p align="left">@Override</p></font><b><font color="#7f0055" size="2">
<p align="left">public</p></font></b><font size="2"> </font><b><font color="#7f0055" size="2">void</font></b><font size="2"> activationCancelled (ActivationCancelledEvent event, WorkingMemory workingMemory)
<p align="left">{</p>
<p align="left"><strong>System.out.println("i never see this message");</strong></p>
<p align="left"></p></font><font size="2">Rule <strong>rule</strong>= event.getActivation().getRule();</font>
<p align="left"><font size="2"><strong><font color="#7f0055">this</font></strong><font size="2">.</font><font color="#0000c0" size="2">firedRules</font><font size="2">.remove(rule);</font></font></p>
<p align="left"></p>
<p>}</p></div>