[jboss-svn-commits] JBL Code SVN: r19842 - labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri May 2 22:56:20 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-05-02 22:56:20 -0400 (Fri, 02 May 2008)
New Revision: 19842

Modified:
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InternalAgenda.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java
Log:
JBRULES-1583 Heap and scheduled Activations
-ScheduledActivations should remove themselves from the linkedlist after firing.
-Added Unit test

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultAgenda.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2008-05-02 15:48:31 UTC (rev 19841)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultAgenda.java	2008-05-03 02:56:20 UTC (rev 19842)
@@ -165,7 +165,7 @@
     public void removeScheduleItem(final ScheduledAgendaItem item) {
         this.scheduledActivations.remove( item );
         item.cancel();
-    }
+    }    
 
     public void addAgendaGroup(final AgendaGroup agendaGroup) {
         this.agendaGroups.put( agendaGroup.getName(),
@@ -354,6 +354,10 @@
         }
         return (Activation[]) list.toArray( new Activation[list.size()] );
     }
+    
+    public org.drools.util.LinkedList getScheduledActivationsLinkedList() {
+        return this.scheduledActivations;
+    }
 
     /* (non-Javadoc)
      * @see org.drools.common.AgendaI#clearAgenda()

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InternalAgenda.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InternalAgenda.java	2008-05-02 15:48:31 UTC (rev 19841)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InternalAgenda.java	2008-05-03 02:56:20 UTC (rev 19842)
@@ -13,6 +13,8 @@
     public void fireActivation(final Activation activation) throws ConsequenceException;
 
     public void removeScheduleItem(final ScheduledAgendaItem item);
+    
+    public org.drools.util.LinkedList getScheduledActivationsLinkedList();
 
     public boolean fireNextItem(AgendaFilter filter) throws ConsequenceException;
 

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java	2008-05-02 15:48:31 UTC (rev 19841)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/ScheduledAgendaItem.java	2008-05-03 02:56:20 UTC (rev 19842)
@@ -132,6 +132,7 @@
      */
     public void run() {
         this.agenda.fireActivation( this );
+        this.agenda.getScheduledActivationsLinkedList().remove( this );
         this.agenda.getWorkingMemory().fireAllRules();
     }
 




More information about the jboss-svn-commits mailing list