[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