[jboss-svn-commits] JBL Code SVN: r18456 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 11 09:41:56 EST 2008


Author: KrisVerlaenen
Date: 2008-02-11 09:41:56 -0500 (Mon, 11 Feb 2008)
New Revision: 18456

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventSupport.java
Log:
Using iterator to go over event listeners to avoid problems when removing listeners

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	2008-02-11 09:57:12 UTC (rev 18455)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/event/AgendaEventSupport.java	2008-02-11 14:41:56 UTC (rev 18456)
@@ -17,7 +17,6 @@
  */
 
 import java.io.Serializable;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -37,7 +36,7 @@
      * 
      */
     private static final long serialVersionUID = 400L;
-    private final List<AgendaEventListener>        listeners        = new CopyOnWriteArrayList<AgendaEventListener>();
+    private final List<AgendaEventListener> listeners = new CopyOnWriteArrayList<AgendaEventListener>();
 
     public AgendaEventSupport() {
     }
@@ -52,8 +51,7 @@
         this.listeners.remove( listener );
     }
 
-    public List getEventListeners() {
-        
+    public List<AgendaEventListener> getEventListeners() {
         return Collections.unmodifiableList( this.listeners );
     }
 
@@ -73,9 +71,8 @@
 
         final ActivationCreatedEvent event = new ActivationCreatedEvent( activation );
 
-        for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
-            ((AgendaEventListener) this.listeners.get( i )).activationCreated( event,
-                                                                               workingMemory );
+        for ( AgendaEventListener listener: listeners) {
+            listener.activationCreated( event, workingMemory );
         }
     }
 
@@ -101,9 +98,8 @@
 
         final BeforeActivationFiredEvent event = new BeforeActivationFiredEvent( activation );
 
-        for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
-            ((AgendaEventListener) this.listeners.get( i )).beforeActivationFired( event,
-                                                                                   workingMemory );
+        for ( AgendaEventListener listener: listeners) {
+            listener.beforeActivationFired( event, workingMemory );
         }
     }
 
@@ -115,9 +111,8 @@
 
         final AfterActivationFiredEvent event = new AfterActivationFiredEvent( activation );
 
-        for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
-            ((AgendaEventListener) this.listeners.get( i )).afterActivationFired( event,
-                                                                                  workingMemory );
+        for ( AgendaEventListener listener: listeners) {
+            listener.afterActivationFired( event, workingMemory );
         }
     }
 
@@ -129,9 +124,8 @@
 
         final AgendaGroupPoppedEvent event = new AgendaGroupPoppedEvent( agendaGroup );
 
-        for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
-            ((AgendaEventListener) this.listeners.get( i )).agendaGroupPopped( event,
-                                                                               workingMemory );
+        for ( AgendaEventListener listener: listeners) {
+            listener.agendaGroupPopped( event, workingMemory );
         }
     }
 
@@ -143,9 +137,8 @@
 
         final AgendaGroupPushedEvent event = new AgendaGroupPushedEvent( agendaGroup );
 
-        for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
-            ((AgendaEventListener) this.listeners.get( i )).agendaGroupPushed( event,
-                                                                               workingMemory );
+        for ( AgendaEventListener listener: listeners) {
+            listener.agendaGroupPushed( event, workingMemory );
         }
     }
 




More information about the jboss-svn-commits mailing list