FELIX-5177: use type-safe configuration dependency.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1728611 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/Activator.java b/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/Activator.java
index 011da46..c4cc264 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/Activator.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/Activator.java
@@ -41,7 +41,7 @@
// Create the Dictionary Aspect
dm.add(createAspectService(DictionaryService.class, "(lang=en)", 10)
.setImplementation(DictionaryAspect.class)
- .add(createConfigurationDependency().setPid(DictionaryAspectConfiguration.class.getName()))
+ .add(createConfigurationDependency().setPid(DictionaryAspectConfiguration.class.getName()).setCallback("updated", DictionaryConfiguration.class))
.add(createServiceDependency().setService(LogService.class))); // NullObject
// Create the SpellChecker component
diff --git a/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/DictionaryAspect.java b/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/DictionaryAspect.java
index 7ae8a76..3e491f3 100644
--- a/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/DictionaryAspect.java
+++ b/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/DictionaryAspect.java
@@ -11,13 +11,10 @@
*/
package org.apache.felix.dependencymanager.samples.dictionary.api;
-import java.util.Dictionary;
import java.util.concurrent.CopyOnWriteArrayList;
import org.osgi.service.log.LogService;
-import aQute.bnd.annotation.metatype.Configurable;
-
/**
* This aspect applies to the English DictionaryService, and allows to decorate it with some
* custom English words, which are configurable from WebConsole.
@@ -46,12 +43,10 @@
* Defines a configuration dependency for retrieving our english custom words (by default,
* our PID is our full class name).
*/
- protected void updated(Dictionary<String, ?> config) {
+ protected void updated(DictionaryConfiguration config) {
if (config != null) {
- // We use the bnd "Configurable" helper in order to get an implementation for our DictionaryConfiguration interface.
- DictionaryConfiguration cnf = Configurable.createConfigurable(DictionaryConfiguration.class, config);
m_words.clear();
- for (String word : cnf.words()) {
+ for (String word : config.words()) {
m_words.add(word);
}
}