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=cd50f92c60580b546a696aab7c3ff4fbf3f9a5f0;hp=b39549ed5b73095f44194a30e15d5b6cdaa182ce;hpb=89bbb529da1ea9e338b2b03192bd912003f7f00e;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 b39549ed5b..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,14 +25,12 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -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 @@ -36,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; @@ -49,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); } @@ -70,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; } @@ -87,8 +93,10 @@ public class Activator implements BundleActivator { @Override public void run() { NetconfOperationServiceFactoryImpl factory = new NetconfOperationServiceFactoryImpl(yangStoreService); - logger.debug("Registering into OSGi"); - osgiRegistration = context.registerService(NetconfOperationServiceFactory.class, factory, null); + LOG.debug("Registering into OSGi"); + Dictionary properties = new Hashtable<>(); + properties.put(NetconfConstants.SERVICE_NAME, NetconfConstants.CONFIG_NETCONF_CONNECTOR); + osgiRegistration = context.registerService(NetconfOperationServiceFactory.class, factory, properties); } } }