You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2018/10/15 16:54:57 UTC

svn commit: r1843926 - in /felix/trunk/scr/src: main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java test/java/org/apache/felix/scr/integration/ComponentTestBase.java

Author: cziegeler
Date: Mon Oct 15 16:54:57 2018
New Revision: 1843926

URL: http://svn.apache.org/viewvc?rev=1843926&view=rev
Log:
FELIX-5950 : NPE in MultiplePrototypeRefPair.unsetServiceObject

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java?rev=1843926&r1=1843925&r2=1843926&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/MultiplePrototypeRefPair.java Mon Oct 15 16:54:57 2018
@@ -20,6 +20,7 @@
 
 package org.apache.felix.scr.impl.manager;
 
+import java.util.Iterator;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -63,7 +64,17 @@ public class MultiplePrototypeRefPair<S,
     @Override
     public T unsetServiceObject(ComponentContextImpl<S> key)
     {
-        return instances.get(key);
+    	if ( key == null )
+    	{
+    		final Iterator<T> iter = instances.values().iterator();
+    		while ( iter.hasNext() ) 
+    		{
+    			this.serviceObjects.ungetService(iter.next());
+    		}
+    		instances.clear();
+    		return null ;
+    	}
+        return instances.remove(key);
     }
 
     @Override

Modified: felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java?rev=1843926&r1=1843925&r2=1843926&view=diff
==============================================================================
--- felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java (original)
+++ felix/trunk/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java Mon Oct 15 16:54:57 2018
@@ -117,7 +117,7 @@ public abstract class ComponentTestBase
     protected static String paxRunnerVmOption = null;
 
     //To investigate any problems at all set to "debug"
-    protected static String DS_LOGLEVEL = "debug";
+    protected static String DS_LOGLEVEL = "error";
 
     protected static String bsnVersionUniqueness = "single";