You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2015/12/19 19:00:08 UTC
svn commit: r1720962 -
/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
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) {