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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 23 19:59:55 EST 2009


Author: mark.proctor at jboss.com
Date: 2009-02-23 19:59:55 -0500 (Mon, 23 Feb 2009)
New Revision: 25401

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java
Log:
-added missing event mappings data structures

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java	2009-02-24 00:26:59 UTC (rev 25400)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatelessKnowledgeSessionImpl.java	2009-02-24 00:59:55 UTC (rev 25401)
@@ -6,6 +6,7 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.IdentityHashMap;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -101,22 +102,39 @@
     }
 
     public void addEventListener(WorkingMemoryEventListener listener) {
+        if ( this.mappedWorkingMemoryListeners == null ) {
+            this.mappedWorkingMemoryListeners = new IdentityHashMap<WorkingMemoryEventListener, WorkingMemoryEventListenerWrapper>();
+        }
+        
         WorkingMemoryEventListenerWrapper wrapper = new WorkingMemoryEventListenerWrapper( listener );
         this.mappedWorkingMemoryListeners.put( listener,
                                                wrapper );
         this.workingMemoryEventSupport.addEventListener( wrapper );
     }
 
+    
     public void removeEventListener(WorkingMemoryEventListener listener) {
+        if ( this.mappedWorkingMemoryListeners == null ) {
+            this.mappedWorkingMemoryListeners = new IdentityHashMap<WorkingMemoryEventListener, WorkingMemoryEventListenerWrapper>();
+        }
+        
         WorkingMemoryEventListenerWrapper wrapper = this.mappedWorkingMemoryListeners.remove( listener );
         this.workingMemoryEventSupport.removeEventListener( wrapper );
     }
 
     public Collection<WorkingMemoryEventListener> getWorkingMemoryEventListeners() {
+        if ( this.mappedWorkingMemoryListeners == null ) {
+            this.mappedWorkingMemoryListeners = new IdentityHashMap<WorkingMemoryEventListener, WorkingMemoryEventListenerWrapper>();
+        }
+        
         return Collections.unmodifiableCollection( this.mappedWorkingMemoryListeners.keySet() );
     }
 
     public void addEventListener(AgendaEventListener listener) {
+        if ( this.mappedAgendaListeners == null ) {
+            this.mappedAgendaListeners = new IdentityHashMap<AgendaEventListener, AgendaEventListenerWrapper>();
+        }
+        
         AgendaEventListenerWrapper wrapper = new AgendaEventListenerWrapper( listener );
         this.mappedAgendaListeners.put( listener,
                                         wrapper );
@@ -124,15 +142,27 @@
     }
 
     public Collection<AgendaEventListener> getAgendaEventListeners() {
+        if ( this.mappedAgendaListeners == null ) {
+            this.mappedAgendaListeners = new IdentityHashMap<AgendaEventListener, AgendaEventListenerWrapper>();
+        }
+        
         return Collections.unmodifiableCollection( this.mappedAgendaListeners.keySet() );
     }
 
     public void removeEventListener(AgendaEventListener listener) {
+        if ( this.mappedAgendaListeners == null ) {
+            this.mappedAgendaListeners = new IdentityHashMap<AgendaEventListener, AgendaEventListenerWrapper>();
+        }
+        
         AgendaEventListenerWrapper wrapper = this.mappedAgendaListeners.remove( listener );
         this.agendaEventSupport.removeEventListener( wrapper );
     }
 
     public void addEventListener(ProcessEventListener listener) {
+        if ( this.mappedProcessListeners == null ) {
+            this.mappedProcessListeners = new IdentityHashMap<ProcessEventListener, ProcessEventListenerWrapper>();
+        }
+        
         ProcessEventListenerWrapper wrapper = new ProcessEventListenerWrapper( listener );
         this.mappedProcessListeners.put( listener,
                                          wrapper );
@@ -140,10 +170,18 @@
     }
 
     public Collection<ProcessEventListener> getProcessEventListeners() {
+        if ( this.mappedProcessListeners == null ) {
+            this.mappedProcessListeners = new IdentityHashMap<ProcessEventListener, ProcessEventListenerWrapper>();
+        }
+        
         return Collections.unmodifiableCollection( this.mappedProcessListeners.keySet() );
     }
 
     public void removeEventListener(ProcessEventListener listener) {
+        if ( this.mappedProcessListeners == null ) {
+            this.mappedProcessListeners = new IdentityHashMap<ProcessEventListener, ProcessEventListenerWrapper>();
+        }
+        
         ProcessEventListenerWrapper wrapper = this.mappedProcessListeners.get( listener );
         this.ruleFlowEventSupport.removeEventListener( wrapper );
     }




More information about the jboss-svn-commits mailing list