FELIX-4305: implements new autoConfig/propagate methods from ComponentDeclaration interface.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1551349 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java
index 6742228..ffe5041 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java
@@ -370,6 +370,26 @@
}
}
+ public void autoConfig(final Dependency dependency) {
+ State state;
+ synchronized (m_dependencies) {
+ state = m_state;
+ }
+ if (state.isAllRequiredAvailable() && dependency.isAutoConfig()) {
+ configureImplementation(dependency.getAutoConfigType(), dependency.getAutoConfigInstance(), dependency.getAutoConfigName());
+ }
+ }
+
+ public void propagate(final Dependency dependency) {
+ State state;
+ synchronized (m_dependencies) {
+ state = m_state;
+ }
+ if (state.isAllRequiredAvailable() && dependency.isPropagated() && m_registration != null) {
+ m_registration.setProperties(calculateServiceProperties());
+ }
+ }
+
public void dependencyUnavailable(final Dependency dependency) {
State oldState, newState;
synchronized (m_dependencies) {