BUG-4514: clean children in InternalJMXRegistrator
[controller.git] / opendaylight / config / config-manager / src / main / java / org / opendaylight / controller / config / manager / impl / jmx / TransactionJMXRegistrator.java
index 98131868d201485315217c75170dfda269a3dc59..cf2c553f6b563181d366306b85903f851b3e243b 100644 (file)
@@ -7,13 +7,13 @@
  */
 package org.opendaylight.controller.config.manager.impl.jmx;
 
+import com.google.common.base.Preconditions;
 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;
 
 /**
  * Contains constraints on passed {@link ObjectName} parameters. Only allow (un)
@@ -23,16 +23,16 @@ public class TransactionJMXRegistrator implements Closeable {
     private final InternalJMXRegistrator childJMXRegistrator;
     private final String transactionName;
 
-    TransactionJMXRegistrator(InternalJMXRegistrator internalJMXRegistrator,
-                              String transactionName) {
-        this.childJMXRegistrator = internalJMXRegistrator.createChild();
+    TransactionJMXRegistrator(final InternalJMXRegistrator internalJMXRegistrator,
+                              final String transactionName) {
+        this.childJMXRegistrator = Preconditions.checkNotNull(internalJMXRegistrator);
         this.transactionName = transactionName;
     }
 
     public static class TransactionJMXRegistration implements AutoCloseable {
         private final InternalJMXRegistration registration;
 
-        TransactionJMXRegistration(InternalJMXRegistration registration) {
+        TransactionJMXRegistration(final InternalJMXRegistration registration) {
             this.registration = registration;
         }
 
@@ -42,7 +42,7 @@ public class TransactionJMXRegistrator implements Closeable {
         }
     }
 
-    public TransactionJMXRegistration registerMBean(Object object, ObjectName on)
+    public TransactionJMXRegistration registerMBean(final Object object, final ObjectName on)
             throws InstanceAlreadyExistsException {
         if (!transactionName.equals(ObjectNameUtil.getTransactionName(on))) {
             throw new IllegalArgumentException(
@@ -54,7 +54,7 @@ public class TransactionJMXRegistrator implements Closeable {
                 childJMXRegistrator.registerMBean(object, on));
     }
 
-    public Set<ObjectName> queryNames(ObjectName name, QueryExp query) {
+    public Set<ObjectName> queryNames(final ObjectName name, final QueryExp query) {
         return childJMXRegistrator.queryNames(name, query);
     }