made sure that resource adapters can let their adapters use propagation of properties, if they want to
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@889164 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java
index a60c740..ae494a4 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java
@@ -182,9 +182,9 @@
// TODO note to self, there are Dependency's and DependencyCollections
// (being a dependency on more than one, fi ServiceDendency, ResourceDependency
- public Service createResourceAdapterService(String resourceFilter, Class iface2, Object impl) {
+ public Service createResourceAdapterService(String resourceFilter, Class iface2, Object impl, boolean propagate) {
return createService()
- .setImplementation(new ResourceAdapterImpl(impl, iface2))
+ .setImplementation(new ResourceAdapterImpl(impl, iface2, propagate))
.add(createResourceDependency()
.setFilter(resourceFilter)
.setAutoConfig(false)
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ResourceDependency.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ResourceDependency.java
index fb59e88..5e69da4 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ResourceDependency.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ResourceDependency.java
@@ -99,4 +99,6 @@
ResourceDependency setRequired(boolean required);
ResourceDependency setFilter(String resourceFilter);
+
+ ResourceDependency setPropagate(boolean propagate);
}
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 53cfd6a..89e9c3b 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
@@ -25,10 +25,12 @@
private volatile DependencyManager m_manager;
private final Object m_impl;
private final Class m_iface;
+ private final boolean m_propagate;
- public ResourceAdapterImpl(Object impl, Class iface) {
+ public ResourceAdapterImpl(Object impl, Class iface, boolean propagate) {
m_impl = impl;
m_iface = iface;
+ m_propagate = propagate;
}
public void added(Resource resource) {
@@ -39,6 +41,7 @@
.add(m_manager.createResourceDependency()
.setResource(resource)
.setRequired(true)
+ .setPropagate(m_propagate)
)
);
}