X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fjmx%2FTransactionModuleJMXRegistrator.java;h=dbffe4cc9040bf2f4c8aeea165956c5b9dc2b2b4;hp=546adb0d8900996e60957a8882bcdd6c79a2eb5c;hb=f43b01b81319959b1907e3e04537f5169e7f33d8;hpb=9fb64948564e252018f9b1e13e7cea2c92f991aa diff --git a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/TransactionModuleJMXRegistrator.java b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/TransactionModuleJMXRegistrator.java index 546adb0d89..dbffe4cc90 100644 --- a/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/TransactionModuleJMXRegistrator.java +++ b/opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/TransactionModuleJMXRegistrator.java @@ -9,22 +9,19 @@ package org.opendaylight.controller.config.manager.impl.jmx; import java.io.Closeable; import java.util.Set; - import javax.management.InstanceAlreadyExistsException; import javax.management.ObjectName; import javax.management.QueryExp; - import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; -import org.opendaylight.controller.config.manager.impl.jmx.InternalJMXRegistrator.InternalJMXRegistration; -public class TransactionModuleJMXRegistrator implements Closeable { - private final InternalJMXRegistrator childJMXRegistrator; +public class TransactionModuleJMXRegistrator implements Closeable, NestableJMXRegistrator { + private final InternalJMXRegistrator currentJMXRegistrator; private final String transactionName; public TransactionModuleJMXRegistrator( - InternalJMXRegistrator internalJMXRegistrator, - String transactionName) { - this.childJMXRegistrator = internalJMXRegistrator.createChild(); + final InternalJMXRegistrator internalJMXRegistrator, + final String transactionName) { + this.currentJMXRegistrator = internalJMXRegistrator.createChild(); this.transactionName = transactionName; } @@ -32,7 +29,7 @@ public class TransactionModuleJMXRegistrator implements Closeable { AutoCloseable { private final InternalJMXRegistration registration; - TransactionModuleJMXRegistration(InternalJMXRegistration registration) { + TransactionModuleJMXRegistration(final InternalJMXRegistration registration) { this.registration = registration; } @@ -42,23 +39,32 @@ public class TransactionModuleJMXRegistrator implements Closeable { } } - public TransactionModuleJMXRegistration registerMBean(Object object, - ObjectName on) throws InstanceAlreadyExistsException { - if (!transactionName.equals(ObjectNameUtil.getTransactionName(on))) - throw new IllegalArgumentException( - "Transaction name mismatch between expected " + public TransactionModuleJMXRegistration registerMBean(final Object object, + final ObjectName on) throws InstanceAlreadyExistsException { + if (!transactionName.equals(ObjectNameUtil.getTransactionName(on))) { + throw new IllegalArgumentException("Transaction name mismatch between expected " + transactionName + " " + "and " + on); - ObjectNameUtil.checkType(on, ObjectNameUtil.TYPE_MODULE); + } + ObjectNameUtil.checkTypeOneOf(on, ObjectNameUtil.TYPE_MODULE); return new TransactionModuleJMXRegistration( - childJMXRegistrator.registerMBean(object, on)); + currentJMXRegistrator.registerMBean(object, on)); } - public Set queryNames(ObjectName name, QueryExp query) { - return childJMXRegistrator.queryNames(name, query); + public Set queryNames(final ObjectName name, final QueryExp query) { + return currentJMXRegistrator.queryNames(name, query); } @Override public void close() { - childJMXRegistrator.close(); + currentJMXRegistrator.close(); + } + + public String getTransactionName() { + return transactionName; + } + + @Override + public InternalJMXRegistrator createChild() { + return currentJMXRegistrator.createChild(); } }