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=f9a5acffad044b448b52eefc857a7b62e39ae96c;hb=81674d6fd50b419b868d0851062e23f34b34557d;hp=f9a3801171a0064a2c43b28f297e66adfabf7498;hpb=4497e2212e73e13356447b9644bbdc935411949a;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 f9a3801171..f9a5acffad 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 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013, 2017 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -24,29 +24,32 @@ import org.opendaylight.controller.config.spi.ModuleFactory; import org.osgi.framework.BundleContext; /** - * Responsible for creating TransactionJMXRegistrator, registering transaction and all its beans, - * lookup of beans, closing of TransactionJMXRegistrator. + * Responsible for creating TransactionJMXRegistrator, registering transaction + * and all its beans, lookup of beans, closing of TransactionJMXRegistrator. */ -class ConfigTransactionLookupRegistry implements LookupRegistry, Closeable { +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, Map> allCurrentFactories) { + interface TransactionJMXRegistratorFactory { + TransactionJMXRegistrator create(); + } + + ConfigTransactionLookupRegistry(final TransactionIdentifier transactionIdentifier, + final TransactionJMXRegistratorFactory factory, + final Map> allCurrentFactories) { this.transactionIdentifier = transactionIdentifier; this.transactionJMXRegistrator = factory.create(); this.txModuleJMXRegistrator = transactionJMXRegistrator.createTransactionModuleJMXRegistrator(); this.allCurrentFactories = allCurrentFactories; } - private void checkTransactionName(ObjectName objectName) { - String foundTransactionName = ObjectNameUtil - .getTransactionName(objectName); - if (transactionIdentifier.getName().equals(foundTransactionName) == false) { - throw new IllegalArgumentException("Wrong transaction name " - + objectName); + private void checkTransactionName(final ObjectName objectName) { + String foundTransactionName = ObjectNameUtil.getTransactionName(objectName); + if (!transactionIdentifier.getName().equals(foundTransactionName)) { + throw new IllegalArgumentException("Wrong transaction name " + objectName); } } @@ -62,7 +65,7 @@ class ConfigTransactionLookupRegistry implements LookupRegistry, Closeable { * {@inheritDoc} */ @Override - public Set lookupConfigBeans(String moduleName) { + public Set lookupConfigBeans(final String moduleName) { return lookupConfigBeans(moduleName, "*"); } @@ -70,29 +73,29 @@ class ConfigTransactionLookupRegistry implements LookupRegistry, Closeable { * {@inheritDoc} */ @Override - public ObjectName lookupConfigBean(String moduleName, String instanceName) - throws InstanceNotFoundException { - return LookupBeansUtil.lookupConfigBean(this, moduleName, instanceName); + public Set lookupConfigBeans(final String moduleName, final String instanceName) { + ObjectName namePattern = ObjectNameUtil.createModulePattern(moduleName, instanceName, + transactionIdentifier.getName()); + return txModuleJMXRegistrator.queryNames(namePattern, null); } /** * {@inheritDoc} */ @Override - public Set lookupConfigBeans(String moduleName, - String instanceName) { - ObjectName namePattern = ObjectNameUtil.createModulePattern(moduleName, - instanceName, transactionIdentifier.getName()); - return txModuleJMXRegistrator.queryNames(namePattern, null); + public ObjectName lookupConfigBean(final String moduleName, final String instanceName) + throws InstanceNotFoundException { + return LookupBeansUtil.lookupConfigBean(this, moduleName, instanceName); } @Override - public void checkConfigBeanExists(ObjectName objectName) throws InstanceNotFoundException { + public void checkConfigBeanExists(final ObjectName objectName) throws InstanceNotFoundException { ObjectNameUtil.checkDomain(objectName); ObjectNameUtil.checkType(objectName, ObjectNameUtil.TYPE_MODULE); checkTransactionName(objectName); // make sure exactly one match is found: - LookupBeansUtil.lookupConfigBean(this, ObjectNameUtil.getFactoryName(objectName), ObjectNameUtil.getInstanceName(objectName)); + LookupBeansUtil.lookupConfigBean(this, ObjectNameUtil.getFactoryName(objectName), + ObjectNameUtil.getInstanceName(objectName)); } TransactionIdentifier getTransactionIdentifier() { @@ -103,11 +106,13 @@ class ConfigTransactionLookupRegistry implements LookupRegistry, Closeable { return txModuleJMXRegistrator; } + @Override public void close() { transactionJMXRegistrator.close(); } - public void registerMBean(ConfigTransactionControllerInternal transactionController, ObjectName controllerObjectName) throws InstanceAlreadyExistsException { + public void registerMBean(final ConfigTransactionControllerInternal transactionController, + final ObjectName controllerObjectName) throws InstanceAlreadyExistsException { transactionJMXRegistrator.registerMBean(transactionController, controllerObjectName); } @@ -116,15 +121,27 @@ class ConfigTransactionLookupRegistry implements LookupRegistry, Closeable { return ModuleQNameUtil.getQNames(allCurrentFactories); } + /** + * {@inheritDoc} + */ + @Override + public Set lookupRuntimeBeans() { + return lookupRuntimeBeans("*", "*"); + } + + /** + * {@inheritDoc} + */ + @Override + public Set lookupRuntimeBeans(final String moduleName, final String instanceName) { + String finalModuleName = moduleName == null ? "*" : moduleName; + String finalInstanceName = instanceName == null ? "*" : instanceName; + ObjectName namePattern = ObjectNameUtil.createRuntimeBeanPattern(finalModuleName, finalInstanceName); + return transactionJMXRegistrator.queryNames(namePattern, null); + } @Override public String toString() { - return "ConfigTransactionLookupRegistry{" + - "transactionIdentifier=" + transactionIdentifier + - '}'; + return "ConfigTransactionLookupRegistry{" + "transactionIdentifier=" + transactionIdentifier + '}'; } } - -interface TransactionJMXRegistratorFactory { - TransactionJMXRegistrator create(); -}