diff options
Diffstat (limited to 'qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java')
-rw-r--r-- | qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java index 486ea5e6f1..dd21225099 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java @@ -18,31 +18,27 @@ */ package org.apache.qpid.server.jmx; +import org.apache.qpid.server.model.AbstractConfiguredObjectTypeFactory; +import org.apache.qpid.server.model.Broker; +import org.apache.qpid.server.model.ConfiguredObject; + +import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.apache.qpid.server.model.Broker; -import org.apache.qpid.server.model.Plugin; -import org.apache.qpid.server.plugin.PluginFactory; - -public class JMXManagementFactory implements PluginFactory +public class JMXManagementFactory extends AbstractConfiguredObjectTypeFactory<JMXManagement> { - @Override - public Plugin createInstance(UUID id, Map<String, Object> attributes, Broker broker) + public JMXManagementFactory() { - if (JMXManagement.PLUGIN_TYPE.equals(attributes.get(PLUGIN_TYPE))) - { - return new JMXManagement(id, broker, attributes); - } - else - { - return null; - } + super(JMXManagement.class); } @Override - public String getType() + public JMXManagement createInstance(final Map<String, Object> attributes, final ConfiguredObject<?>... parents) { - return "JMX Management"; + Map<String,Object> attributesWithoutId = new HashMap<String, Object>(attributes); + Object idObj = attributesWithoutId.remove(ConfiguredObject.ID); + UUID id = idObj == null ? UUID.randomUUID() : idObj instanceof UUID ? (UUID) idObj : UUID.fromString(idObj.toString()); + return new JMXManagement(id, getParent(Broker.class,parents),attributes); } } |