X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fmd%2Fsal%2Fbinding%2Fimpl%2FBindingBrokerImplSingletonModuleFactory.java;h=b0a63108f22557454f2dd8c0f46db2e984e98228;hp=e597b7fdee6b821b07ce55cccda25193b442efec;hb=1b50bf01cd8dab4b32ce696f58d722d6c81db1af;hpb=17796822dcc6f7a00adb60e4e507b40f342d39ec 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 e597b7fdee..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,7 +25,6 @@ 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 @@ -36,21 +35,22 @@ public class BindingBrokerImplSingletonModuleFactory extends @Override public Module createModule(String instanceName, DependencyResolver dependencyResolver, DynamicMBeanWithInstance old, BundleContext bundleContext) throws Exception { - throw new UnsupportedOperationException("Only default instance supported."); + 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); } }