From 214533a95a64861dd5b67f977fd171abcad30d4c Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Mon, 17 Feb 2014 21:39:52 +0000 Subject: QPID-5558 : [Java Broker] update management node to follow definitions in working draft 06 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1569115 13f79535-47bb-0310-9956-ffa450edef68 --- .../server/management/amqp/ManagementNode.java | 60 +++++++++++++--------- 1 file changed, 35 insertions(+), 25 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java b/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java index 3ded20ae6a..200da28e1c 100644 --- a/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java +++ b/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java @@ -42,7 +42,6 @@ import org.apache.qpid.server.plugin.MessageConverter; import org.apache.qpid.server.plugin.SystemNodeCreator; import org.apache.qpid.server.protocol.AMQSessionModel; import org.apache.qpid.server.protocol.MessageConverterRegistry; -import org.apache.qpid.server.security.AuthorizationHolder; import org.apache.qpid.server.store.StorableMessageMetaData; import org.apache.qpid.server.store.TransactionLogResource; import org.apache.qpid.server.txn.ServerTransaction; @@ -70,7 +69,7 @@ class ManagementNode implements MessageSource restriction; - if(requestHeader.containsHeader(ENTITY_TYPES_HEADER)) + if(requestHeader.containsHeader(ENTITY_TYPE_HEADER)) { - restriction = (List) requestHeader.getHeader(ENTITY_TYPES_HEADER); + restriction = new ArrayList(Collections.singletonList( (String)requestHeader.getHeader(ENTITY_TYPE_HEADER))); } else { @@ -691,10 +690,10 @@ class ManagementNode implements MessageSource restriction; - if(requestHeader.containsHeader(ENTITY_TYPES_HEADER)) + String restriction; + if(requestHeader.containsHeader(ENTITY_TYPE_HEADER)) { - restriction = (List) requestHeader.getHeader(ENTITY_TYPES_HEADER); + restriction = (String) requestHeader.getHeader(ENTITY_TYPE_HEADER); } else { @@ -709,13 +708,18 @@ class ManagementNode implements MessageSource(_entityTypes); } - for(ManagedEntityType type : entityMapCopy.values()) + if(restriction == null) { - if(restriction == null || restriction.contains(type.getName())) + for(ManagedEntityType type : entityMapCopy.values()) { responseMap.put(type.getName(), Arrays.asList(type.getAttributes())); } } + else if(entityMapCopy.containsKey(restriction)) + { + responseMap.put(restriction, Arrays.asList(entityMapCopy.get(restriction).getAttributes())); + } + responseMessage = InternalMessage.createMapMessage(_virtualHost.getMessageStore(), responseHeader, responseMap); return responseMessage; } @@ -725,10 +729,10 @@ class ManagementNode implements MessageSource restriction; - if(requestHeader.containsHeader(ENTITY_TYPES_HEADER)) + String restriction; + if(requestHeader.containsHeader(ENTITY_TYPE_HEADER)) { - restriction = (List) requestHeader.getHeader(ENTITY_TYPES_HEADER); + restriction = (String) requestHeader.getHeader(ENTITY_TYPE_HEADER); } else { @@ -743,19 +747,24 @@ class ManagementNode implements MessageSource(_entityTypes); } - for(ManagedEntityType type : entityMapCopy.values()) + if(restriction == null) { - if(restriction == null || restriction.contains(type.getName())) + for(ManagedEntityType type : entityMapCopy.values()) { responseMap.put(type.getName(), Arrays.asList(type.getOperations())); } } + else if(entityMapCopy.containsKey(restriction)) + { + ManagedEntityType type = entityMapCopy.get(restriction); + responseMap.put(type.getName(), Arrays.asList(type.getOperations())); + } responseMessage = InternalMessage.createMapMessage(_virtualHost.getMessageStore(), responseHeader, responseMap); return responseMessage; } private InternalMessage performQuery(final InternalMessageHeader requestHeader, - final MutableMessageHeader responseHeader) + final Object messageBody, final MutableMessageHeader responseHeader) { final InternalMessage responseMessage; List restriction; @@ -763,10 +772,11 @@ class ManagementNode implements MessageSource) requestHeader.getHeader(ENTITY_TYPES_HEADER); - responseHeader.setHeader(ENTITY_TYPES_HEADER, restriction); + restriction = new ArrayList(Collections.singletonList((String) requestHeader.getHeader( + ENTITY_TYPE_HEADER))); + responseHeader.setHeader(ENTITY_TYPE_HEADER, restriction); } else { @@ -774,9 +784,9 @@ class ManagementNode implements MessageSource) requestHeader.getHeader(ATTRIBUTES_HEADER); + attributes = (List) messageBody; } else { @@ -818,8 +828,8 @@ class ManagementNode implements MessageSource> responseList = new ArrayList>(); - + List> responseList = new ArrayList>(); + responseList.add(attributes); int rowNo = 0; for(String type : restriction) { @@ -855,7 +865,7 @@ class ManagementNode implements MessageSource