X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fosgi%2FActivator.java;h=6f082b7ab186576c78c23b7e5c1c63df81d56b14;hb=1a43f55c49d91816751cec1825c40d0a90f8bd8b;hp=421870ca3611bb6e35a8e7ddd9ec574d0e62e4ab;hpb=d5759c52d69ba8725d9bbdc18e81848f319861d1;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/Activator.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/Activator.java index 421870ca36..6f082b7ab1 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/Activator.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/Activator.java @@ -8,7 +8,13 @@ package org.opendaylight.controller.netconf.confignetconfconnector.osgi; +import static com.google.common.base.Preconditions.checkState; + +import java.util.Dictionary; +import java.util.Hashtable; +import org.opendaylight.controller.netconf.api.util.NetconfConstants; import org.opendaylight.controller.netconf.mapping.api.NetconfOperationServiceFactory; +import org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeContext; import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; @@ -19,17 +25,12 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Dictionary; -import java.util.Hashtable; - -import static com.google.common.base.Preconditions.checkState; - public class Activator implements BundleActivator { - private static final Logger logger = LoggerFactory.getLogger(Activator.class); + private static final Logger LOG = LoggerFactory.getLogger(Activator.class); private BundleContext context; - private ServiceRegistration osgiRegistration; + private ServiceRegistration osgiRegistration; private ConfigRegistryLookupThread configRegistryLookup = null; @Override @@ -39,12 +40,12 @@ public class Activator implements BundleActivator { ServiceTrackerCustomizer customizer = new ServiceTrackerCustomizer() { @Override public ConfigRegistryLookupThread addingService(ServiceReference reference) { - logger.debug("Got addingService(SchemaContextProvider) event, starting ConfigRegistryLookupThread"); + LOG.debug("Got addingService(SchemaContextProvider) event, starting ConfigRegistryLookupThread"); checkState(configRegistryLookup == null, "More than one onYangStoreAdded received"); SchemaContextProvider schemaContextProvider = reference.getBundle().getBundleContext().getService(reference); - YangStoreServiceImpl yangStoreService = new YangStoreServiceImpl(schemaContextProvider); + YangStoreService yangStoreService = new YangStoreService(schemaContextProvider, context); configRegistryLookup = new ConfigRegistryLookupThread(yangStoreService); configRegistryLookup.start(); return configRegistryLookup; @@ -52,8 +53,10 @@ public class Activator implements BundleActivator { @Override public void modifiedService(ServiceReference reference, ConfigRegistryLookupThread configRegistryLookup) { - logger.debug("Got modifiedService(SchemaContextProvider) event"); - configRegistryLookup.yangStoreService.refresh(); + LOG.debug("Got modifiedService(SchemaContextProvider) event"); + final BindingRuntimeContext runtimeContext = (BindingRuntimeContext) reference.getProperty(BindingRuntimeContext.class.getName()); + LOG.debug("BindingRuntimeContext retrieved as {}", runtimeContext); + configRegistryLookup.yangStoreService.refresh(runtimeContext); } @@ -73,16 +76,16 @@ public class Activator implements BundleActivator { } @Override - public void stop(BundleContext context) throws Exception { + public void stop(BundleContext context) { if (configRegistryLookup != null) { configRegistryLookup.interrupt(); } } private class ConfigRegistryLookupThread extends Thread { - private final YangStoreServiceImpl yangStoreService; + private final YangStoreService yangStoreService; - private ConfigRegistryLookupThread(YangStoreServiceImpl yangStoreService) { + private ConfigRegistryLookupThread(YangStoreService yangStoreService) { super("config-registry-lookup"); this.yangStoreService = yangStoreService; } @@ -90,9 +93,9 @@ public class Activator implements BundleActivator { @Override public void run() { NetconfOperationServiceFactoryImpl factory = new NetconfOperationServiceFactoryImpl(yangStoreService); - logger.debug("Registering into OSGi"); + LOG.debug("Registering into OSGi"); Dictionary properties = new Hashtable<>(); - properties.put("name", "config-netconf-connector"); + properties.put(NetconfConstants.SERVICE_NAME, NetconfConstants.CONFIG_NETCONF_CONNECTOR); osgiRegistration = context.registerService(NetconfOperationServiceFactory.class, factory, properties); } }