You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/02/17 22:39:52 UTC
svn commit: r1569115 -
/qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
Author: rgodfrey
Date: Mon Feb 17 21:39:52 2014
New Revision: 1569115
URL: http://svn.apache.org/r1569115
Log:
QPID-5558 : [Java Broker] update management node to follow definitions in working draft 06
Modified:
qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
Modified: qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java?rev=1569115&r1=1569114&r2=1569115&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java Mon Feb 17 21:39:52 2014
@@ -42,7 +42,6 @@ import org.apache.qpid.server.plugin.Mes
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 MessageS
public static final String GET_ATTRIBUTES = "GET-ATTRIBUTES";
public static final String GET_OPERATIONS = "GET-OPERATIONS";
public static final String QUERY = "QUERY";
- public static final String ENTITY_TYPES_HEADER = "entityTypes";
+ public static final String ENTITY_TYPE_HEADER = "entityType";
public static final String STATUS_CODE_HEADER = "statusCode";
public static final int STATUS_CODE_OK = 200;
public static final String ATTRIBUTES_HEADER = "attributes";
@@ -636,7 +635,7 @@ class ManagementNode implements MessageS
}
else if(QUERY.equals(operation))
{
- responseMessage = performQuery(requestHeader, responseHeader);
+ responseMessage = performQuery(requestHeader, msg.getMessageBody(), responseHeader);
}
else
{
@@ -650,9 +649,9 @@ class ManagementNode implements MessageS
{
final InternalMessage responseMessage;
List<String> restriction;
- if(requestHeader.containsHeader(ENTITY_TYPES_HEADER))
+ if(requestHeader.containsHeader(ENTITY_TYPE_HEADER))
{
- restriction = (List<String>) requestHeader.getHeader(ENTITY_TYPES_HEADER);
+ restriction = new ArrayList<String>(Collections.singletonList( (String)requestHeader.getHeader(ENTITY_TYPE_HEADER)));
}
else
{
@@ -691,10 +690,10 @@ class ManagementNode implements MessageS
final MutableMessageHeader responseHeader)
{
final InternalMessage responseMessage;
- List<String> restriction;
- if(requestHeader.containsHeader(ENTITY_TYPES_HEADER))
+ String restriction;
+ if(requestHeader.containsHeader(ENTITY_TYPE_HEADER))
{
- restriction = (List<String>) requestHeader.getHeader(ENTITY_TYPES_HEADER);
+ restriction = (String) requestHeader.getHeader(ENTITY_TYPE_HEADER);
}
else
{
@@ -709,13 +708,18 @@ class ManagementNode implements MessageS
entityMapCopy = new LinkedHashMap<String, ManagedEntityType>(_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 MessageS
final MutableMessageHeader responseHeader)
{
final InternalMessage responseMessage;
- List<String> restriction;
- if(requestHeader.containsHeader(ENTITY_TYPES_HEADER))
+ String restriction;
+ if(requestHeader.containsHeader(ENTITY_TYPE_HEADER))
{
- restriction = (List<String>) requestHeader.getHeader(ENTITY_TYPES_HEADER);
+ restriction = (String) requestHeader.getHeader(ENTITY_TYPE_HEADER);
}
else
{
@@ -743,19 +747,24 @@ class ManagementNode implements MessageS
entityMapCopy = new LinkedHashMap<String, ManagedEntityType>(_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<String> restriction;
@@ -763,10 +772,11 @@ class ManagementNode implements MessageS
int offset;
int count;
- if(requestHeader.containsHeader(ENTITY_TYPES_HEADER))
+ if(requestHeader.containsHeader(ENTITY_TYPE_HEADER))
{
- restriction = (List<String>) requestHeader.getHeader(ENTITY_TYPES_HEADER);
- responseHeader.setHeader(ENTITY_TYPES_HEADER, restriction);
+ restriction = new ArrayList<String>(Collections.singletonList((String) requestHeader.getHeader(
+ ENTITY_TYPE_HEADER)));
+ responseHeader.setHeader(ENTITY_TYPE_HEADER, restriction);
}
else
{
@@ -774,9 +784,9 @@ class ManagementNode implements MessageS
}
- if(requestHeader.containsHeader(ATTRIBUTES_HEADER))
+ if(messageBody instanceof List && !((List)messageBody).isEmpty())
{
- attributes = (List<String>) requestHeader.getHeader(ATTRIBUTES_HEADER);
+ attributes = (List<String>) messageBody;
}
else
{
@@ -818,8 +828,8 @@ class ManagementNode implements MessageS
responseHeader.setHeader(ATTRIBUTES_HEADER, attributes);
responseHeader.setHeader(STATUS_CODE_HEADER, STATUS_CODE_OK);
- List<List<Object>> responseList = new ArrayList<List<Object>>();
-
+ List<List<? extends Object>> responseList = new ArrayList<List<? extends Object>>();
+ responseList.add(attributes);
int rowNo = 0;
for(String type : restriction)
{
@@ -855,7 +865,7 @@ class ManagementNode implements MessageS
}
responseList.add(Arrays.asList(attrValue));
}
- if(responseList.size()==count)
+ if(responseList.size()==count+1)
{
break;
}
@@ -863,7 +873,7 @@ class ManagementNode implements MessageS
}
}
- if(responseList.size()==count)
+ if(responseList.size()==count+1)
{
break;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org