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