You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/07/23 10:34:49 UTC

svn commit: r679025 - /servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java

Author: gnodet
Date: Wed Jul 23 01:34:48 2008
New Revision: 679025

URL: http://svn.apache.org/viewvc?rev=679025&view=rev
Log:
SMX4NMR-44: NPE when unregistering endpoints

Modified:
    servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java

Modified: servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java?rev=679025&r1=679024&r2=679025&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java (original)
+++ servicemix/smx4/nmr/trunk/nmr/core/src/main/java/org/apache/servicemix/nmr/core/EndpointRegistryImpl.java Wed Jul 23 01:34:48 2008
@@ -123,17 +123,23 @@
         InternalEndpoint wrapper;
         if (endpoint instanceof InternalEndpoint) {
             wrapper = (InternalEndpoint) endpoint;
-            endpoint = wrappers.remove(wrapper);
-            endpoints.remove(endpoint);
+            if (wrapper != null) {
+                endpoint = wrappers.remove(wrapper);
+                if (endpoint != null) {
+                    endpoints.remove(endpoint);
+                }
+            }
         } else {
             wrapper = endpoints.remove(endpoint);
             if (wrapper != null) {
                 wrappers.remove(wrapper);
             }
         }
-        registry.unregister(wrapper, properties);
-        for (EndpointListener listener : nmr.getListenerRegistry().getListeners(EndpointListener.class)) {
-            listener.endpointUnregistered(wrapper);
+        if (wrapper != null) {
+            registry.unregister(wrapper, properties);
+            for (EndpointListener listener : nmr.getListenerRegistry().getListeners(EndpointListener.class)) {
+                listener.endpointUnregistered(wrapper);
+            }
         }
         for (DynamicReferenceImpl ref : references.keySet()) {
             ref.setDirty();