summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-11-26 16:29:26 +0000
committerAlex Rudyy <orudyy@apache.org>2014-11-26 16:29:26 +0000
commit40f6a09a123d8288f7794b0de2b1525b384aa65e (patch)
treedb845182512a4c6c79bfe8f20c80fe931b3cbea2 /qpid/java/broker-plugins
parent1074a4b5941858309c85e18cb42f7df5c0370045 (diff)
downloadqpid-python-40f6a09a123d8288f7794b0de2b1525b384aa65e.tar.gz
QPID-6246: Introduce ManagedInterface and ManagedAnnotation and expose the implemented ManagedInterfaces via meta data servlet
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1641849 13f79535-47bb-0310-9956-ffa450edef68
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 =