X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fconfig%2Fconfig-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fmanager%2Fimpl%2Fjmx%2FTransactionModuleJMXRegistrator.java;h=fbdf47ebe4fba991cd2f138ab476fd88115f7238;hb=4497e2212e73e13356447b9644bbdc935411949a;hp=546adb0d8900996e60957a8882bcdd6c79a2eb5c;hpb=9fb64948564e252018f9b1e13e7cea2c92f991aa;p=controller.git 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..fbdf47ebe4 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,20 @@ 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(); + this.currentJMXRegistrator = internalJMXRegistrator.createChild(); this.transactionName = transactionName; } @@ -44,21 +42,29 @@ 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 " + if (transactionName.equals(ObjectNameUtil.getTransactionName(on)) == false) { + 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); + return currentJMXRegistrator.queryNames(name, query); } @Override public void close() { - childJMXRegistrator.close(); + currentJMXRegistrator.close(); + } + + public String getTransactionName() { + return transactionName; + } + + public InternalJMXRegistrator createChild() { + return currentJMXRegistrator.createChild(); } }