summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-plugins')
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
index 35eff5c0b7..2947cfb85b 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
+++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
@@ -24,8 +24,10 @@ import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
+import java.util.Set;
import java.util.TreeMap;
import javax.servlet.ServletException;
@@ -98,9 +100,20 @@ public class MetaDataServlet extends AbstractServlet
{
Map<String,Object> typeDetails = new LinkedHashMap<>();
typeDetails.put("attributes", processAttributes(type));
+ typeDetails.put("managedInterfaces", getManagedInterfaces(type));
return typeDetails;
}
+ private Set<String> getManagedInterfaces(Class<? extends ConfiguredObject> type)
+ {
+ Set<String> interfaces = new HashSet<>();
+ for(Class<?> classObject: _instance.getTypeRegistry().getManagedInterfaces(type))
+ {
+ interfaces.add(classObject.getSimpleName());
+ }
+ return interfaces;
+ }
+
private Map<String,Map> processAttributes(final Class<? extends ConfiguredObject> type)
{
Collection<ConfiguredObjectAttribute<?, ?>> attributes =