X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2FConfigRegistryImpl.java;h=0fd6c5279409e3412de86a33735c3dc4daddf058;hb=b2d4575c4425e3b3d5aeaf1190e01e5d5a5286aa;hp=84c2c6dd4dd46b57372d1fbf14a46f43ed225181;hpb=ac98a714cab7bb4bca57b3a059dc618aabd4fbcc;p=controller.git diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java index 84c2c6dd4d..0fd6c52794 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigRegistryImpl.java @@ -114,8 +114,7 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe BundleContext bundleContext, MBeanServer configMBeanServer, BaseJMXRegistrator baseJMXRegistrator) { this.resolver = resolver; - this.beanToOsgiServiceManager = new BeanToOsgiServiceManager( - bundleContext); + this.beanToOsgiServiceManager = new BeanToOsgiServiceManager(); this.bundleContext = bundleContext; this.configMBeanServer = configMBeanServer; this.baseJMXRegistrator = baseJMXRegistrator; @@ -138,7 +137,7 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe String transactionName = "ConfigTransaction-" + version + "-" + versionCounter; TransactionJMXRegistrator transactionRegistrator = baseJMXRegistrator .createTransactionJMXRegistrator(transactionName); - List allCurrentFactories = Collections.unmodifiableList(resolver.getAllFactories()); + Map> allCurrentFactories = Collections.unmodifiableMap(resolver.getAllFactories()); ConfigTransactionControllerInternal transactionController = new ConfigTransactionControllerImpl( transactionName, transactionRegistrator, version, versionCounter, allCurrentFactories, transactionsMBeanServer, configMBeanServer, bundleContext); @@ -320,8 +319,16 @@ public class ConfigRegistryImpl implements AutoCloseable, ConfigRegistryImplMXBe // register to OSGi if (osgiRegistration == null) { - osgiRegistration = beanToOsgiServiceManager.registerToOsgi(module.getClass(), - newReadableConfigBean.getInstance(), entry.getName()); + ModuleFactory moduleFactory = entry.getModuleFactory(); + if(moduleFactory != null) { + BundleContext bc = configTransactionController. + getModuleFactoryBundleContext(moduleFactory.getImplementationName()); + osgiRegistration = beanToOsgiServiceManager.registerToOsgi(module.getClass(), + newReadableConfigBean.getInstance(), entry.getName(), bc); + } else { + throw new NullPointerException(entry.getIdentifier().getFactoryName() + " ModuleFactory not found."); + } + } RootRuntimeBeanRegistratorImpl runtimeBeanRegistrator = runtimeRegistrators