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%2FConfigTransactionLookupRegistry.java;h=f9a3801171a0064a2c43b28f297e66adfabf7498;hb=4497e2212e73e13356447b9644bbdc935411949a;hp=5d1f0b39760b3453a0e1fc9f6b34f0bd15a939d3;hpb=0d36679800f7476120476ba371e62d16b17509f6;p=controller.git diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionLookupRegistry.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionLookupRegistry.java index 5d1f0b3976..f9a3801171 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionLookupRegistry.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/ConfigTransactionLookupRegistry.java @@ -7,17 +7,21 @@ */ package org.opendaylight.controller.config.manager.impl; +import java.io.Closeable; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import javax.management.InstanceAlreadyExistsException; +import javax.management.InstanceNotFoundException; +import javax.management.ObjectName; import org.opendaylight.controller.config.api.LookupRegistry; import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; import org.opendaylight.controller.config.manager.impl.jmx.TransactionJMXRegistrator; import org.opendaylight.controller.config.manager.impl.jmx.TransactionModuleJMXRegistrator; import org.opendaylight.controller.config.manager.impl.util.LookupBeansUtil; - -import javax.management.InstanceAlreadyExistsException; -import javax.management.InstanceNotFoundException; -import javax.management.ObjectName; -import java.io.Closeable; -import java.util.Set; +import org.opendaylight.controller.config.manager.impl.util.ModuleQNameUtil; +import org.opendaylight.controller.config.spi.ModuleFactory; +import org.osgi.framework.BundleContext; /** * Responsible for creating TransactionJMXRegistrator, registering transaction and all its beans, @@ -27,12 +31,14 @@ class ConfigTransactionLookupRegistry implements LookupRegistry, Closeable { private final TransactionJMXRegistrator transactionJMXRegistrator; private final TransactionIdentifier transactionIdentifier; private final TransactionModuleJMXRegistrator txModuleJMXRegistrator; + private final Map> allCurrentFactories; ConfigTransactionLookupRegistry(TransactionIdentifier transactionIdentifier, - TransactionJMXRegistratorFactory factory) { + TransactionJMXRegistratorFactory factory, Map> allCurrentFactories) { this.transactionIdentifier = transactionIdentifier; this.transactionJMXRegistrator = factory.create(); this.txModuleJMXRegistrator = transactionJMXRegistrator.createTransactionModuleJMXRegistrator(); + this.allCurrentFactories = allCurrentFactories; } private void checkTransactionName(ObjectName objectName) { @@ -104,6 +110,19 @@ class ConfigTransactionLookupRegistry implements LookupRegistry, Closeable { public void registerMBean(ConfigTransactionControllerInternal transactionController, ObjectName controllerObjectName) throws InstanceAlreadyExistsException { transactionJMXRegistrator.registerMBean(transactionController, controllerObjectName); } + + @Override + public Set getAvailableModuleFactoryQNames() { + return ModuleQNameUtil.getQNames(allCurrentFactories); + } + + + @Override + public String toString() { + return "ConfigTransactionLookupRegistry{" + + "transactionIdentifier=" + transactionIdentifier + + '}'; + } } interface TransactionJMXRegistratorFactory {