InternalJMXRegistration should be an ObjectRegistration 58/31858/9
authorRobert Varga <rovarga@cisco.com>
Wed, 23 Dec 2015 23:55:54 +0000 (00:55 +0100)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 13 Jan 2016 09:45:29 +0000 (09:45 +0000)
This way it follows AutoCloseable#close() contract, e.g. allows multiple
invocations.

Change-Id: Ied93bbdd388189a928cf06cbbc913fe124a284dd
Signed-off-by: Robert Varga <rovarga@cisco.com>
opendaylight/config/config-manager/src/main/java/org/opendaylight/controller/config/manager/impl/jmx/InternalJMXRegistration.java

index 4f4f99027d147eb73c2c514c4c34591a9de73039..5698e54fd1df622b55d553ee155a4732c851ae0e 100644 (file)
@@ -9,18 +9,18 @@ package org.opendaylight.controller.config.manager.impl.jmx;
 
 import com.google.common.base.Preconditions;
 import javax.management.ObjectName;
+import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
 
-final class InternalJMXRegistration implements AutoCloseable {
+final class InternalJMXRegistration extends AbstractObjectRegistration<ObjectName> {
     private final InternalJMXRegistrator internalJMXRegistrator;
-    private final ObjectName on;
 
     InternalJMXRegistration(final InternalJMXRegistrator internalJMXRegistrator, final ObjectName on) {
+        super(on);
         this.internalJMXRegistrator = Preconditions.checkNotNull(internalJMXRegistrator);
-        this.on = on;
     }
 
     @Override
-    public void close() {
-        internalJMXRegistrator.unregisterMBean(on);
+    protected void removeRegistration() {
+        internalJMXRegistrator.unregisterMBean(getInstance());
     }
 }