Remove yang-test
[controller.git] / opendaylight / config / config-manager / src / main / java / org / opendaylight / controller / config / manager / impl / jmx / TransactionModuleJMXRegistrator.java
index 546adb0d8900996e60957a8882bcdd6c79a2eb5c..dbffe4cc9040bf2f4c8aeea165956c5b9dc2b2b4 100644 (file)
@@ -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<ObjectName> queryNames(ObjectName name, QueryExp query) {
-        return childJMXRegistrator.queryNames(name, query);
+    public Set<ObjectName> 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();
     }
 }