ONOS-6078 Netconf active component and integration with store
Change-Id: Ia80f0123f58a8e872de6ef7bf90bdde24f99d00c
diff --git a/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java b/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java
index c79d42a..938734d 100644
--- a/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java
+++ b/apps/config/src/main/java/org/onosproject/config/impl/DynamicConfigManager.java
@@ -37,11 +37,8 @@
import org.onosproject.yang.model.DataNode;
import org.onosproject.yang.model.ResourceId;
import org.onosproject.event.AbstractListenerManager;
-import org.onosproject.event.EventDeliveryService;
import org.slf4j.Logger;
-import java.util.Collection;
-
import static org.slf4j.LoggerFactory.getLogger;
/**
@@ -57,19 +54,19 @@
private final Logger log = getLogger(getClass());
private final DynamicConfigStoreDelegate storeDelegate = new InternalStoreDelegate();
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected EventDeliveryService eventDispatcher;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected DynamicConfigStore store;
@Activate
public void activate() {
store.setDelegate(storeDelegate);
+ eventDispatcher.addSink(DynamicConfigEvent.class, listenerRegistry);
log.info("DynamicConfigService Started");
}
@Deactivate
public void deactivate() {
store.unsetDelegate(storeDelegate);
+ eventDispatcher.removeSink(DynamicConfigEvent.class);
log.info("DynamicConfigService Stopped");
}
@@ -106,16 +103,10 @@
public void replaceNode(ResourceId path, DataNode node) {
throw new FailedException("Not yet implemented");
}
+
public Integer getNumberOfChildren(ResourceId path, Filter filter) {
throw new FailedException("Not yet implemented");
}
- public void addConfigListener(ResourceId path, DynamicConfigListener listener) {
- store.addConfigListener(path, listener);
- }
-
- public void removeConfigListener(ResourceId path, DynamicConfigListener listener) {
- store.removeConfigListener(path, listener);
- }
public void registerHandler(RpcHandler handler, RpcCommand command) {
throw new FailedException("Not yet implemented");
@@ -138,15 +129,7 @@
*/
private class InternalStoreDelegate implements DynamicConfigStoreDelegate {
public void notify(DynamicConfigEvent event) {
- ResourceId path = event.subject();
- Collection<? extends DynamicConfigListener> lstnrs = store.getConfigListener(path);
- if (lstnrs != null) {
- for (DynamicConfigListener l : lstnrs) {
- l.event(event);
- }
- } else {
- log.info("InternalStoreDelegate: no Listeners");
- }
+ post(event);
}
}
}
\ No newline at end of file