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) {