fixed initialization of the ResourceDependency with respect to propagate parameters. This fix is validated by the ResourceAdapterServiceTestWithPublisher testcase
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@987867 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterServiceImpl.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterServiceImpl.java
index 1082317..9820444 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterServiceImpl.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterServiceImpl.java
@@ -100,12 +100,14 @@
dependencies.remove(0);
ResourceDependency resourceDependency = m_manager.createResourceDependency()
.setResource(resource)
- .setPropagate(m_propagate)
.setCallbacks(m_callbackInstance, null, m_callbackChanged, null)
.setAutoConfig(true)
.setRequired(true);
- resourceDependency.setPropagate(m_propagate);
- resourceDependency.setPropagate(m_propagateCallbackInstance, m_propagateCallbackMethod);
+ if (m_propagateCallbackInstance != null && m_propagateCallbackMethod != null) {
+ resourceDependency.setPropagate(m_propagateCallbackInstance, m_propagateCallbackMethod);
+ } else {
+ resourceDependency.setPropagate(m_propagate);
+ }
Service service = m_manager.createService()
.setInterface(m_serviceInterfaces, props)
.setImplementation(m_serviceImpl)