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";