[jboss-svn-commits] JBL Code SVN: r24771 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/common and 7 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jan 18 22:00:05 EST 2009


Author: mark.proctor at jboss.com
Date: 2009-01-18 22:00:04 -0500 (Sun, 18 Jan 2009)
New Revision: 24771

Added:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java
Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledEvent.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ActivationCancelledEvent.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventListener.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventSupport.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/ActivationCancelledEventImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java
Log:
JBRULES-1775 Activation Cancelled Events are not being fired if an Agenda Filter is used
-filters now emit cancelled events
-cancelled events now have a cause - FILTER, CLEAR, WME_MODIFY

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledCause.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -0,0 +1,7 @@
+package org.drools.event.rule;
+
+public enum ActivationCancelledCause {
+    FILTER,
+    WME_CHANGE,
+    CLEAR;
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledEvent.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/event/rule/ActivationCancelledEvent.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -19,4 +19,5 @@
 public interface ActivationCancelledEvent
     extends
     ActivationEvent {
+    ActivationCancelledCause getCause();
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -33,6 +33,7 @@
 import org.drools.base.DefaultKnowledgeHelper;
 import org.drools.base.SequentialKnowledgeHelper;
 import org.drools.common.RuleFlowGroupImpl.DeactivateCallback;
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.process.instance.ProcessInstance;
 import org.drools.reteoo.LeftTuple;
@@ -705,7 +706,8 @@
             for ( ScheduledAgendaItem item = (ScheduledAgendaItem) this.scheduledActivations.removeFirst(); item != null; item = (ScheduledAgendaItem) this.scheduledActivations.removeFirst() ) {
                 Scheduler.getInstance().removeAgendaItem( item );
                 eventsupport.getAgendaEventSupport().fireActivationCancelled( item,
-                                                                              this.workingMemory );
+                                                                              this.workingMemory,
+                                                                              ActivationCancelledCause.CLEAR );
             }
         }
 
@@ -763,7 +765,8 @@
             }
 
             eventsupport.getAgendaEventSupport().fireActivationCancelled( item,
-                                                                          this.workingMemory );
+                                                                          this.workingMemory,
+                                                                          ActivationCancelledCause.CLEAR );
         }
         ((InternalAgendaGroup) agendaGroup).clear();
     }
@@ -803,7 +806,8 @@
                 }
 
                 eventsupport.getAgendaEventSupport().fireActivationCancelled( activation,
-                                                                              this.workingMemory );
+                                                                              this.workingMemory,
+                                                                              ActivationCancelledCause.CLEAR);
             }
         }
         activationGroup.clear();
@@ -832,7 +836,8 @@
             }
 
             eventsupport.getAgendaEventSupport().fireActivationCancelled( item,
-                                                                          this.workingMemory );
+                                                                          this.workingMemory,
+                                                                          ActivationCancelledCause.CLEAR );
         }
 
         ((InternalRuleFlowGroup) ruleFlowGroup).clear();
@@ -865,6 +870,12 @@
 
         if ( filter == null || filter.accept( item ) ) {
             fireActivation( item );
+        } else {
+            final EventSupport eventsupport = (EventSupport) this.workingMemory;
+            
+            eventsupport.getAgendaEventSupport().fireActivationCancelled( item,
+                                                                          this.workingMemory,
+                                                                          ActivationCancelledCause.FILTER );
         }
 
         return true;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ActivationCancelledEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ActivationCancelledEvent.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/ActivationCancelledEvent.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -16,18 +16,25 @@
  * limitations under the License.
  */
 
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.spi.Activation;
 
 public class ActivationCancelledEvent extends ActivationEvent {
-       
+    private ActivationCancelledCause cause;
+    
     /**
      * 
      */
     private static final long serialVersionUID = 400L;
 
-    public ActivationCancelledEvent(final Activation activation) {
+    public ActivationCancelledEvent(final Activation activation, ActivationCancelledCause cause) {
         super( activation );
+        this.cause = cause;
     }
+    
+    public ActivationCancelledCause getCause() {
+        return cause;
+    }      
 
     public String toString() {
         return "<==[ActivationCancelled(" + getActivation().getActivationNumber() + "): rule=" + getActivation().getRule().getName() + "; tuple=" + getActivation().getTuple() + "]";

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventListener.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventListener.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventListener.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -19,6 +19,7 @@
 import java.util.EventListener;
 
 import org.drools.WorkingMemory;
+import org.drools.event.rule.ActivationCancelledCause;
 
 public interface AgendaEventListener
     extends

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventSupport.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventSupport.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventSupport.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -25,6 +25,7 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.drools.common.InternalWorkingMemory;
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.WorkingMemory;
 import org.drools.spi.Activation;
 import org.drools.spi.AgendaGroup;
@@ -88,16 +89,18 @@
     }
 
     public void fireActivationCancelled(final Activation activation,
-                                        final WorkingMemory workingMemory) {
+                                        final WorkingMemory workingMemory,
+                                        final ActivationCancelledCause cause) {
         if ( this.listeners.isEmpty() ) {
             return;
         }
 
-        final ActivationCancelledEvent event = new ActivationCancelledEvent( activation );
+        final ActivationCancelledEvent event = new ActivationCancelledEvent( activation,
+                                                                             cause );
 
         for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
             ((AgendaEventListener) this.listeners.get( i )).activationCancelled( event,
-                                                                                 workingMemory );
+                                                                                 workingMemory);
         }
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/ActivationCancelledEventImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/ActivationCancelledEventImpl.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/rule/impl/ActivationCancelledEventImpl.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -1,5 +1,6 @@
 package org.drools.event.rule.impl;
 
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.event.rule.ActivationCancelledEvent;
 import org.drools.runtime.KnowledgeRuntime;
 import org.drools.runtime.rule.Activation;
@@ -22,9 +23,15 @@
 
 
 public class ActivationCancelledEventImpl extends ActivationEventImpl implements ActivationCancelledEvent {
-
-    public ActivationCancelledEventImpl(Activation activation, KnowledgeRuntime kruntime) {
-        super( activation, kruntime );
+    private ActivationCancelledCause cause;
+    
+    public ActivationCancelledEventImpl(Activation activation, KnowledgeRuntime kruntime, ActivationCancelledCause cause) {
+        super( activation, kruntime);
+        this.cause = cause;
     }
 
+    public ActivationCancelledCause getCause() {
+        return cause;
+    }        
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -36,6 +36,7 @@
 import org.drools.event.process.impl.ProcessNodeLeftEventImpl;
 import org.drools.event.process.impl.ProcessNodeTriggeredEventImpl;
 import org.drools.event.process.impl.ProcessStartedEventImpl;
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.event.rule.AgendaEventListener;
 import org.drools.event.rule.WorkingMemoryEventListener;
 import org.drools.event.rule.impl.ActivationCancelledEventImpl;
@@ -444,7 +445,8 @@
                                         WorkingMemory workingMemory) {
 
             listener.activationCancelled( new ActivationCancelledEventImpl( event.getActivation(),
-                                          ((InternalWorkingMemory)workingMemory).getKnowledgeRuntime() ) );
+                                          ((InternalWorkingMemory)workingMemory).getKnowledgeRuntime(),
+                                          event.getCause() ) );
 
         }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -32,6 +32,7 @@
 import org.drools.common.NodeMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.common.ScheduledAgendaItem;
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.reteoo.builder.BuildContext;
 import org.drools.rule.GroupElement;
 import org.drools.rule.Rule;
@@ -302,7 +303,8 @@
                 }
 
                 ((EventSupport) workingMemory).getAgendaEventSupport().fireActivationCancelled( activation,
-                                                                                                workingMemory );
+                                                                                                workingMemory,
+                                                                                                ActivationCancelledCause.WME_CHANGE );
                 ((InternalAgenda) workingMemory.getAgenda()).decreaseActiveActivations();
             }
         } else {
@@ -360,7 +362,8 @@
                 if ( activation.isActivated() ) {
                     activation.remove();
                     ((EventSupport) workingMemory).getAgendaEventSupport().fireActivationCancelled( activation,
-                                                                                                    workingMemory );
+                                                                                                    workingMemory,
+                                                                                                    ActivationCancelledCause.CLEAR );
                 }
 
                 final PropagationContext propagationContext = new PropagationContextImpl( workingMemory.getNextPropagationIdCounter(),

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -40,6 +40,7 @@
 import org.drools.base.evaluators.Operator;
 import org.drools.base.evaluators.SetEvaluatorsDefinition;
 import org.drools.base.evaluators.SoundslikeEvaluatorsDefinition;
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.Package;
 import org.drools.rule.Pattern;
@@ -164,15 +165,34 @@
         ActivationCreatedEvent createdEvent = (ActivationCreatedEvent) agendaList.get( 0 );
         assertSame( cheddar,
                     createdEvent.getActivation().getTuple().get( 0 ).getObject() );
+        
+        // clear the agenda to check CLEAR events occur
+        wm.clearAgenda();        
+        ActivationCancelledEvent cancelledEvent = (ActivationCancelledEvent) agendaList.get( 1 );        
+        assertEquals( ActivationCancelledCause.CLEAR, cancelledEvent.getCause() );
+        
         agendaList.clear();
 
+        // update results in an ActivationCreatedEvent
+        cheddar.setPrice( 14 );
+        wm.update( cheddarHandle,
+                   cheddar );
+        assertEquals( 1,
+                      agendaList.size() );
+        createdEvent = (ActivationCreatedEvent) agendaList.get( 0 );
+        assertSame( cheddar,
+                    createdEvent.getActivation().getTuple().get( 0 ).getObject() );
+        agendaList.clear();
+        
         // update results in a ActivationCancelledEvent and an ActivationCreatedEvent, note the object is always resolvable
         cheddar.setPrice( 14 );
         wm.update( cheddarHandle,
                    cheddar );
         assertEquals( 2,
-                      agendaList.size() );
-        ActivationCancelledEvent cancelledEvent = (ActivationCancelledEvent) agendaList.get( 0 );
+                      agendaList.size() );        
+        
+        cancelledEvent = (ActivationCancelledEvent) agendaList.get( 0 );
+        assertEquals( ActivationCancelledCause.WME_CHANGE, cancelledEvent.getCause() );
         assertSame( cheddar,
                     cancelledEvent.getActivation().getTuple().get( 0 ).getObject() );
         createdEvent = (ActivationCreatedEvent) agendaList.get( 1 );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/rule/AgendaEventSupportTest.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -66,9 +66,9 @@
         registry.addEvaluatorDefinition( new SoundslikeEvaluatorsDefinition() );
     }
 
-//    public void testIsSerializable() {
-//        assertTrue( Serializable.class.isAssignableFrom( AgendaEventSupport.class ) );
-//    }
+    //    public void testIsSerializable() {
+    //        assertTrue( Serializable.class.isAssignableFrom( AgendaEventSupport.class ) );
+    //    }
 
     public void testAgendaEventListener() throws Exception {
         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
@@ -114,14 +114,13 @@
             }
         } );
         pkg.addRule( rule );
-        
-                
+
         List<KnowledgePackage> pkgs = new ArrayList<KnowledgePackage>();
         pkgs.add( new KnowledgePackageImp( pkg ) );
         kbase.addKnowledgePackages( pkgs );
 
         // create a new working memory and add an AgendaEventListener
-        StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
         final List agendaList = new ArrayList();
         final AgendaEventListener agendaEventListener = new AgendaEventListener() {
 
@@ -150,12 +149,12 @@
                 agendaList.add( event );
             }
         };
-        session.addEventListener( agendaEventListener );
+        ksession.addEventListener( agendaEventListener );
 
         // assert the cheese fact
         final Cheese cheddar = new Cheese( "cheddar",
                                            15 );
-        FactHandle cheddarHandle = session.insert( cheddar );
+        FactHandle cheddarHandle = ksession.insert( cheddar );
 
         // should be one ActivationCreatedEvent
         assertEquals( 1,
@@ -163,35 +162,54 @@
         ActivationCreatedEvent createdEvent = (ActivationCreatedEvent) agendaList.get( 0 );
         assertSame( cheddarHandle,
                     createdEvent.getActivation().getFactHandles().toArray()[0] );
+
+        // clear the agenda to check CLEAR events occur
+        ksession.getAgenda().clear();
+        ActivationCancelledEvent cancelledEvent = (ActivationCancelledEvent) agendaList.get( 1 );
+        assertEquals( ActivationCancelledCause.CLEAR,
+                      cancelledEvent.getCause() );
+
         agendaList.clear();
 
+        // update results in an ActivationCreatedEvent
+        cheddar.setPrice( 14 );
+        ksession.update( cheddarHandle,
+                         cheddar );
+        assertEquals( 1,
+                      agendaList.size() );
+        createdEvent = (ActivationCreatedEvent) agendaList.get( 0 );
+        assertSame( cheddarHandle,
+                    createdEvent.getActivation().getFactHandles().toArray()[0] );
+        agendaList.clear();
+
         // update results in a ActivationCancelledEvent and an ActivationCreatedEvent, note the object is always resolvable
         cheddar.setPrice( 14 );
-        session.update( cheddarHandle,
-                   cheddar );
+        ksession.update( cheddarHandle,
+                         cheddar );
         assertEquals( 2,
                       agendaList.size() );
-        ActivationCancelledEvent cancelledEvent = (ActivationCancelledEvent) agendaList.get( 0 );
+        cancelledEvent = (ActivationCancelledEvent) agendaList.get( 0 );
+        assertEquals( ActivationCancelledCause.WME_CHANGE, cancelledEvent.getCause() );
         assertSame( cheddarHandle,
                     cancelledEvent.getActivation().getFactHandles().toArray()[0] );
         createdEvent = (ActivationCreatedEvent) agendaList.get( 1 );
         assertSame( cheddarHandle,
-                    createdEvent.getActivation().getFactHandles().toArray()[0]);
+                    createdEvent.getActivation().getFactHandles().toArray()[0] );
         agendaList.clear();
 
         // retract results in a ActivationCancelledEvent, note the object is not resolveable now as it no longer exists
-        session.retract( cheddarHandle );
+        ksession.retract( cheddarHandle );
         assertEquals( 1,
                       agendaList.size() );
         cancelledEvent = (ActivationCancelledEvent) agendaList.get( 0 );
-        assertNull( ((InternalFactHandle)cancelledEvent.getActivation().getFactHandles().toArray()[0]).getObject() );
+        assertNull( ((InternalFactHandle) cancelledEvent.getActivation().getFactHandles().toArray()[0]).getObject() );
 
         // re-assert the fact so we can test the agenda group events
-        cheddarHandle = session.insert( cheddar );
+        cheddarHandle = ksession.insert( cheddar );
         agendaList.clear();
 
         // setFocus results in an AgendaGroupPushedEvent
-        session.getAgenda().getAgendaGroup( "test group" ).setFocus();
+        ksession.getAgenda().getAgendaGroup( "test group" ).setFocus();
         assertEquals( 1,
                       agendaList.size() );
         final AgendaGroupPushedEvent pushedEvent = (AgendaGroupPushedEvent) agendaList.get( 0 );
@@ -201,7 +219,7 @@
 
         // fireAllRules results in a BeforeActivationFiredEvent and an AfterActivationFiredEvent
         // the AgendaGroup becomes empty, which results in a popped event.
-        session.fireAllRules();
+        ksession.fireAllRules();
         assertEquals( 3,
                       agendaList.size() );
         final BeforeActivationFiredEvent beforeEvent = (BeforeActivationFiredEvent) agendaList.get( 0 );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java	2009-01-19 01:10:14 UTC (rev 24770)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java	2009-01-19 03:00:04 UTC (rev 24771)
@@ -39,6 +39,10 @@
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.common.RuleFlowGroupImpl;
+import org.drools.event.ActivationCancelledEvent;
+import org.drools.event.AgendaEventSupport;
+import org.drools.event.DefaultAgendaEventListener;
+import org.drools.event.rule.ActivationCancelledCause;
 import org.drools.reteoo.ReteooBuilder.IdGenerator;
 import org.drools.reteoo.builder.BuildContext;
 import org.drools.rule.Rule;
@@ -178,6 +182,18 @@
         final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newStatefulSession();
 
         final DefaultAgenda agenda = (DefaultAgenda) workingMemory.getAgenda();
+        
+        final Boolean[] filtered = new Boolean[] { false };
+        
+        workingMemory.addEventListener( new DefaultAgendaEventListener() {
+         
+            public void activationCancelled(ActivationCancelledEvent event,
+                                            WorkingMemory workingMemory) {
+                if ( event.getCause() == ActivationCancelledCause.FILTER ) {
+                    filtered[0] = true;
+                }
+            }
+        });
 
         final Rule rule = new Rule( "test-rule" );
         final RuleTerminalNode node = new RuleTerminalNode( 3,
@@ -248,11 +264,13 @@
         // make sure it also fired
         assertEquals( new Boolean( true ),
                       results.get( "fired" ) );
+        
+        assertEquals( false, filtered[0].booleanValue() );
 
         // clear the agenda and the result map
         agenda.clearAndCancel();
         results.clear();
-
+        
         // False filter, activations should always be denied
         final AgendaFilter filterFalse = new AgendaFilter() {
             public boolean accept(Activation item) {
@@ -276,6 +294,8 @@
 
         // check the consequence never fired
         assertNull( results.get( "fired" ) );
+        
+        assertEquals( true, filtered[0].booleanValue() );
     }
 
     public void testFocusStack() throws ConsequenceException {




More information about the jboss-svn-commits mailing list