FELIX-5146: Service adapters must not turn on autoconf mode if callbacks are ever used.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1720962 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java b/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
index 6ee3264..202f667 100644
--- a/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
+++ b/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
@@ -57,13 +57,12 @@
         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 @@
             }
             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) {