Author: pderop
Date: Sat Dec 19 18:00:07 2015
New Revision: 1720962

URL: http://svn.apache.org/viewvc?rev=1720962&view=rev
Log:
FELIX-5146: Service adapters must not turn on autoconf mode if callbacks are 
ever used.

Modified:
    
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java

Modified: 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java?rev=1720962&r1=1720961&r2=1720962&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
 (original)
+++ 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
 Sat Dec 19 18:00:07 2015
@@ -57,13 +57,12 @@ public class AdapterServiceImpl extends
         Object callbackInstance, String add, String change, String remove, 
String swap, boolean propagate)
     {
         super(dm.createComponent()); // This service will be filtered by our 
super class, allowing us to take control.
-        m_component.setImplementation(new AdapterImpl(adapteeInterface, 
adapteeFilter, autoConfig, callbackInstance, add, 
-            change, remove, swap, propagate))
-                 .add(dm.createServiceDependency()
-                      .setService(adapteeInterface, adapteeFilter)
-                      .setAutoConfig(false)
-                      .setCallbacks("added", null, "removed", "swapped"))
-                 .setCallbacks("init", null, "stop", null);
+        m_component.setImplementation(new AdapterImpl(adapteeInterface, 
adapteeFilter, autoConfig, callbackInstance, add, change, remove, swap, 
propagate))            
+            .add(dm.createServiceDependency()
+                   .setService(adapteeInterface, adapteeFilter)
+                   .setAutoConfig(false)
+                   .setCallbacks("added", null, "removed", "swapped"))
+            .setCallbacks("init", null, "stop", null);
     }  
            
     public class AdapterImpl extends AbstractDecorator {
@@ -106,9 +105,6 @@ public class AdapterServiceImpl extends
             }
             if (m_autoConfig != null) {
                 dependency.setAutoConfig(m_autoConfig);
-            } else {
-                // enable auto configuration if there is no add callback or if 
there is one on a callbackInstance
-                dependency.setAutoConfig(m_add == null || (m_add != null && 
m_dependencyCallbackInstance != null));
             }
             
             if (m_propagate) {


Reply via email to