X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fmd%2Fsal%2Fbinding%2Fimpl%2FBindingBrokerImplSingletonModuleFactory.java;fp=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fmd%2Fsal%2Fbinding%2Fimpl%2FBindingBrokerImplSingletonModuleFactory.java;h=b0a63108f22557454f2dd8c0f46db2e984e98228;hb=76b8b1fc0196ec1a2516ae1a682b0b83ef5ca880;hp=b4c5f0199f30e0e0c58539b6bef80604ef9efad0;hpb=9b319de4171b7ab8335ab5a57c93e800a744cefd;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/BindingBrokerImplSingletonModuleFactory.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/BindingBrokerImplSingletonModuleFactory.java index b4c5f0199f..b0a63108f2 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/BindingBrokerImplSingletonModuleFactory.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/BindingBrokerImplSingletonModuleFactory.java @@ -8,9 +8,6 @@ package org.opendaylight.controller.config.yang.md.sal.binding.impl; -import java.util.Collections; -import java.util.Set; - import org.opendaylight.controller.config.api.DependencyResolver; import org.opendaylight.controller.config.api.DependencyResolverFactory; import org.opendaylight.controller.config.api.DynamicMBeanWithInstance; @@ -18,6 +15,9 @@ import org.opendaylight.controller.config.api.ModuleIdentifier; import org.opendaylight.controller.config.spi.Module; import org.osgi.framework.BundleContext; +import java.util.Collections; +import java.util.Set; + /** * */ @@ -25,32 +25,32 @@ public class BindingBrokerImplSingletonModuleFactory extends org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractBindingBrokerImplSingletonModuleFactory { private static final String SINGLETON_NAME = "binding-broker-singleton"; - public static BindingBrokerImplSingletonModule SINGLETON; public static ModuleIdentifier SINGLETON_IDENTIFIER = new ModuleIdentifier(NAME, SINGLETON_NAME); @Override public Module createModule(String instanceName, DependencyResolver dependencyResolver, BundleContext bundleContext) { throw new UnsupportedOperationException("Only default instance supported."); } - + @Override public Module createModule(String instanceName, DependencyResolver dependencyResolver, DynamicMBeanWithInstance old, BundleContext bundleContext) throws Exception { - return SINGLETON; + Module instance = super.createModule(instanceName, dependencyResolver, old, bundleContext); + ((BindingBrokerImplSingletonModule)instance).setBundleContext(bundleContext); + return instance; } @Override public Set getDefaultModules(DependencyResolverFactory dependencyResolverFactory, BundleContext bundleContext) { - if (SINGLETON == null) { - DependencyResolver dependencyResolver = dependencyResolverFactory - .createDependencyResolver(SINGLETON_IDENTIFIER); - SINGLETON = new BindingBrokerImplSingletonModule(SINGLETON_IDENTIFIER, dependencyResolver); - SINGLETON.setBundleContext(bundleContext); - } + DependencyResolver dependencyResolver = dependencyResolverFactory + .createDependencyResolver(SINGLETON_IDENTIFIER); + BindingBrokerImplSingletonModule instance = new BindingBrokerImplSingletonModule(SINGLETON_IDENTIFIER, + dependencyResolver); + instance.setBundleContext(bundleContext); - return Collections.singleton(SINGLETON); + return Collections.singleton(instance); } }