[jboss-svn-commits] JBL Code SVN: r24746 - in labs/jbossrules/trunk/drools-core/src: test/java/org/drools/reteoo and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 15 23:46:05 EST 2009


Author: mark.proctor at jboss.com
Date: 2009-01-15 23:46:05 -0500 (Thu, 15 Jan 2009)
New Revision: 24746

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java
Log:
JBRULES-1765 Agenda.getScheduledActivations() method is throwing NullPointerException
-Fixed no longer lazy load, it doesn't save much anyway so not much point.

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-16 04:18:10 UTC (rev 24745)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2009-01-16 04:46:05 UTC (rev 24746)
@@ -147,7 +147,7 @@
         this.activationGroups = new HashMap<String, ActivationGroup>();
         this.ruleFlowGroups = new HashMap<String, RuleFlowGroup>();
         this.focusStack = new LinkedList<AgendaGroup>();
-
+        this.scheduledActivations = new org.drools.util.LinkedList();
         this.agendaGroupFactory = rb.getConfiguration().getAgendaGroupFactory();
 
         if ( initMain ) {
@@ -282,10 +282,6 @@
         // FIXME: should not use a static singleton
         Scheduler.getInstance().scheduleAgendaItem( item,
                                                     this );
-
-        if ( this.scheduledActivations == null ) {
-            this.scheduledActivations = new org.drools.util.LinkedList();
-        }
         this.scheduledActivations.add( item );
 
         // adds item to activation group if appropriate
@@ -672,7 +668,7 @@
         this.focusStack.add( this.main );
 
         // reset scheduled activations
-        if ( this.scheduledActivations != null && !this.scheduledActivations.isEmpty() ) {
+        if ( !this.scheduledActivations.isEmpty() ) {
             for ( ScheduledAgendaItem item = (ScheduledAgendaItem) this.scheduledActivations.removeFirst(); item != null; item = (ScheduledAgendaItem) this.scheduledActivations.removeFirst() ) {
                 Scheduler.getInstance().removeAgendaItem( item );
             }
@@ -705,7 +701,7 @@
         }
 
         final EventSupport eventsupport = (EventSupport) this.workingMemory;
-        if ( this.scheduledActivations != null && !this.scheduledActivations.isEmpty() ) {
+        if ( !this.scheduledActivations.isEmpty() ) {
             for ( ScheduledAgendaItem item = (ScheduledAgendaItem) this.scheduledActivations.removeFirst(); item != null; item = (ScheduledAgendaItem) this.scheduledActivations.removeFirst() ) {
                 Scheduler.getInstance().removeAgendaItem( item );
                 eventsupport.getAgendaEventSupport().fireActivationCancelled( item,

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-16 04:18:10 UTC (rev 24745)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AgendaTest.java	2009-01-16 04:46:05 UTC (rev 24746)
@@ -1877,5 +1877,15 @@
                       agenda.agendaSize() );
 
     }
+    
+    public void testNullErrorOnGetScheduledActivations() { 
+        final ReteooWorkingMemory workingMemory = (ReteooWorkingMemory) ruleBase.newStatefulSession();
+        try {
+            ((DefaultAgenda) workingMemory.getAgenda()).getScheduledActivations();
+        } catch ( NullPointerException e ) {
+            fail( "Exception Should not have been thrown" );
+        }
+        
+    }
 
 }




More information about the jboss-svn-commits mailing list