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) {