removed a duplicate dependency for resource adapters, where only the most strict one now remains
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@891746 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterImpl.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterImpl.java
index 09bc943..f5e1af7 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterImpl.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterImpl.java
@@ -20,6 +20,7 @@
import java.util.Dictionary;
import java.util.Enumeration;
+import java.util.List;
import java.util.Properties;
import org.apache.felix.dm.resources.Resource;
@@ -59,11 +60,15 @@
props.put(key, m_adapterProperties.get(key));
}
}
+ List dependencies = m_service.getDependencies();
+ // the first dependency is always the dependency on the resource, which
+ // will be replaced with a more specific dependency below
+ dependencies.remove(0);
if (m_adapterInterface instanceof String) {
return m_manager.createService()
.setInterface((String) m_adapterInterface, props)
.setImplementation(m_adapterImplementation)
- .add(m_service.getDependencies())
+ .add(dependencies)
.add(m_manager.createResourceDependency()
.setResource(resource)
.setPropagate(m_propagate)
@@ -74,7 +79,7 @@
return m_manager.createService()
.setInterface((String[]) m_adapterInterface, props)
.setImplementation(m_adapterImplementation)
- .add(m_service.getDependencies())
+ .add(dependencies)
.add(m_manager.createResourceDependency()
.setResource(resource)
.setPropagate(m_propagate)