You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2017/09/14 16:35:44 UTC

[1/3] qpid-broker-j git commit: QPID-7773: [Java Broker, REST API] Return json object for singleton object request

Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 29a1d9a2f -> d128dea9e


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
index 43e95ae..9f704cf 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java
@@ -170,8 +170,7 @@ public class BrokerACLTest extends QpidRestTestCase
         getRestTestHelper().setUsernameAndPassword(ALLOWED_USER, ALLOWED_USER);
 
         String providerName = TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER;
-
-        Map<String, Object> providerData = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/" + providerName);
+        Map<String, Object> providerData = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
 
         File file = TestFileUtils.createTempFile(this, ".users", "guest:guest\n" + ALLOWED_USER + ":" + ALLOWED_USER + "\n"
                 + DENIED_USER + ":" + DENIED_USER);
@@ -186,7 +185,7 @@ public class BrokerACLTest extends QpidRestTestCase
         int responseCode = getRestTestHelper().submitRequest("authenticationprovider/" + providerName, "PUT", attributes);
         assertEquals("Setting of provider attribites should be allowed", 403, responseCode);
 
-        Map<String, Object> provider = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/" + providerName);
+        Map<String, Object> provider = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
         assertEquals("Unexpected STORE_URL attribute value",
                 providerData.get(ExternalFileBasedAuthenticationManager.PATH),
                 provider.get(ExternalFileBasedAuthenticationManager.PATH));
@@ -269,7 +268,7 @@ public class BrokerACLTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
         assertEquals("Setting of port attribites should be denied", 403, responseCode);
 
-        Map<String, Object> port = getRestTestHelper().getJsonAsSingletonList("port/" + portName);
+        Map<String, Object> port = getRestTestHelper().getJsonAsMap("port/" + portName);
         assertEquals("Unexpected authentication provider attribute value",
                 TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER, port.get(Port.AUTHENTICATION_PROVIDER));
     }
@@ -360,7 +359,7 @@ public class BrokerACLTest extends QpidRestTestCase
         assertEquals("keyStore creation should be allowed", 201, responseCode);
 
         assertKeyStoreExistence(keyStoreName, true);
-        Map<String, Object> keyStore = getRestTestHelper().getJsonAsSingletonList("keystore/" + keyStoreName);
+        Map<String, Object> keyStore = getRestTestHelper().getJsonAsMap("keystore/" + keyStoreName);
         assertEquals("Unexpected certificateAlias attribute value", initialCertAlias, keyStore.get(FileKeyStore.CERTIFICATE_ALIAS));
 
         Map<String, Object> attributes = new HashMap<String, Object>();
@@ -369,7 +368,7 @@ public class BrokerACLTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest("keystore/" + keyStoreName, "PUT", attributes);
         assertEquals("Setting of keystore attributes should be allowed", 200, responseCode);
 
-        keyStore = getRestTestHelper().getJsonAsSingletonList("keystore/" + keyStoreName);
+        keyStore = getRestTestHelper().getJsonAsMap("keystore/" + keyStoreName);
         assertEquals("Unexpected certificateAlias attribute value", updatedCertAlias, keyStore.get(FileKeyStore.CERTIFICATE_ALIAS));
     }
 
@@ -387,7 +386,7 @@ public class BrokerACLTest extends QpidRestTestCase
         assertEquals("keyStore creation should be allowed", 201, responseCode);
 
         assertKeyStoreExistence(keyStoreName, true);
-        Map<String, Object> keyStore = getRestTestHelper().getJsonAsSingletonList("keystore/" + keyStoreName);
+        Map<String, Object> keyStore = getRestTestHelper().getJsonAsMap("keystore/" + keyStoreName);
         assertEquals("Unexpected certificateAlias attribute value", initialCertAlias, keyStore.get(FileKeyStore.CERTIFICATE_ALIAS));
 
         getRestTestHelper().setUsernameAndPassword(DENIED_USER, DENIED_USER);
@@ -398,7 +397,7 @@ public class BrokerACLTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest("keystore/" + keyStoreName, "PUT", attributes);
         assertEquals("Setting of keystore attributes should be denied", 403, responseCode);
 
-        keyStore = getRestTestHelper().getJsonAsSingletonList("keystore/" + keyStoreName);
+        keyStore = getRestTestHelper().getJsonAsMap("keystore/" + keyStoreName);
         assertEquals("Unexpected certificateAlias attribute value", initialCertAlias, keyStore.get(FileKeyStore.CERTIFICATE_ALIAS));
     }
 
@@ -488,7 +487,7 @@ public class BrokerACLTest extends QpidRestTestCase
         assertEquals("trustStore creation should be allowed", 201, responseCode);
 
         assertTrustStoreExistence(trustStoreName, true);
-        Map<String, Object> trustStore = getRestTestHelper().getJsonAsSingletonList("truststore/" + trustStoreName);
+        Map<String, Object> trustStore = getRestTestHelper().getJsonAsMap("truststore/" + trustStoreName);
         assertEquals("Unexpected peersOnly attribute value", initialPeersOnly, trustStore.get(FileTrustStore.PEERS_ONLY));
 
         Map<String, Object> attributes = new HashMap<String, Object>();
@@ -497,7 +496,7 @@ public class BrokerACLTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest("truststore/" + trustStoreName, "PUT", attributes);
         assertEquals("Setting of truststore attributes should be allowed", 200, responseCode);
 
-        trustStore = getRestTestHelper().getJsonAsSingletonList("truststore/" + trustStoreName);
+        trustStore = getRestTestHelper().getJsonAsMap("truststore/" + trustStoreName);
         assertEquals("Unexpected peersOnly attribute value", updatedPeersOnly, trustStore.get(FileTrustStore.PEERS_ONLY));
     }
 
@@ -515,7 +514,7 @@ public class BrokerACLTest extends QpidRestTestCase
         assertEquals("trustStore creation should be allowed", 201, responseCode);
 
         assertTrustStoreExistence(trustStoreName, true);
-        Map<String, Object> trustStore = getRestTestHelper().getJsonAsSingletonList("truststore/" + trustStoreName);
+        Map<String, Object> trustStore = getRestTestHelper().getJsonAsMap("truststore/" + trustStoreName);
         assertEquals("Unexpected peersOnly attribute value", initialPeersOnly, trustStore.get(FileTrustStore.PEERS_ONLY));
 
         getRestTestHelper().setUsernameAndPassword(DENIED_USER, DENIED_USER);
@@ -526,7 +525,7 @@ public class BrokerACLTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest("truststore/" + trustStoreName, "PUT", attributes);
         assertEquals("Setting of truststore attributes should be denied", 403, responseCode);
 
-        trustStore = getRestTestHelper().getJsonAsSingletonList("truststore/" + trustStoreName);
+        trustStore = getRestTestHelper().getJsonAsMap("truststore/" + trustStoreName);
         assertEquals("Unexpected peersOnly attribute value", initialPeersOnly, trustStore.get(FileTrustStore.PEERS_ONLY));
     }
 
@@ -536,7 +535,7 @@ public class BrokerACLTest extends QpidRestTestCase
     {
         getRestTestHelper().setUsernameAndPassword(ALLOWED_USER, ALLOWED_USER);
 
-        Map<String, Object> brokerAttributes = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> brokerAttributes = getRestTestHelper().getJsonAsMap("broker");
         assertEquals("Unexpected description", null,
                      brokerAttributes.get(Broker.DESCRIPTION));
 
@@ -547,7 +546,7 @@ public class BrokerACLTest extends QpidRestTestCase
                                           Collections.singletonMap(Broker.DESCRIPTION, descriptionValue),
                                           200);
 
-        brokerAttributes = getRestTestHelper().getJsonAsSingletonList("broker");
+        brokerAttributes = getRestTestHelper().getJsonAsMap("broker");
         assertEquals("Unexpected description", descriptionValue,
                      brokerAttributes.get(Broker.DESCRIPTION));
     }
@@ -556,7 +555,7 @@ public class BrokerACLTest extends QpidRestTestCase
     {
         getRestTestHelper().setUsernameAndPassword(ALLOWED_USER, ALLOWED_USER);
 
-        Map<String, Object> brokerAttributes = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> brokerAttributes = getRestTestHelper().getJsonAsMap("broker");
         assertEquals("Unexpected description", null, brokerAttributes.get(Broker.DESCRIPTION));
 
         getRestTestHelper().setUsernameAndPassword(DENIED_USER, DENIED_USER);
@@ -566,7 +565,7 @@ public class BrokerACLTest extends QpidRestTestCase
                                           Collections.singletonMap(Broker.DESCRIPTION, "test description"),
                                           403);
 
-        brokerAttributes = getRestTestHelper().getJsonAsSingletonList("broker");
+        brokerAttributes = getRestTestHelper().getJsonAsMap("broker");
         assertEquals("Unexpected description", null, brokerAttributes.get(Broker.DESCRIPTION));
     }
 
@@ -794,8 +793,8 @@ public class BrokerACLTest extends QpidRestTestCase
                 "plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT, "PUT", attributes);
         assertEquals("Setting of http management should be allowed", 200, responseCode);
 
-        Map<String, Object> details = getRestTestHelper().getJsonAsSingletonList(
-                "plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
+        Map<String, Object> details =
+                getRestTestHelper().getJsonAsMap("plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
 
         assertEquals("Unexpected session timeout", 10000, details.get(HttpManagement.TIME_OUT));
         assertEquals("Unexpected http basic auth enabled", true, details.get(HttpManagement.HTTP_BASIC_AUTHENTICATION_ENABLED));
@@ -819,8 +818,8 @@ public class BrokerACLTest extends QpidRestTestCase
                 "plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT, "PUT", attributes);
         assertEquals("Setting of http management should be denied", 403, responseCode);
 
-        Map<String, Object> details = getRestTestHelper().getJsonAsSingletonList(
-                "plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
+        Map<String, Object> details =
+                getRestTestHelper().getJsonAsMap("plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
 
         assertEquals("Unexpected session timeout", HttpManagement.DEFAULT_TIMEOUT_IN_SECONDS,
                 details.get(HttpManagement.TIME_OUT));
@@ -960,14 +959,16 @@ public class BrokerACLTest extends QpidRestTestCase
         attributes.put(BrokerNameAndLevelLogInclusionRule.LEVEL, "DEBUG");
 
         getRestTestHelper().submitRequest("brokerloginclusionrule/testLogger1/rule1", "PUT", attributes, HttpServletResponse.SC_OK);
-        Map<String,Object> resultAfterUpdate = getRestTestHelper().getJsonAsSingletonList("brokerloginclusionrule/testLogger1/rule1");
+        Map<String,Object> resultAfterUpdate =
+                getRestTestHelper().getJsonAsMap("brokerloginclusionrule/testLogger1/rule1");
         assertEquals("Log level was not changed", "DEBUG", resultAfterUpdate.get(BrokerNameAndLevelLogInclusionRule.LEVEL));
 
         getRestTestHelper().setUsernameAndPassword(DENIED_USER, DENIED_USER);
         attributes.put(BrokerNameAndLevelLogInclusionRule.LEVEL, "INFO");
         getRestTestHelper().submitRequest("brokerloginclusionrule/testLogger1/rule1", "PUT", attributes, HttpServletResponse.SC_FORBIDDEN);
 
-        Map<String,Object> resultAfterDeniedUpdate = getRestTestHelper().getJsonAsSingletonList("brokerloginclusionrule/testLogger1/rule1");
+        Map<String,Object> resultAfterDeniedUpdate =
+                getRestTestHelper().getJsonAsMap("brokerloginclusionrule/testLogger1/rule1");
         assertEquals("Log level was changed by not allowed user", "DEBUG", resultAfterDeniedUpdate.get(BrokerNameAndLevelLogInclusionRule.LEVEL));
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/acl/ExchangeRestACLTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/acl/ExchangeRestACLTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/acl/ExchangeRestACLTest.java
index dc35c90..7ee3467 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/acl/ExchangeRestACLTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/acl/ExchangeRestACLTest.java
@@ -297,7 +297,7 @@ public class ExchangeRestACLTest extends QpidRestTestCase
     {
         String path = "exchange/test/test/amq.direct";
 
-        final Map<String, Object> exch = getRestTestHelper().getJsonAsSingletonList(path);
+        final Map<String, Object> exch = getRestTestHelper().getJsonAsMap(path);
         final Collection<Map<String, Object>> bindings = (Collection<Map<String, Object>>) exch.get("bindings");
         boolean found = false;
         if (bindings != null)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/acl/GroupRestACLTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/acl/GroupRestACLTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/acl/GroupRestACLTest.java
index c410845..b3d7d11 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/acl/GroupRestACLTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/acl/GroupRestACLTest.java
@@ -106,19 +106,19 @@ public class GroupRestACLTest extends QpidRestTestCase
         getRestTestHelper().setUsernameAndPassword(ALLOWED_USER, ALLOWED_USER);
 
         Map<String, Object> data =
-                getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+                getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         getRestTestHelper().assertNumberOfGroups(data, 3);
 
         getRestTestHelper().createGroup("newGroup", FILE_GROUP_MANAGER);
 
-        data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+        data = getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         getRestTestHelper().assertNumberOfGroups(data, 4);
 
         getRestTestHelper().setUsernameAndPassword(DENIED_USER, DENIED_USER);
 
         getRestTestHelper().createGroup("anotherNewGroup", FILE_GROUP_MANAGER, HttpServletResponse.SC_FORBIDDEN);
 
-        data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+        data = getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         getRestTestHelper().assertNumberOfGroups(data, 4);
     }
 
@@ -133,19 +133,19 @@ public class GroupRestACLTest extends QpidRestTestCase
         getRestTestHelper().setUsernameAndPassword(DENIED_USER, DENIED_USER);
 
         Map<String, Object> data =
-                getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+                getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         getRestTestHelper().assertNumberOfGroups(data, 3);
 
         getRestTestHelper().removeGroup(OTHER_GROUP, FILE_GROUP_MANAGER, HttpServletResponse.SC_FORBIDDEN);
 
-        data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+        data = getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         getRestTestHelper().assertNumberOfGroups(data, 3);
 
         getRestTestHelper().setUsernameAndPassword(ALLOWED_USER, ALLOWED_USER);
 
         getRestTestHelper().removeGroup(OTHER_GROUP, FILE_GROUP_MANAGER);
 
-        data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+        data = getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         getRestTestHelper().assertNumberOfGroups(data, 2);
     }
 
@@ -191,11 +191,11 @@ public class GroupRestACLTest extends QpidRestTestCase
 
     private void assertNumberOfGroupMembers(String groupName, int expectedNumberOfMembers) throws IOException
     {
-        Map<String, Object> group = getRestTestHelper().getJsonAsSingletonList("group/"
-                                                                               + FILE_GROUP_MANAGER
-                                                                               + "/"
-                                                                               + groupName
-                                                                               + "?depth=1");
+        Map<String, Object> group = getRestTestHelper().getJsonAsMap("group/"
+                                                                     + FILE_GROUP_MANAGER
+                                                                     + "/"
+                                                                     + groupName
+                                                                     + "?depth=1");
         getRestTestHelper().assertNumberOfGroupMembers(group, expectedNumberOfMembers);
     }
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/acl/QueueRestACLTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/acl/QueueRestACLTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/acl/QueueRestACLTest.java
index 10849f3..575ae6f 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/acl/QueueRestACLTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/acl/QueueRestACLTest.java
@@ -131,7 +131,7 @@ public class QueueRestACLTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest(_queueUrl, "PUT", attributes);
         assertEquals("Setting of queue attribites should be allowed", 200, responseCode);
 
-        Map<String, Object> queueData = getRestTestHelper().getJsonAsSingletonList(_queueUrl);
+        Map<String, Object> queueData = getRestTestHelper().getJsonAsMap(_queueUrl);
         assertEquals("Unexpected " + Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 100000, queueData.get(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES));
     }
 
@@ -151,7 +151,7 @@ public class QueueRestACLTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest(_queueUrl, "PUT", attributes);
         assertEquals("Setting of queue attribites should be allowed", 403, responseCode);
 
-        Map<String, Object> queueData = getRestTestHelper().getJsonAsSingletonList(_queueUrl);
+        Map<String, Object> queueData = getRestTestHelper().getJsonAsMap(_queueUrl);
         assertEquals("Unexpected " + Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, -1, queueData.get(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES));
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/acl/UserRestACLTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/acl/UserRestACLTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/acl/UserRestACLTest.java
index a34a5b7..99fb734 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/acl/UserRestACLTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/acl/UserRestACLTest.java
@@ -173,7 +173,7 @@ public class UserRestACLTest extends QpidRestTestCase
     private void assertUserExists(String username) throws IOException
     {
         String path = "user/" + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "/" + username;
-        Map<String, Object> userDetails = getRestTestHelper().getJsonAsSingletonList(path);
+        Map<String, Object> userDetails = getRestTestHelper().getJsonAsMap(path);
 
         assertEquals(
                 "User returned by " + path + " should have name=" + username + ". The returned JSON was: " + userDetails,

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/test/unit/client/DynamicQueueExchangeCreateTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/test/unit/client/DynamicQueueExchangeCreateTest.java b/systests/src/test/java/org/apache/qpid/test/unit/client/DynamicQueueExchangeCreateTest.java
index 0c33437..d425418 100644
--- a/systests/src/test/java/org/apache/qpid/test/unit/client/DynamicQueueExchangeCreateTest.java
+++ b/systests/src/test/java/org/apache/qpid/test/unit/client/DynamicQueueExchangeCreateTest.java
@@ -276,21 +276,14 @@ public class DynamicQueueExchangeCreateTest extends QpidBrokerTestCase
     private Map<String, Object> getExchangeAttributes(final String exchangeName) throws IOException
     {
         String exchangeUrl = "exchange/" + TEST_VHOST + "/" + TEST_VHOST + "/" + exchangeName;
-        List<Map<String, Object>> exchanges = _restTestHelper.getJsonAsList(exchangeUrl);
-        int exchangesSize = exchanges.size();
-        if (exchangesSize == 1)
+        try
         {
-            return exchanges.get(0);
+            return _restTestHelper.getJsonAsMap(exchangeUrl);
         }
-        else if (exchangesSize == 0)
+        catch (FileNotFoundException e)
         {
             return null;
         }
-        else
-        {
-            fail("Exchange REST service returned more then 1 exchange " + exchanges);
-        }
-        return null;
     }
 
     private boolean exchangeExists(final String exchangeName)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java b/systests/src/test/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java
index 30bcddb..2702feb 100644
--- a/systests/src/test/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java
+++ b/systests/src/test/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java
@@ -137,7 +137,8 @@ public class BrokerClosesClientConnectionTest extends QpidBrokerTestCase
             int connectionCount = 0;
             for (int i = 0; i < 20; ++i)
             {
-                Map<String, Object> portObject = restTestHelper.getJsonAsSingletonList("port/" + TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT);
+                Map<String, Object> portObject =
+                        restTestHelper.getJsonAsMap("port/" + TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT);
                 Map<String, Object> portStatistics = (Map<String, Object>) portObject.get("statistics");
                 connectionCount = (int) portStatistics.get("connectionCount");
                 if (connectionCount == 0)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[2/3] qpid-broker-j git commit: QPID-7773: [Java Broker, REST API] Return json object for singleton object request

Posted by or...@apache.org.
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
index 06d5481..0a001b3 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
@@ -155,7 +155,7 @@ public class ConnectionRestTest extends QpidRestTestCase
     {
         List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session");
         assertEquals("Unexpected number of sessions", 1, sessions.size());
-        assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
+        assertSession(sessions.get(0));
     }
 
     public void testGetPortSessions() throws Exception
@@ -164,7 +164,7 @@ public class ConnectionRestTest extends QpidRestTestCase
 
         List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/" + portName);
         assertEquals("Unexpected number of sessions", 1, sessions.size());
-        assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
+        assertSession(sessions.get(0));
     }
 
     public void testGetConnectionSessions() throws Exception
@@ -175,7 +175,7 @@ public class ConnectionRestTest extends QpidRestTestCase
         List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/" + portName + "/"
                 + getRestTestHelper().encodeAsUTF(connectionName));
         assertEquals("Unexpected number of sessions", 1, sessions.size());
-        assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
+        assertSession(sessions.get(0));
     }
 
     public void testGetSessionByName() throws Exception
@@ -183,10 +183,9 @@ public class ConnectionRestTest extends QpidRestTestCase
         String connectionName = getConnectionName();
         String portName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT;
 
-        List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/" + portName + "/"
+        Map<String, Object> sessionDetails = getRestTestHelper().getJsonAsMap("session/" + portName + "/"
                 + getRestTestHelper().encodeAsUTF(connectionName) + "/" + ((AMQSession<?, ?>) _session).getChannelId());
-        assertEquals("Unexpected number of sessions", 1, sessions.size());
-        assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
+        assertSession(sessionDetails);
     }
 
     public void testProducerSessionOpenHasTransactionStartAndUpdateTimes() throws Exception
@@ -199,12 +198,9 @@ public class ConnectionRestTest extends QpidRestTestCase
         String connectionName = getConnectionName();
         String portName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT;
 
-        List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/" + portName + "/"
+        Map<String, Object> sessionData = getRestTestHelper().getJsonAsMap("session/" + portName + "/"
                                                                                + getRestTestHelper().encodeAsUTF(connectionName)
                                                                                + "/" + ((AMQSession<?, ?>) _session).getChannelId());
-        assertEquals("Unexpected number of sessions", 1, sessions.size());
-
-        final Map<String, Object> sessionData = sessions.get(0);
 
         @SuppressWarnings("unchecked")
         Map<String, Object> statistics = (Map<String, Object>) sessionData.get(Asserts.STATISTICS_ATTRIBUTE);
@@ -238,10 +234,10 @@ public class ConnectionRestTest extends QpidRestTestCase
         List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/amqp/" + encodedName);
         assertNotNull("Sessions cannot be found", sessions);
         assertEquals("Unexpected number of sessions", 1, sessions.size());
-        assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
+        assertSession(sessions.get(0));
     }
 
-    private void assertSession(Map<String, Object> sessionData, AMQSession<?, ?> session)
+    private void assertSession(Map<String, Object> sessionData)
     {
         assertNotNull("Session map cannot be null", sessionData);
         Asserts.assertAttributesPresent(sessionData, BrokerModel.getInstance().getTypeRegistry().getAttributeNames(
@@ -257,12 +253,10 @@ public class ConnectionRestTest extends QpidRestTestCase
                                         Session.STATE,
                                         Session.DURABLE,
                                         Session.LIFETIME_POLICY);
-        assertEquals("Unexpected value of attribute " + Session.NAME, session.getChannelId() + "",
-                sessionData.get(Session.NAME));
         assertEquals("Unexpected value of attribute " + Session.PRODUCER_FLOW_BLOCKED, Boolean.FALSE,
                 sessionData.get(Session.PRODUCER_FLOW_BLOCKED));
-        assertEquals("Unexpected value of attribute " + Session.CHANNEL_ID, session.getChannelId(),
-                sessionData.get(Session.CHANNEL_ID));
+        assertNotNull("Unexpected value of attribute " + Session.NAME, sessionData.get(Session.NAME));
+        assertNotNull("Unexpected value of attribute " + Session.CHANNEL_ID , sessionData.get(Session.CHANNEL_ID));
 
         @SuppressWarnings("unchecked")
         Map<String, Object> statistics = (Map<String, Object>) sessionData.get(Asserts.STATISTICS_ATTRIBUTE);

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java
index 8b39eda..25502e8 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java
@@ -65,8 +65,9 @@ public class ExchangeRestTest extends QpidRestTestCase
     {
         for (String exchangeName : EXPECTED_EXCHANGES)
         {
-            Map<String, Object> exchange = getRestTestHelper().getJsonAsSingletonList("exchange/test/test/"
-                    + getRestTestHelper().encodeAsUTF(exchangeName));
+            Map<String, Object> exchange = getRestTestHelper().getJsonAsMap("exchange/test/test/"
+                                                                            + getRestTestHelper().encodeAsUTF(
+                    exchangeName));
             assertExchange(exchangeName, exchange);
         }
     }
@@ -81,7 +82,7 @@ public class ExchangeRestTest extends QpidRestTestCase
         attributes.put(Exchange.TYPE, "direct");
         getRestTestHelper().submitRequest(exchangeUrl, "PUT", attributes, 201);
 
-        Map<String, Object> exchange = getRestTestHelper().getJsonAsSingletonList(exchangeUrl);
+        Map<String, Object> exchange = getRestTestHelper().getJsonAsMap(exchangeUrl);
         assertNotNull("Exchange not found", exchange);
 
         attributes = new HashMap<>();
@@ -90,7 +91,7 @@ public class ExchangeRestTest extends QpidRestTestCase
                        Collections.singletonMap(AlternateBinding.DESTINATION, "amq.direct"));
 
         getRestTestHelper().submitRequest(exchangeUrl, "PUT", attributes, 200);
-        exchange = getRestTestHelper().getJsonAsSingletonList(exchangeUrl);
+        exchange = getRestTestHelper().getJsonAsMap(exchangeUrl);
         assertNotNull("Exchange not found", exchange);
         assertEquals(new HashMap<>(Collections.singletonMap(AlternateBinding.DESTINATION, "amq.direct")),
                      new HashMap<>(((Map<String, Object>) exchange.get(Exchange.ALTERNATE_BINDING))));

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java
index 7a909fa..9bb9c6d 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/GroupProviderRestTest.java
@@ -82,8 +82,8 @@ public class GroupProviderRestTest extends QpidRestTestCase
         for (Map<String, Object> provider : providerDetails)
         {
             assertProvider(FILE_GROUP_MANAGER, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE, provider);
-            Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("groupprovider/"
-                    + provider.get(GroupProvider.NAME));
+            Map<String, Object> data = getRestTestHelper().getJsonAsMap("groupprovider/"
+                                                                        + provider.get(GroupProvider.NAME));
             assertNotNull("Cannot load data for " + provider.get(GroupProvider.NAME), data);
             assertProvider(FILE_GROUP_MANAGER, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE, data);
         }
@@ -94,14 +94,13 @@ public class GroupProviderRestTest extends QpidRestTestCase
         String groupName = "newGroup";
 
         Map<String, Object> data =
-                getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+                getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         assertNotNull("Cannot load data for provider", data);
 
         getRestTestHelper().assertNumberOfGroups(data, 1);
 
         getRestTestHelper().createGroup(groupName, FILE_GROUP_MANAGER);
-
-        data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+        data = getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         assertNotNull("Cannot load data for provider", data);
 
         getRestTestHelper().assertNumberOfGroups(data, 2);
@@ -112,14 +111,14 @@ public class GroupProviderRestTest extends QpidRestTestCase
         String groupName = "myGroup";
 
         Map<String, Object> data =
-                getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+                getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         assertNotNull("Cannot load data for provider", data);
 
         getRestTestHelper().assertNumberOfGroups(data, 1);
 
         getRestTestHelper().removeGroup(groupName, FILE_GROUP_MANAGER);
 
-        data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
+        data = getRestTestHelper().getJsonAsMap("groupprovider/" + FILE_GROUP_MANAGER + "?depth=1");
         assertNotNull("Cannot load data for provider", data);
 
         getRestTestHelper().assertNumberOfGroups(data, 0);
@@ -140,7 +139,7 @@ public class GroupProviderRestTest extends QpidRestTestCase
             int responseCode = getRestTestHelper().submitRequest("groupprovider/" + providerName, "PUT", attributes);
             assertEquals("Group provider was not created", 201, responseCode);
 
-            Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + providerName + "?depth=2");
+            Map<String, Object> data = getRestTestHelper().getJsonAsMap("groupprovider/" + providerName + "?depth=2");
             assertProvider(providerName, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE, data);
             assertEquals("Unexpected name", providerName, data.get(GroupProvider.NAME));
             assertEquals("Unexpected path", groupFile.getAbsolutePath(), data.get(FileBasedGroupProvider.PATH));
@@ -202,7 +201,7 @@ public class GroupProviderRestTest extends QpidRestTestCase
             int responseCode = getRestTestHelper().submitRequest("groupprovider/" + providerName, "PUT", attributes);
             assertEquals("Group provider was not created", 201, responseCode);
 
-            Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + providerName);
+            Map<String, Object> data = getRestTestHelper().getJsonAsMap("groupprovider/" + providerName);
             assertEquals("Unexpected name", providerName, data.get(GroupProvider.NAME));
             assertEquals("Unexpected path", groupFile.getAbsolutePath(), data.get(FileBasedGroupProvider.PATH));
 
@@ -320,7 +319,8 @@ public class GroupProviderRestTest extends QpidRestTestCase
 
         getRestTestHelper().setUsernameAndPassword(SystemConfig.MANAGEMENT_MODE_USER_NAME, MANAGEMENT_MODE_PASSWORD);
 
-        Map<String, Object> groupProvider = getRestTestHelper().getJsonAsSingletonList("groupprovider/" + TestBrokerConfiguration.ENTRY_NAME_GROUP_FILE);
+        Map<String, Object> groupProvider =
+                getRestTestHelper().getJsonAsMap("groupprovider/" + TestBrokerConfiguration.ENTRY_NAME_GROUP_FILE);
         assertEquals("Unexpected id", id.toString(), groupProvider.get(GroupProvider.ID));
         assertEquals("Unexpected path", file.getAbsolutePath() , groupProvider.get(FileBasedGroupProvider.PATH));
         assertEquals("Unexpected state", State.ERRORED.name() , groupProvider.get(GroupProvider.STATE));

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/GroupRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/GroupRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/GroupRestTest.java
index 887feb4..5e54e2d 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/GroupRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/GroupRestTest.java
@@ -67,7 +67,8 @@ public class GroupRestTest extends QpidRestTestCase
 
     public void testGet() throws Exception
     {
-        Map<String, Object> group = getRestTestHelper().getJsonAsSingletonList("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
+        Map<String, Object> group =
+                getRestTestHelper().getJsonAsMap("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
         List<Map<String, Object>> groupmembers = (List<Map<String, Object>>) group.get("groupmembers");
         assertEquals(1, groupmembers.size());
 
@@ -77,26 +78,28 @@ public class GroupRestTest extends QpidRestTestCase
 
     public void testCreateNewMemberByPutUsingMemberURI() throws Exception
     {
-        Map<String, Object> group = getRestTestHelper().getJsonAsSingletonList("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
+        Map<String, Object> group =
+                getRestTestHelper().getJsonAsMap("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
         getRestTestHelper().assertNumberOfGroupMembers(group, 1);
 
         String url = "groupmember/" + FILE_GROUP_MANAGER + "/"+ GROUP_NAME + "/" +  NEW_MEMBER;
         getRestTestHelper().submitRequest(url, "PUT", Collections.<String, Object>emptyMap(), HttpServletResponse.SC_CREATED);
 
-        Map<String, Object> member = getRestTestHelper().getJsonAsSingletonList(url);
+        Map<String, Object> member = getRestTestHelper().getJsonAsMap(url);
         assertEquals("Unexpected group name", NEW_MEMBER, member.get(GroupMember.NAME));
     }
 
     public void testCreateNewMemberByPostUsingParentURI() throws Exception
     {
-        Map<String, Object> group = getRestTestHelper().getJsonAsSingletonList("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
+        Map<String, Object> group =
+                getRestTestHelper().getJsonAsMap("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
         getRestTestHelper().assertNumberOfGroupMembers(group, 1);
 
         String url = "groupmember/" + FILE_GROUP_MANAGER + "/"+ GROUP_NAME;
         Map<String, Object> data = Collections.<String, Object>singletonMap("name", NEW_MEMBER);
         getRestTestHelper().submitRequest(url, "POST", data, HttpServletResponse.SC_CREATED);
 
-        Map<String, Object> member = getRestTestHelper().getJsonAsSingletonList(url + "/" +  NEW_MEMBER);
+        Map<String, Object> member = getRestTestHelper().getJsonAsMap(url + "/" + NEW_MEMBER);
         assertEquals("Unexpected group name", NEW_MEMBER, member.get(GroupMember.NAME));
 
         // verify that second creation request fails
@@ -105,14 +108,15 @@ public class GroupRestTest extends QpidRestTestCase
 
     public void testCreateNewMemberByPutUsingParentURI() throws Exception
     {
-        Map<String, Object> group = getRestTestHelper().getJsonAsSingletonList("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
+        Map<String, Object> group =
+                getRestTestHelper().getJsonAsMap("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
         getRestTestHelper().assertNumberOfGroupMembers(group, 1);
 
         String url = "groupmember/" + FILE_GROUP_MANAGER + "/"+ GROUP_NAME;
         Map<String, Object> data = Collections.<String, Object>singletonMap("name", NEW_MEMBER);
         getRestTestHelper().submitRequest(url, "PUT", data, HttpServletResponse.SC_CREATED);
 
-        Map<String, Object> member = getRestTestHelper().getJsonAsSingletonList(url + "/" +  NEW_MEMBER);
+        Map<String, Object> member = getRestTestHelper().getJsonAsMap(url + "/" + NEW_MEMBER);
         assertEquals("Unexpected group name", NEW_MEMBER, member.get(GroupMember.NAME));
 
         // verify that second creation request fails
@@ -121,12 +125,13 @@ public class GroupRestTest extends QpidRestTestCase
 
     public void testRemoveMemberFromGroup() throws Exception
     {
-        Map<String, Object> group = getRestTestHelper().getJsonAsSingletonList("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
+        Map<String, Object> group =
+                getRestTestHelper().getJsonAsMap("group/" + FILE_GROUP_MANAGER + "/myGroup?depth=1");
         getRestTestHelper().assertNumberOfGroupMembers(group, 1);
 
         getRestTestHelper().removeMemberFromGroup(FILE_GROUP_MANAGER, GROUP_NAME, EXISTING_MEMBER);
 
-        group = getRestTestHelper().getJsonAsSingletonList("group/" + FILE_GROUP_MANAGER + "/myGroup");
+        group = getRestTestHelper().getJsonAsMap("group/" + FILE_GROUP_MANAGER + "/myGroup");
         getRestTestHelper().assertNumberOfGroupMembers(group, 0);
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/HttpManagementRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/HttpManagementRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/HttpManagementRestTest.java
index d85b1e3..298d594 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/HttpManagementRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/HttpManagementRestTest.java
@@ -32,8 +32,8 @@ public class HttpManagementRestTest extends QpidRestTestCase
 
     public void testGetHttpManagement() throws Exception
     {
-        Map<String, Object> details = getRestTestHelper().getJsonAsSingletonList(
-                "plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
+        Map<String, Object> details =
+                getRestTestHelper().getJsonAsMap("plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
 
         assertEquals("Unexpected session timeout", HttpManagement.DEFAULT_TIMEOUT_IN_SECONDS,
                 details.get(HttpManagement.TIME_OUT));
@@ -58,8 +58,8 @@ public class HttpManagementRestTest extends QpidRestTestCase
 
         getRestTestHelper().submitRequest("plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT, "PUT", attributes);
 
-        Map<String, Object> details = getRestTestHelper().getJsonAsSingletonList(
-                "plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
+        Map<String, Object> details =
+                getRestTestHelper().getJsonAsMap("plugin/" + TestBrokerConfiguration.ENTRY_NAME_HTTP_MANAGEMENT);
 
         assertEquals("Unexpected session timeout", 10000, details.get(HttpManagement.TIME_OUT));
         assertEquals("Unexpected http basic auth enabled", true, details.get(HttpManagement.HTTP_BASIC_AUTHENTICATION_ENABLED));

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java
index c42c9d5..1b34545 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java
@@ -62,10 +62,8 @@ public class KeyStoreRestTest extends QpidRestTestCase
         createKeyStore(name, certAlias, TestSSLConstants.KEYSTORE, TestSSLConstants.KEYSTORE_PASSWORD);
         assertNumberOfKeyStores(2);
 
-        List<Map<String, Object>> keyStores = getRestTestHelper().getJsonAsList("keystore/" + name + "?actuals=true");
-        assertNotNull("details cannot be null", keyStores);
+        Map<String, Object> keystore = getRestTestHelper().getJsonAsMap("keystore/" + name + "?actuals=true");
 
-        Map<String, Object> keystore = keyStores.get(0);
         assertEquals("Unexpected name", name, keystore.get(KeyStore.NAME));
         assertEquals("unexpected path to key store", TestSSLConstants.KEYSTORE, keystore.get(FileKeyStore.STORE_URL));
         assertEquals("unexpected password", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.PASSWORD));
@@ -82,10 +80,8 @@ public class KeyStoreRestTest extends QpidRestTestCase
         createKeyStore(name, null, dataUrlForKeyStore, TestSSLConstants.KEYSTORE_PASSWORD);
         assertNumberOfKeyStores(2);
 
-        List<Map<String, Object>> keyStores = getRestTestHelper().getJsonAsList("keystore/" + name + "?actuals=true");
-        assertNotNull("details cannot be null", keyStores);
+        Map<String, Object> keystore = getRestTestHelper().getJsonAsMap("keystore/" + name + "?actuals=true");
 
-        Map<String, Object> keystore = keyStores.get(0);
         assertEquals("Unexpected name", name, keystore.get(KeyStore.NAME));
         assertEquals("unexpected data", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.STORE_URL));
         assertEquals("unexpected password", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.PASSWORD));
@@ -127,10 +123,8 @@ public class KeyStoreRestTest extends QpidRestTestCase
 
         getRestTestHelper().submitRequest("keystore/" + name, "PUT", attributes, HttpServletResponse.SC_OK);
 
-        List<Map<String, Object>> keyStores = getRestTestHelper().getJsonAsList("keystore/" + name + "?actuals=true");
-        assertNotNull("details should not be null", keyStores);
+        Map<String, Object> keystore = getRestTestHelper().getJsonAsMap("keystore/" + name + "?actuals=true");
 
-        Map<String, Object> keystore = keyStores.get(0);
         assertEquals("Unexpected name", name, keystore.get(KeyStore.NAME));
         assertEquals("unexpected data", TestSSLConstants.UNTRUSTED_KEYSTORE, keystore.get(FileKeyStore.STORE_URL));
         assertEquals("unexpected password", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.PASSWORD));

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
index ca7c1d2..6b99bd4 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.systest.rest;
 
+import static javax.servlet.http.HttpServletResponse.SC_CREATED;
+import static javax.servlet.http.HttpServletResponse.SC_OK;
 import static org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet.SC_UNPROCESSABLE_ENTITY;
 
 import java.net.InetSocketAddress;
@@ -48,7 +50,7 @@ public class PortRestTest extends QpidRestTestCase
 
     public void testGet() throws Exception
     {
-        List<Map<String, Object>> ports = getRestTestHelper().getJsonAsList("port/");
+        List<Map<String, Object>> ports = getRestTestHelper().getJsonAsList("port");
         assertNotNull("Port data cannot be null", ports);
         assertEquals("Unexpected number of ports", 2, ports.size());
 
@@ -65,14 +67,14 @@ public class PortRestTest extends QpidRestTestCase
 
     public void testGetPort() throws Exception
     {
-        List<Map<String, Object>> ports = getRestTestHelper().getJsonAsList("port/");
+        List<Map<String, Object>> ports = getRestTestHelper().getJsonAsList("port");
         assertNotNull("Ports data cannot be null", ports);
         assertEquals("Unexpected number of ports", 2, ports.size());
         for (Map<String, Object> portMap : ports)
         {
             String portName = (String) portMap.get(Port.NAME);
             assertNotNull("Port name attribute is not found", portName);
-            Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + getRestTestHelper().encodeAsUTF(portName));
+            Map<String, Object> portData = getRestTestHelper().getJsonAsMap("port/" + getRestTestHelper().encodeAsUTF(portName));
             assertNotNull("Port " + portName + " is not found", portData);
             Asserts.assertPortAttributes(portData);
         }
@@ -86,21 +88,17 @@ public class PortRestTest extends QpidRestTestCase
         attributes.put(Port.PORT, 0);
         attributes.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
 
-        int responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
-        assertEquals("Unexpected response code", 201, responseCode);
+        getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes, SC_CREATED);
+
+        Map<String, Object> port = getRestTestHelper().getJsonAsMap("port/" + portName);
 
-        List<Map<String, Object>> portDetails = getRestTestHelper().getJsonAsList("port/" + portName);
-        assertNotNull("Port details cannot be null", portDetails);
-        assertEquals("Unexpected number of ports with name " + portName, 1, portDetails.size());
-        Map<String, Object> port = portDetails.get(0);
         Asserts.assertPortAttributes(port);
 
         // make sure that port is there after broker restart
         restartDefaultBroker();
 
-        portDetails = getRestTestHelper().getJsonAsList("port/" + portName);
-        assertNotNull("Port details cannot be null", portDetails);
-        assertEquals("Unexpected number of ports with name " + portName, 1, portDetails.size());
+        port = getRestTestHelper().getJsonAsMap("port/" + portName);
+        Asserts.assertPortAttributes(port);
     }
 
     public void testPutCreateAndUpdateAmqpPort() throws Exception
@@ -111,28 +109,29 @@ public class PortRestTest extends QpidRestTestCase
         attributes.put(Port.PORT, 0);
         attributes.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
 
-        int responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
-        assertEquals("Unexpected response code for port creation", 201, responseCode);
+        getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes, SC_CREATED);
 
-        List<Map<String, Object>> portDetails = getRestTestHelper().getJsonAsList("port/" + portName);
-        assertNotNull("Port details cannot be null", portDetails);
-        assertEquals("Unexpected number of ports with name " + portName, 1, portDetails.size());
-        Map<String, Object> port = portDetails.get(0);
+        Map<String, Object> port = getRestTestHelper().getJsonAsMap("port/" + portName);
         Asserts.assertPortAttributes(port);
 
         Map<String, Object> authProviderAttributes = new HashMap<String, Object>();
         authProviderAttributes.put(AuthenticationProvider.TYPE, AnonymousAuthenticationManager.PROVIDER_TYPE);
         authProviderAttributes.put(AuthenticationProvider.NAME, TestBrokerConfiguration.ENTRY_NAME_ANONYMOUS_PROVIDER);
 
-        responseCode = getRestTestHelper().submitRequest("authenticationprovider/" + TestBrokerConfiguration.ENTRY_NAME_ANONYMOUS_PROVIDER, "PUT", authProviderAttributes);
-        assertEquals("Unexpected response code for authentication provider creation", 201, responseCode);
+        getRestTestHelper().submitRequest("authenticationprovider/" + TestBrokerConfiguration.ENTRY_NAME_ANONYMOUS_PROVIDER, "PUT", authProviderAttributes, SC_CREATED);
 
         attributes = new HashMap<>(port);
         attributes.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_ANONYMOUS_PROVIDER);
         attributes.put(Port.PROTOCOLS, Collections.singleton(Protocol.AMQP_0_9_1));
 
-        responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
-        assertEquals("Unexpected response code for port update", 200, responseCode);
+        getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes, SC_OK);
+        port = getRestTestHelper().getJsonAsMap("port/" + portName);
+        assertEquals("Unexpected authentication provider",
+                     TestBrokerConfiguration.ENTRY_NAME_ANONYMOUS_PROVIDER,
+                     port.get(Port.AUTHENTICATION_PROVIDER));
+        assertEquals("Unexpected authentication protocols",
+                     new HashSet<>(Collections.singleton(Protocol.AMQP_0_9_1.name())),
+                     new HashSet<>((Collection<String>) port.get(Port.PROTOCOLS)));
     }
 
     public void testUpdatePortTransportFromTCPToSSLWhenKeystoreIsConfigured() throws Exception
@@ -146,7 +145,7 @@ public class PortRestTest extends QpidRestTestCase
         int responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
         assertEquals("Transport has not been changed to SSL " , 200, responseCode);
 
-        Map<String, Object> port = getRestTestHelper().getJsonAsSingletonList("port/" + portName);
+        Map<String, Object> port = getRestTestHelper().getJsonAsMap("port/" + portName);
 
         @SuppressWarnings("unchecked")
         Collection<String> transports = (Collection<String>) port.get(Port.TRANSPORTS);
@@ -188,7 +187,7 @@ public class PortRestTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
         assertEquals("Attributes for need/want client auth are not set", 200, responseCode);
 
-        Map<String, Object> port = getRestTestHelper().getJsonAsSingletonList("port/" + portName);
+        Map<String, Object> port = getRestTestHelper().getJsonAsMap("port/" + portName);
         assertEquals("Unexpected " + Port.NEED_CLIENT_AUTH, true, port.get(Port.NEED_CLIENT_AUTH));
         assertEquals("Unexpected " + Port.WANT_CLIENT_AUTH, true, port.get(Port.WANT_CLIENT_AUTH));
         assertEquals("Unexpected " + Port.KEY_STORE, TestBrokerConfiguration.ENTRY_NAME_SSL_KEYSTORE, port.get(Port.KEY_STORE));
@@ -214,7 +213,7 @@ public class PortRestTest extends QpidRestTestCase
         responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
         assertEquals("Should be able to change transport to TCP ", 200, responseCode);
 
-        port = getRestTestHelper().getJsonAsSingletonList("port/" + portName);
+        port = getRestTestHelper().getJsonAsMap("port/" + portName);
         assertEquals("Unexpected " + Port.NEED_CLIENT_AUTH, false, port.get(Port.NEED_CLIENT_AUTH));
         assertEquals("Unexpected " + Port.WANT_CLIENT_AUTH, false, port.get(Port.WANT_CLIENT_AUTH));
 
@@ -254,8 +253,7 @@ public class PortRestTest extends QpidRestTestCase
         attributes.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
         responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes);
         assertEquals("Unexpected response when trying to change auth provider to existing one", 200, responseCode);
-
-        Map<String, Object> port = getRestTestHelper().getJsonAsSingletonList("port/" + portName);
+        Map<String, Object> port = getRestTestHelper().getJsonAsMap("port/" + portName);
         assertEquals("Unexpected auth provider", TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER, port.get(Port.AUTHENTICATION_PROVIDER));
     }
 
@@ -267,14 +265,16 @@ public class PortRestTest extends QpidRestTestCase
         getRestTestHelper().setUsernameAndPassword(SystemConfig.MANAGEMENT_MODE_USER_NAME, MANAGEMENT_MODE_PASSWORD);
 
         String ampqPortName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT;
-        Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + getRestTestHelper().encodeAsUTF(ampqPortName));
+        Map<String, Object> portData =
+                getRestTestHelper().getJsonAsMap("port/" + getRestTestHelper().encodeAsUTF(ampqPortName));
         Asserts.assertPortAttributes(portData, State.QUIESCED);
     }
 
     public void testDeletePort() throws Exception
     {
         String ampqPortName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT;
-        Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + getRestTestHelper().encodeAsUTF(ampqPortName));
+        Map<String, Object> portData =
+                getRestTestHelper().getJsonAsMap("port/" + getRestTestHelper().encodeAsUTF(ampqPortName));
         assertFalse("Port data are not found", portData.isEmpty());
 
         int deleteResponseCode = getRestTestHelper().submitRequest("port/" + ampqPortName, "DELETE");

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java
index dff4fcf..73189ef 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.systest.rest;
 
+import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -30,6 +32,8 @@ import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
 import javax.jms.Session;
+import javax.jms.TemporaryQueue;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -39,7 +43,6 @@ import org.apache.qpid.server.model.Queue;
 
 public class QueueRestTest extends QpidRestTestCase
 {
-    private static final String QUEUE_ATTRIBUTE_CONSUMERS = "consumers";
 
     /**
      * Message number to publish into queue
@@ -53,56 +56,98 @@ public class QueueRestTest extends QpidRestTestCase
     private static final int DEQUEUED_MESSAGES = 1;
 
     private Connection _connection;
+    private Session _session;
 
     @Override
     public void setUp() throws Exception
     {
         super.setUp();
         _connection = getConnection();
-        Session session = _connection.createSession(true, Session.SESSION_TRANSACTED);
-        Destination queue = createTestQueue(session);
-        session.commit();
-        MessageConsumer consumer = session.createConsumer(queue);
-        MessageProducer producer = session.createProducer(queue);
+        _session = _connection.createSession(true, Session.SESSION_TRANSACTED);
+        Destination queue = createTestQueue(_session);
+        _session.commit();
+        MessageConsumer consumer = _session.createConsumer(queue);
+        MessageProducer producer = _session.createProducer(queue);
 
         for (int i = 0; i < MESSAGE_NUMBER; i++)
         {
-            producer.send(session.createTextMessage("Test-" + i));
+            producer.send(_session.createTextMessage("Test-" + i));
         }
-        session.commit();
+        _session.commit();
         _connection.start();
-        Message m = consumer.receive(1000l);
+        Message m = consumer.receive(getReceiveTimeout());
         assertNotNull("Message is not received", m);
-        session.commit();
+        _session.commit();
     }
 
-    public void testGetVirtualHostQueues() throws Exception
+    public void testGetByName() throws Exception
     {
         String queueName = getTestQueueName();
-        List<Map<String, Object>> queues = getRestTestHelper().getJsonAsList("queue/test");
-        assertEquals("Unexpected number of queues", 1, queues.size());
-        String[] expectedQueues = new String[]{queueName};
 
-        for (String name : expectedQueues)
-        {
-            Map<String, Object> queueDetails = getRestTestHelper().find(Queue.NAME, name, queues);
-            Asserts.assertQueue(name, "standard", queueDetails);
-        }
+        Map<String, Object> queueDetails =
+                getRestTestHelper().getJsonAsMap(String.format("queue/test/test/%s", queueName));
+        Asserts.assertQueue(queueName, "standard", queueDetails);
     }
 
-    public void testGetByName() throws Exception
+    public void testGetByNameAsList() throws Exception
     {
         String queueName = getTestQueueName();
+
         Map<String, Object> queueDetails =
-                getRestTestHelper().getJsonAsSingletonList("queue/test/test/" + queueName + "?depth=1");
+                getRestTestHelper().getJsonAsSingletonList(String.format("queue/test/test/%s?singletonModelObjectResponseAsList=true", queueName));
         Asserts.assertQueue(queueName, "standard", queueDetails);
-        assertStatistics(queueDetails);
+    }
 
-        @SuppressWarnings("unchecked")
-        List<Map<String, Object>> consumers = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_CONSUMERS);
-        assertNotNull("Queue consumers are not found", consumers);
-        assertEquals("Unexpected number of consumers", 1, consumers.size());
-        assertConsumer(consumers.get(0));
+    public void testGetById() throws Exception
+    {
+        String queueName = getTestQueueName();
+        Map<String, Object> queueDetails =
+                getRestTestHelper().getJsonAsMap(String.format("queue/test/test/%s", queueName));
+        String queueId = (String) queueDetails.get(Queue.ID);
+
+        List<Map<String, Object>> filteredResults = getRestTestHelper().getJsonAsList("queue/test/test?id=" + queueId);
+        assertEquals("Unexpected number of queues when querying by id filter", 1, filteredResults.size());
+    }
+
+    public void testGetByName_NotFound() throws Exception
+    {
+        String queueName = "notfound";
+        getRestTestHelper().submitRequest(String.format("queue/test/test/%s", queueName), "GET", SC_NOT_FOUND);
+    }
+
+    public void testGetAllQueues() throws Exception
+    {
+        List<Map<String, Object>> brokerQueues = getRestTestHelper().getJsonAsList("queue");
+        assertEquals("Unexpected number of queues queried broker-wide", 1, brokerQueues.size());
+
+        List<Map<String, Object>> vhnQueues = getRestTestHelper().getJsonAsList("queue/test");
+        assertEquals("Unexpected number of queues queried virtualhostnode scoped", 1, vhnQueues.size());
+
+        List<Map<String, Object>> vhQueues = getRestTestHelper().getJsonAsList("queue/test/test");
+        assertEquals("Unexpected number of queues queried virtualhost scoped", 1, vhQueues.size());
+
+        TemporaryQueue queue = _session.createTemporaryQueue();
+        queue.getQueueName();
+
+        vhQueues = getRestTestHelper().getJsonAsList("queue/test/test");
+        assertEquals("Unexpected number of queues", 2, vhQueues.size());
+    }
+
+    public void testGetAllQueuesWildcards() throws Exception
+    {
+        List<Map<String, Object>> vhnQueues = getRestTestHelper().getJsonAsList("queue/*");
+        assertEquals("Unexpected number of queues queried virtualhostnode scoped", 1, vhnQueues.size());
+
+        getRestTestHelper().submitRequest("queue/*/test", "GET", HttpServletResponse.SC_NOT_FOUND);
+    }
+
+    public void testGetAll_NotFound() throws Exception
+    {
+        List<Map<String, Object>> vhn2Queues = getRestTestHelper().getJsonAsList(String.format("queue/%s", TEST2_VIRTUALHOST));
+        assertEquals("Unexpected number of queues on vhn : " + TEST2_VIRTUALHOST  , 0, vhn2Queues.size());
+
+        List<Map<String, Object>> vh2Queues = getRestTestHelper().getJsonAsList(String.format("queue/%s/%s", TEST2_VIRTUALHOST, TEST2_VIRTUALHOST));
+        assertEquals("Unexpected number of queues on vhn " + TEST2_VIRTUALHOST, 0, vh2Queues.size());
     }
 
     public void testUpdateQueue() throws Exception
@@ -113,13 +158,12 @@ public class QueueRestTest extends QpidRestTestCase
         attributes.put(Queue.NAME, queueName);
 
         String queueUrl = "queue/test/test/" + queueName;
-        int responseCode =  getRestTestHelper().submitRequest(queueUrl, "PUT", attributes);
-        assertEquals("Queue was not created", 201, responseCode);
+        getRestTestHelper().submitRequest(queueUrl, "PUT", attributes, HttpServletResponse.SC_CREATED);
 
-        Map<String, Object> queueDetails = getRestTestHelper().getJsonAsSingletonList(queueUrl);
+        Map<String, Object> queueDetails = getRestTestHelper().getJsonAsMap(queueUrl);
         Asserts.assertQueue(queueName, "standard", queueDetails);
 
-        attributes = new HashMap<String, Object>();
+        attributes = new HashMap<>();
         attributes.put(Queue.NAME, queueName);
         attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 100000);
         attributes.put(Queue.ALERT_REPEAT_GAP, 10000);
@@ -129,10 +173,9 @@ public class QueueRestTest extends QpidRestTestCase
         attributes.put(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 50000);
         attributes.put(Queue.MAXIMUM_DELIVERY_ATTEMPTS, 10);
 
-        responseCode = getRestTestHelper().submitRequest(queueUrl, "PUT", attributes);
-        assertEquals("Setting of queue attributes should be allowed", 200, responseCode);
+        getRestTestHelper().submitRequest(queueUrl, "PUT", attributes, HttpServletResponse.SC_OK);
 
-        Map<String, Object> queueData = getRestTestHelper().getJsonAsSingletonList(queueUrl);
+        Map<String, Object> queueData = getRestTestHelper().getJson(queueUrl, Map.class);
         assertEquals("Unexpected " + Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 100000, queueData.get(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES));
         assertEquals("Unexpected " + Queue.ALERT_REPEAT_GAP, 10000, queueData.get(Queue.ALERT_REPEAT_GAP) );
         assertEquals("Unexpected " + Queue.ALERT_THRESHOLD_MESSAGE_AGE, 20000, queueData.get(Queue.ALERT_THRESHOLD_MESSAGE_AGE) );

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/TrustStoreRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/TrustStoreRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/TrustStoreRestTest.java
index 25427c5..70759f9 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/TrustStoreRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/TrustStoreRestTest.java
@@ -62,10 +62,8 @@ public class TrustStoreRestTest extends QpidRestTestCase
         createTrustStore(name, true, TestSSLConstants.TRUSTSTORE, TestSSLConstants.TRUSTSTORE_PASSWORD);
         assertNumberOfTrustStores(2);
 
-        List<Map<String, Object>> trustStores = getRestTestHelper().getJsonAsList("truststore/" + name);
-        assertNotNull("details cannot be null", trustStores);
+        Map<String, Object> truststore = getRestTestHelper().getJsonAsMap("truststore/" + name);
 
-        Map<String, Object> truststore = trustStores.get(0);
         assertEquals("unexpected trust store name", name, truststore.get(TrustStore.NAME));
         assertEquals("unexpected store URL", TestSSLConstants.TRUSTSTORE, truststore.get(FileTrustStore.STORE_URL));
         assertEquals("unexpected password value", AbstractConfiguredObject.SECURED_STRING_VALUE, truststore.get(FileTrustStore.PASSWORD));
@@ -85,10 +83,8 @@ public class TrustStoreRestTest extends QpidRestTestCase
 
         assertNumberOfTrustStores(2);
 
-        List<Map<String, Object>> trustStores = getRestTestHelper().getJsonAsList("truststore/" + name);
-        assertNotNull("details cannot be null", trustStores);
+        Map<String, Object> truststore = getRestTestHelper().getJsonAsMap("truststore/" + name);
 
-        Map<String, Object> truststore = trustStores.get(0);
         assertEquals("nexpected trust store name", name, truststore.get(TrustStore.NAME));
         assertEquals("unexpected store URL value",  ConfiguredObject.OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT, truststore.get(FileTrustStore.STORE_URL));
         assertEquals("unexpected password value", AbstractConfiguredObject.SECURED_STRING_VALUE, truststore.get(FileTrustStore.PASSWORD));
@@ -132,15 +128,13 @@ public class TrustStoreRestTest extends QpidRestTestCase
 
         getRestTestHelper().submitRequest("truststore/" + name , "PUT", attributes, HttpServletResponse.SC_OK);
 
-        List<Map<String, Object>> trustStore = getRestTestHelper().getJsonAsList("truststore/" + name);
-        assertNotNull("details should not be null", trustStore);
+        Map<String, Object> trustStore = getRestTestHelper().getJsonAsMap("truststore/" + name);
 
-        Map<String, Object> truststore = trustStore.get(0);
-        assertEquals("unexpected name", name, truststore.get(TrustStore.NAME));
-        assertEquals("unexpected path to trust store",  TestSSLConstants.TRUSTSTORE, truststore.get(FileTrustStore.STORE_URL));
-        assertEquals("unexpected password", AbstractConfiguredObject.SECURED_STRING_VALUE, truststore.get(FileTrustStore.PASSWORD));
-        assertEquals("unexpected type", java.security.KeyStore.getDefaultType(), truststore.get(FileTrustStore.TRUST_STORE_TYPE));
-        assertEquals("unexpected peersOnly value", false, truststore.get(FileTrustStore.PEERS_ONLY));
+        assertEquals("unexpected name", name, trustStore.get(TrustStore.NAME));
+        assertEquals("unexpected path to trust store",  TestSSLConstants.TRUSTSTORE, trustStore.get(FileTrustStore.STORE_URL));
+        assertEquals("unexpected password", AbstractConfiguredObject.SECURED_STRING_VALUE, trustStore.get(FileTrustStore.PASSWORD));
+        assertEquals("unexpected type", java.security.KeyStore.getDefaultType(), trustStore.get(FileTrustStore.TRUST_STORE_TYPE));
+        assertEquals("unexpected peersOnly value", false, trustStore.get(FileTrustStore.PEERS_ONLY));
     }
 
     private List<Map<String, Object>> assertNumberOfTrustStores(int numberOfTrustStores) throws Exception

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/UserRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/UserRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/UserRestTest.java
index 1c96947..cfaffec 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/UserRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/UserRestTest.java
@@ -67,8 +67,10 @@ public class UserRestTest extends QpidRestTestCase
             assertNotNull("Attribute " + User.ID, user.get(User.ID));
             String userName = (String) user.get(User.NAME);
             assertNotNull("Attribute " + User.NAME, userName);
-            Map<String, Object> userDetails = getRestTestHelper().getJsonAsSingletonList("user/"
-                    + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "/" + userName);
+            Map<String, Object> userDetails = getRestTestHelper().getJsonAsMap("user/"
+                                                                               + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER
+                                                                               + "/"
+                                                                               + userName);
             assertUser(userDetails);
             assertEquals("Unexpected user name", userName, userDetails.get(User.NAME));
         }
@@ -79,8 +81,10 @@ public class UserRestTest extends QpidRestTestCase
         String userName = getTestName();
         getRestTestHelper().createOrUpdateUser(userName, "newPassword");
 
-        Map<String, Object> userDetails = getRestTestHelper().getJsonAsSingletonList("user/"
-                + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "/" + userName);
+        Map<String, Object> userDetails = getRestTestHelper().getJsonAsMap("user/"
+                                                                           + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER
+                                                                           + "/"
+                                                                           + userName);
         assertUser(userDetails);
         assertEquals("Unexpected user name", userName, userDetails.get(User.NAME));
     }
@@ -96,7 +100,7 @@ public class UserRestTest extends QpidRestTestCase
         String url = "user/" + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER;
         getRestTestHelper().submitRequest(url, "POST", userAttributes, HttpServletResponse.SC_CREATED);
 
-        Map<String, Object> userDetails = getRestTestHelper().getJsonAsSingletonList(url+ "/" + userName);
+        Map<String, Object> userDetails = getRestTestHelper().getJsonAsMap(url + "/" + userName);
         assertUser(userDetails);
         assertEquals("Unexpected user name", userName, userDetails.get(User.NAME));
 
@@ -115,7 +119,7 @@ public class UserRestTest extends QpidRestTestCase
         String url = "user/" + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER;
         getRestTestHelper().submitRequest(url, "PUT", userAttributes, HttpServletResponse.SC_CREATED);
 
-        Map<String, Object> userDetails = getRestTestHelper().getJsonAsSingletonList(url+ "/" + userName);
+        Map<String, Object> userDetails = getRestTestHelper().getJsonAsMap(url + "/" + userName);
         assertUser(userDetails);
         assertEquals("Unexpected user name", userName, userDetails.get(User.NAME));
 
@@ -141,8 +145,10 @@ public class UserRestTest extends QpidRestTestCase
         String userName = getTestName();
         getRestTestHelper().createOrUpdateUser(userName, "newPassword");
 
-        Map<String, Object> userDetails = getRestTestHelper().getJsonAsSingletonList("user/"
-                + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER + "/" + userName);
+        Map<String, Object> userDetails = getRestTestHelper().getJsonAsMap("user/"
+                                                                           + TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER
+                                                                           + "/"
+                                                                           + userName);
         String id = (String) userDetails.get(User.ID);
 
         getRestTestHelper().removeUserById(id);

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostLoggerRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostLoggerRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostLoggerRestTest.java
index 2a03a5f..0748c3c 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostLoggerRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostLoggerRestTest.java
@@ -49,7 +49,7 @@ public class VirtualHostLoggerRestTest extends QpidRestTestCase
         virtualHostLoggerAttributes.put(ConfiguredObject.TYPE, VirtualHostFileLogger.TYPE);
 
         getRestTestHelper().submitRequest(loggerRestUrlBase, "PUT", virtualHostLoggerAttributes, HttpServletResponse.SC_CREATED);
-        Map<String, Object> loggerData = getRestTestHelper().getJsonAsSingletonList(loggerRestUrl);
+        Map<String, Object> loggerData = getRestTestHelper().getJsonAsMap(loggerRestUrl);
 
         String loggerRuleName = "testRule";
         Map<String, Object> virtualHostRuleAttributes = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
index b1e1438..b216e86 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
@@ -79,10 +79,10 @@ public class VirtualHostNodeRestTest  extends QpidRestTestCase
                                           HttpServletResponse.SC_CREATED);
 
 
-        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList("virtualhostnode/" + nodeName);
+        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsMap("virtualhostnode/" + nodeName);
         Asserts.assertVirtualHostNode(nodeName, virtualhostNode);
 
-        Map<String, Object> virtualhost = getRestTestHelper().getJsonAsSingletonList("virtualhost/" + nodeName + "/" + nodeName);
+        Map<String, Object> virtualhost = getRestTestHelper().getJsonAsMap("virtualhost/" + nodeName + "/" + nodeName);
         Asserts.assertVirtualHost(nodeName, virtualhost);
     }
 
@@ -94,7 +94,7 @@ public class VirtualHostNodeRestTest  extends QpidRestTestCase
         createVirtualHostNode(nodeName, virtualhostNodeType);
 
         String restUrl = "virtualhostnode/" + nodeName;
-        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsMap(restUrl);
         Asserts.assertVirtualHostNode(nodeName, virtualhostNode);
         assertNull("Virtualhostnode should not automatically get a virtualhost child",
                 virtualhostNode.get("virtualhosts"));
@@ -134,7 +134,7 @@ public class VirtualHostNodeRestTest  extends QpidRestTestCase
     {
         String restUrl = "virtualhostnode/" + TEST3_VIRTUALHOST;
 
-        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsMap(restUrl);
         assertNull(virtualhostNode.get(VirtualHostNode.DESCRIPTION));
 
         String newDescription = "My virtualhost node";
@@ -143,7 +143,7 @@ public class VirtualHostNodeRestTest  extends QpidRestTestCase
 
         getRestTestHelper().submitRequest(restUrl, "PUT", newAttributes, HttpServletResponse.SC_OK);
 
-        virtualhostNode = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        virtualhostNode = getRestTestHelper().getJsonAsMap(restUrl);
         assertEquals(newDescription, virtualhostNode.get(VirtualHostNode.DESCRIPTION));
     }
 
@@ -167,7 +167,7 @@ public class VirtualHostNodeRestTest  extends QpidRestTestCase
         String url = "virtualhostnode";
         getRestTestHelper().submitRequest(url, method, nodeData, HttpServletResponse.SC_CREATED);
 
-        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList(url + "/" + nodeName);
+        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsMap(url + "/" + nodeName);
         Asserts.assertVirtualHostNode(nodeName, virtualhostNode);
     }
 
@@ -181,7 +181,7 @@ public class VirtualHostNodeRestTest  extends QpidRestTestCase
         assertTrue("Store should exist after creation of node", storePathAsFile.exists());
 
         String restUrl = "virtualhostnode/" + nodeName;
-        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsMap(restUrl);
         Asserts.assertVirtualHostNode(nodeName, virtualhostNode);
         assertNull("Virtualhostnode should not automatically get a virtualhost child",
                 virtualhostNode.get("virtualhosts"));
@@ -194,7 +194,7 @@ public class VirtualHostNodeRestTest  extends QpidRestTestCase
                                              final String expectedDesiredState,
                                              final String expectedActualState) throws IOException
     {
-        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsMap(restUrl);
         Asserts.assertActualAndDesiredState(expectedDesiredState, expectedActualState, virtualhostNode);
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
index 1628f8d..e4b9559 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.systest.rest;
 
+import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
+import static javax.servlet.http.HttpServletResponse.SC_OK;
 import static org.apache.qpid.server.management.plugin.servlet.rest.AbstractServlet.SC_UNPROCESSABLE_ENTITY;
 
 import java.io.IOException;
@@ -83,7 +85,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         Session session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
         createTestQueue(session);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test");
         Asserts.assertVirtualHost("test", hostDetails);
 
         @SuppressWarnings("unchecked")
@@ -122,11 +124,11 @@ public class VirtualHostRestTest extends QpidRestTestCase
         Map<String, Object> requestData = submitVirtualHost(true, "PUT", HttpServletResponse.SC_CREATED);
         String hostName = (String)requestData.get(VirtualHost.NAME);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/"
-                                                                                     + EMPTY_VIRTUALHOSTNODE_NAME
-                                                                                     + "/"
-                                                                                     + hostName
-                                                                                     + "?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/"
+                                                                           + EMPTY_VIRTUALHOSTNODE_NAME
+                                                                           + "/"
+                                                                           + hostName
+                                                                           + "?depth=1");
         Asserts.assertVirtualHost(hostName, hostDetails);
 
         assertNewVirtualHost(hostDetails);
@@ -138,7 +140,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         String hostName = (String)data.get(VirtualHost.NAME);
 
         String url = "virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + hostName + "?depth=1";
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList(url);
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap(url);
         Asserts.assertVirtualHost(hostName, hostDetails);
         assertNewVirtualHost(hostDetails);
     }
@@ -148,11 +150,11 @@ public class VirtualHostRestTest extends QpidRestTestCase
         Map<String, Object> data = submitVirtualHost(true, "POST", HttpServletResponse.SC_CREATED);
         String hostName = (String)data.get(VirtualHost.NAME);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/"
-                                                                                     + EMPTY_VIRTUALHOSTNODE_NAME
-                                                                                     + "/"
-                                                                                     + hostName
-                                                                                     + "?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/"
+                                                                           + EMPTY_VIRTUALHOSTNODE_NAME
+                                                                           + "/"
+                                                                           + hostName
+                                                                           + "?depth=1");
         Asserts.assertVirtualHost(hostName, hostDetails);
         assertNewVirtualHost(hostDetails);
     }
@@ -161,11 +163,11 @@ public class VirtualHostRestTest extends QpidRestTestCase
     {
         Map<String, Object> data = submitVirtualHost(false, "PUT", HttpServletResponse.SC_CREATED);
         String hostName = (String)data.get(VirtualHost.NAME);
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/"
-                                                                                     + EMPTY_VIRTUALHOSTNODE_NAME
-                                                                                     + "/"
-                                                                                     + hostName
-                                                                                     + "?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/"
+                                                                           + EMPTY_VIRTUALHOSTNODE_NAME
+                                                                           + "/"
+                                                                           + hostName
+                                                                           + "?depth=1");
         Asserts.assertVirtualHost(hostName, hostDetails);
 
         assertNewVirtualHost(hostDetails);
@@ -174,18 +176,18 @@ public class VirtualHostRestTest extends QpidRestTestCase
 
     public void testCreateVirtualHostByPostUsingVirtualHostURI() throws Exception
     {
-        Map<String, Object> data = submitVirtualHost(false, "POST", HttpServletResponse.SC_NOT_FOUND);
+        Map<String, Object> data = submitVirtualHost(false, "POST", SC_NOT_FOUND);
 
         String hostName = (String)data.get(VirtualHost.NAME);
         getRestTestHelper().submitRequest("virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + hostName,
-                "GET", HttpServletResponse.SC_NOT_FOUND);
+                "GET", SC_NOT_FOUND);
     }
 
     public void testDeleteHost() throws Exception
     {
         getRestTestHelper().submitRequest("virtualhost/" + TEST3_VIRTUALHOST + "/" + TEST3_VIRTUALHOST,
                                           "DELETE",
-                                          HttpServletResponse.SC_OK);
+                                          SC_OK);
 
         List<Map<String, Object>> hosts = getRestTestHelper().getJsonAsList("virtualhost/" + TEST3_VIRTUALHOST);
         assertEquals("Host should be deleted", 0, hosts.size());
@@ -206,13 +208,13 @@ public class VirtualHostRestTest extends QpidRestTestCase
         String hostToUpdate = TEST3_VIRTUALHOST;
         String restHostUrl = "virtualhost/" + hostToUpdate + "/" + hostToUpdate;
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList(restHostUrl);
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap(restHostUrl);
         Asserts.assertVirtualHost(hostToUpdate, hostDetails);
 
         Map<String, Object> newAttributes = Collections.<String, Object>singletonMap(VirtualHost.DESCRIPTION, "This is a virtual host");
-        getRestTestHelper().submitRequest(restHostUrl, method, newAttributes, HttpServletResponse.SC_OK);
+        getRestTestHelper().submitRequest(restHostUrl, method, newAttributes, SC_OK);
 
-        Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsSingletonList(restHostUrl);
+        Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsMap(restHostUrl);
         Asserts.assertVirtualHost(hostToUpdate, rereadHostDetails);
         assertEquals("This is a virtual host", rereadHostDetails.get(VirtualHost.DESCRIPTION));
     }
@@ -222,7 +224,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         String hostToUpdate = TEST3_VIRTUALHOST;
         String restHostUrl = "virtualhost/" + hostToUpdate + "/" + hostToUpdate;
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList(restHostUrl);
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap(restHostUrl);
         Asserts.assertVirtualHost(hostToUpdate, hostDetails);
 
         NodeAutoCreationPolicy[] policies = new NodeAutoCreationPolicy[] {
@@ -293,8 +295,8 @@ public class VirtualHostRestTest extends QpidRestTestCase
         };
         Map<String, Object> newAttributes = Collections.<String, Object>singletonMap(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES,
                                                                                      Arrays.asList(policies));
-        getRestTestHelper().submitRequest(restHostUrl, "POST", newAttributes, HttpServletResponse.SC_OK);
-        Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsSingletonList(restHostUrl);
+        getRestTestHelper().submitRequest(restHostUrl, "POST", newAttributes, SC_OK);
+        Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsMap(restHostUrl);
 
         Object retrievedPolicies = rereadHostDetails.get(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES);
         assertNotNull("Retrieved node policies are null", retrievedPolicies);
@@ -320,7 +322,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         String hostToUpdate = TEST3_VIRTUALHOST;
         String restHostUrl = "virtualhost/" + hostToUpdate + "/" + hostToUpdate;
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList(restHostUrl);
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap(restHostUrl);
         Asserts.assertVirtualHost(hostToUpdate, hostDetails);
 
         NodeAutoCreationPolicy[] policies = new NodeAutoCreationPolicy[] {
@@ -361,7 +363,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
                                                                                      Arrays.asList(policies));
         getRestTestHelper().submitRequest(restHostUrl, "POST", newAttributes, 422);
 
-        Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsSingletonList(restHostUrl);
+        Map<String, Object> rereadHostDetails = getRestTestHelper().getJsonAsMap(restHostUrl);
 
         Object retrievedPolicies = rereadHostDetails.get(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES);
         assertNotNull("Retrieved node policies are null", retrievedPolicies);
@@ -377,13 +379,13 @@ public class VirtualHostRestTest extends QpidRestTestCase
         assertActualAndDesireStates(restHostUrl, "ACTIVE", "ACTIVE");
 
         Map<String, Object> newAttributes = Collections.<String, Object>singletonMap(VirtualHost.DESIRED_STATE, "STOPPED");
-        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, HttpServletResponse.SC_OK);
+        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, SC_OK);
 
         _restTestHelper.waitForAttributeChanged(restHostUrl, VirtualHost.STATE, "STOPPED");
         assertActualAndDesireStates(restHostUrl, "STOPPED", "STOPPED");
 
         newAttributes = Collections.<String, Object>singletonMap(VirtualHost.DESIRED_STATE, "ACTIVE");
-        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, HttpServletResponse.SC_OK);
+        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, SC_OK);
 
         _restTestHelper.waitForAttributeChanged(restHostUrl, VirtualHost.STATE, "ACTIVE");
 
@@ -409,13 +411,13 @@ public class VirtualHostRestTest extends QpidRestTestCase
         assertQueueDepth(restQueueUrl, "Unexpected number of messages before stopped", 1);
 
         Map<String, Object> newAttributes = Collections.<String, Object>singletonMap(VirtualHost.DESIRED_STATE, "STOPPED");
-        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, HttpServletResponse.SC_OK);
+        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, SC_OK);
 
         _restTestHelper.waitForAttributeChanged(restHostUrl, VirtualHost.STATE, "STOPPED");
         assertActualAndDesireStates(restHostUrl, "STOPPED", "STOPPED");
 
         newAttributes = Collections.<String, Object>singletonMap(VirtualHost.DESIRED_STATE, "ACTIVE");
-        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, HttpServletResponse.SC_OK);
+        getRestTestHelper().submitRequest(restHostUrl, "PUT", newAttributes, SC_OK);
 
         _restTestHelper.waitForAttributeChanged(restHostUrl, VirtualHost.STATE, "ACTIVE");
 
@@ -435,13 +437,13 @@ public class VirtualHostRestTest extends QpidRestTestCase
         newAttributes.put(VirtualHost.DESIRED_STATE, "STOPPED");
         newAttributes.put(VirtualHost.DESCRIPTION, "My description");
 
-        getRestTestHelper().submitRequest(restUrl, "PUT", newAttributes, HttpServletResponse.SC_OK);
+        getRestTestHelper().submitRequest(restUrl, "PUT", newAttributes, SC_OK);
 
         assertActualAndDesireStates(restUrl, "STOPPED", "STOPPED");
 
         restartDefaultBroker();
 
-        Map<String, Object> rereadVirtualhost = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> rereadVirtualhost = getRestTestHelper().getJsonAsMap(restUrl);
         Asserts.assertActualAndDesiredState("STOPPED", "STOPPED", rereadVirtualhost);
 
         assertEquals("Unexpected description after restart", "My description", rereadVirtualhost.get(VirtualHost.DESCRIPTION));
@@ -465,7 +467,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         lvqQueueAttributes.put(LastValueQueue.LVQ_KEY, "LVQ");
         createQueue(queueName + "-lvq", "lvq", lvqQueueAttributes);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
@@ -498,7 +500,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         createExchange(exchangeName + "-headers", "headers");
         createExchange(exchangeName + "-fanout", "fanout");
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> exchanges = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_EXCHANGES_ATTRIBUTE);
@@ -523,7 +525,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         String queueName = getTestQueueName()+ "-lvq";
         createQueue(queueName, "lvq", null);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
@@ -540,7 +542,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         int responseCode = tryCreateQueue(queueName, "sorted", null);
         assertEquals("Unexpected response code", SC_UNPROCESSABLE_ENTITY, responseCode);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
@@ -554,7 +556,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         String queueName = getTestQueueName()+ "-priority";
         createQueue(queueName, "priority", null);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
@@ -570,7 +572,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         String queueName = getTestQueueName();
         createQueue(queueName, null, null);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
@@ -585,7 +587,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         int responseCode = tryCreateQueue(queueName, "unsupported", null);
         assertEquals("Unexpected response code", SC_UNPROCESSABLE_ENTITY, responseCode);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
@@ -600,23 +602,21 @@ public class VirtualHostRestTest extends QpidRestTestCase
         createQueue(queueName, null, null);
 
         String queueUrl = "queue/test/test/" + queueName;
-        List<Map<String, Object>> queues = getRestTestHelper().getJsonAsList(queueUrl);
-        assertEquals("Queue should exist", 1, queues.size());
+        Map<String, Object> queueData = getRestTestHelper().getJsonAsMap(queueUrl);
+        assertEquals("Unexpected name", queueName, queueData.get(Queue.NAME));
 
-        int statusCode = getRestTestHelper().submitRequest(queueUrl, "DELETE");
-        assertEquals("Unexpected response code", 200, statusCode);
+        getRestTestHelper().submitRequest(queueUrl, "DELETE", SC_OK);
 
-        getRestTestHelper().submitRequest(queueUrl, "GET", HttpServletResponse.SC_NOT_FOUND);
+        getRestTestHelper().submitRequest(queueUrl, "GET", SC_NOT_FOUND);
     }
 
     public void testDeleteQueueById() throws Exception
     {
         String queueName = getTestQueueName();
         createQueue(queueName, null, null);
-        Map<String, Object> queueDetails = getRestTestHelper().getJsonAsSingletonList("queue/test/test/" + queueName);
-        int statusCode = getRestTestHelper().submitRequest("queue/test/test?id=" + queueDetails.get(Queue.ID), "DELETE");
-        assertEquals("Unexpected response code", 200, statusCode);
-        getRestTestHelper().submitRequest("queue/test/test/" + queueName, "GET", HttpServletResponse.SC_NOT_FOUND);
+        Map<String, Object> queueDetails = getRestTestHelper().getJsonAsMap("queue/test/test/" + queueName);
+        getRestTestHelper().submitRequest("queue/test/test?id=" + queueDetails.get(Queue.ID), "DELETE", SC_OK);
+        getRestTestHelper().submitRequest("queue/test/test/" + queueName, "GET", SC_NOT_FOUND);
     }
 
     public void testDeleteExchange() throws Exception
@@ -627,19 +627,19 @@ public class VirtualHostRestTest extends QpidRestTestCase
         int statusCode = getRestTestHelper().submitRequest("exchange/test/test/" + exchangeName, "DELETE");
 
         assertEquals("Unexpected response code", 200, statusCode);
-        getRestTestHelper().submitRequest("exchange/test/test/" + exchangeName, "GET", HttpServletResponse.SC_NOT_FOUND);
+        getRestTestHelper().submitRequest("exchange/test/test/" + exchangeName, "GET", SC_NOT_FOUND);
     }
 
     public void testDeleteExchangeById() throws Exception
     {
         String exchangeName = getTestName();
         createExchange(exchangeName, "direct");
-        Map<String, Object> echangeDetails = getRestTestHelper().getJsonAsSingletonList("exchange/test/test/" + exchangeName);
+        Map<String, Object> echangeDetails = getRestTestHelper().getJsonAsMap("exchange/test/test/" + exchangeName);
 
         int statusCode = getRestTestHelper().submitRequest("exchange/test/test?id=" + echangeDetails.get(Exchange.ID), "DELETE");
 
         assertEquals("Unexpected response code", 200, statusCode);
-        getRestTestHelper().submitRequest("exchange/test/test/" + exchangeName, "GET", HttpServletResponse.SC_NOT_FOUND);
+        getRestTestHelper().submitRequest("exchange/test/test/" + exchangeName, "GET", SC_NOT_FOUND);
     }
 
     public void testPutCreateQueueWithAttributes() throws Exception
@@ -671,7 +671,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         lvqQueueAttributes.put(LastValueQueue.LVQ_KEY, "LVQ");
         createQueue(queueName + "-lvq", "lvq", lvqQueueAttributes);
 
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
@@ -700,7 +700,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
 
         // Test creation
         createQueue(queueNameDoubleEncoded, "standard", null);
-        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/test?depth=1");
+        Map<String, Object> hostDetails = getRestTestHelper().getJsonAsMap("virtualhost/test/test?depth=1");
         List<Map<String, Object>> queues = (List<Map<String, Object>>) hostDetails.get(VirtualHostRestTest.VIRTUALHOST_QUEUES_ATTRIBUTE);
         Map<String, Object> queue = getRestTestHelper().find(Queue.NAME, queueName , queues);
         Asserts.assertQueue(queueName, "standard", queue);
@@ -708,7 +708,7 @@ public class VirtualHostRestTest extends QpidRestTestCase
         // Test deletion
         int statusCode = getRestTestHelper().submitRequest(queueUrl, "DELETE");
         assertEquals("Unexpected response code", 200, statusCode);
-        getRestTestHelper().submitRequest(queueUrl, "GET", HttpServletResponse.SC_NOT_FOUND);
+        getRestTestHelper().submitRequest(queueUrl, "GET", SC_NOT_FOUND);
     }
 
     private void createExchange(String exchangeName, String exchangeType) throws IOException
@@ -805,13 +805,13 @@ public class VirtualHostRestTest extends QpidRestTestCase
                                              final String expectedDesiredState,
                                              final String expectedActualState) throws IOException
     {
-        Map<String, Object> virtualhost = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> virtualhost = getRestTestHelper().getJsonAsMap(restUrl);
         Asserts.assertActualAndDesiredState(expectedDesiredState, expectedActualState, virtualhost);
     }
 
     private void assertQueueDepth(String restQueueUrl, String message, int expectedDepth) throws IOException
     {
-        Map<String, Object> queueDetails = getRestTestHelper().getJsonAsSingletonList(restQueueUrl);
+        Map<String, Object> queueDetails = getRestTestHelper().getJsonAsMap(restQueueUrl);
         assertNotNull(queueDetails);
         Map<String, Object> statistics = (Map<String, Object>) queueDetails.get(Asserts.STATISTICS_ATTRIBUTE);
         assertNotNull(statistics);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[3/3] qpid-broker-j git commit: QPID-7773: [Java Broker, REST API] Return json object for singleton object request

Posted by or...@apache.org.
QPID-7773: [Java Broker, REST API] Return json object for singleton object request


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/d128dea9
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/d128dea9
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/d128dea9

Branch: refs/heads/master
Commit: d128dea9e9f56080ba7c72b0bb95b9dee97a330a
Parents: 29a1d9a
Author: Keith Wall <kw...@apache.org>
Authored: Thu Sep 14 13:41:36 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Thu Sep 14 17:21:34 2017 +0100

----------------------------------------------------------------------
 .../server/store/berkeleydb/BDBUpgradeTest.java |   4 +-
 .../BDBHAVirtualHostNodeRestTest.java           |  10 +-
 .../replication/BDBHAVirtualHostRestTest.java   |   6 +-
 .../berkeleydb/replication/GroupCreator.java    |  16 +--
 .../server/model/ConfiguredObjectFinder.java    |  13 ++-
 .../qpid/management/store/pool/bonecp/show.js   |  13 +--
 .../plugin/servlet/rest/RequestInfo.java        |  28 +++--
 .../plugin/servlet/rest/RequestInfoParser.java  |   9 +-
 .../plugin/servlet/rest/RestServlet.java        |  70 +++++++----
 .../resources/js/qpid/common/ConsoleHelper.js   |   3 +-
 .../resources/js/qpid/common/UpdatableStore.js  |   6 +-
 .../main/java/resources/js/qpid/common/util.js  |   6 +-
 .../js/qpid/management/AccessControlProvider.js |   2 +-
 .../qpid/management/AuthenticationProvider.js   |   2 +-
 .../java/resources/js/qpid/management/Broker.js |   2 +-
 .../resources/js/qpid/management/Connection.js  |   2 +-
 .../resources/js/qpid/management/Exchange.js    |   2 +-
 .../js/qpid/management/GroupProvider.js         |   2 +-
 .../resources/js/qpid/management/KeyStore.js    |   4 +-
 .../java/resources/js/qpid/management/Logger.js |   6 +-
 .../java/resources/js/qpid/management/Plugin.js |   2 +-
 .../java/resources/js/qpid/management/Port.js   |   4 +-
 .../java/resources/js/qpid/management/Queue.js  |   2 +-
 .../resources/js/qpid/management/TrustStore.js  |   4 +-
 .../resources/js/qpid/management/VirtualHost.js |   2 +-
 .../js/qpid/management/VirtualHostNode.js       |   2 +-
 .../management/accesscontrolprovider/AclFile.js |   7 +-
 .../js/qpid/management/plugin/managementhttp.js |   2 +-
 .../management/plugin/managementhttp/edit.js    |   2 +-
 .../js/qpid/management/port/amqp/show.js        |  18 +--
 .../servlet/rest/RequestInfoParserTest.java     |   4 +
 .../qpid/systest/rest/RestTestHelper.java       |  36 +++---
 .../server/queue/LiveQueueOperationsTest.java   |   2 +-
 .../org/apache/qpid/server/queue/ModelTest.java |   2 +-
 .../server/queue/ProducerFlowControlTest.java   |   4 +-
 .../rest/AccessControlProviderRestTest.java     |   8 +-
 .../systest/rest/AnonymousAccessRestTest.java   |   4 +-
 .../rest/AuthenticationProviderRestTest.java    |  46 +++-----
 .../rest/BrokerRestHttpsClientCertAuthTest.java |   2 +-
 .../qpid/systest/rest/BrokerRestHttpsTest.java  |   2 +-
 .../qpid/systest/rest/BrokerRestTest.java       |  16 +--
 .../qpid/systest/rest/ConnectionRestTest.java   |  26 ++---
 .../qpid/systest/rest/ExchangeRestTest.java     |   9 +-
 .../systest/rest/GroupProviderRestTest.java     |  20 ++--
 .../apache/qpid/systest/rest/GroupRestTest.java |  23 ++--
 .../systest/rest/HttpManagementRestTest.java    |   8 +-
 .../qpid/systest/rest/KeyStoreRestTest.java     |  12 +-
 .../apache/qpid/systest/rest/PortRestTest.java  |  58 +++++-----
 .../apache/qpid/systest/rest/QueueRestTest.java | 111 ++++++++++++------
 .../qpid/systest/rest/TrustStoreRestTest.java   |  22 ++--
 .../apache/qpid/systest/rest/UserRestTest.java  |  22 ++--
 .../systest/rest/VirtualHostLoggerRestTest.java |   2 +-
 .../systest/rest/VirtualHostNodeRestTest.java   |  16 +--
 .../qpid/systest/rest/VirtualHostRestTest.java  | 116 +++++++++----------
 .../qpid/systest/rest/acl/BrokerACLTest.java    |  45 +++----
 .../systest/rest/acl/ExchangeRestACLTest.java   |   2 +-
 .../qpid/systest/rest/acl/GroupRestACLTest.java |  22 ++--
 .../qpid/systest/rest/acl/QueueRestACLTest.java |   4 +-
 .../qpid/systest/rest/acl/UserRestACLTest.java  |   2 +-
 .../client/DynamicQueueExchangeCreateTest.java  |  13 +--
 .../BrokerClosesClientConnectionTest.java       |   3 +-
 61 files changed, 474 insertions(+), 439 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java
----------------------------------------------------------------------
diff --git a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java
index 41ff80f..e123722 100644
--- a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java
+++ b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBUpgradeTest.java
@@ -395,7 +395,7 @@ public class BDBUpgradeTest extends QpidBrokerTestCase
         String exchangeUrl = String.format("exchange/%1$s/%1$s/%2$s",
                                            TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST,
                                            exchangeName);
-        return _restTestHelper.getJsonAsSingletonList(exchangeUrl);
+        return _restTestHelper.getJsonAsMap(exchangeUrl);
     }
 
     private Map<String, Object> getQueueAttributes(final String queueName) throws IOException
@@ -403,7 +403,7 @@ public class BDBUpgradeTest extends QpidBrokerTestCase
         String queueUrl = String.format("queue/%1$s/%1$s/%2$s",
                                         TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST,
                                         queueName);
-        return _restTestHelper.getJsonAsSingletonList(queueUrl);
+        return _restTestHelper.getJsonAsMap(queueUrl);
     }
 
     private long getQueueDepth(final String queueName) throws org.apache.qpid.QpidException, IOException

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
----------------------------------------------------------------------
diff --git a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
index 49facbf..372bb8c 100644
--- a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
+++ b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
@@ -267,7 +267,7 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
         createHANode(NODE1, _node1HaPort, _node1HaPort);
         assertNode(NODE1, _node1HaPort, _node1HaPort, NODE1);
 
-        Map<String,Object> nodeData = getRestTestHelper().getJsonAsSingletonList(_baseNodeRestUrl + NODE1);
+        Map<String,Object> nodeData = getRestTestHelper().getJsonAsMap(_baseNodeRestUrl + NODE1);
         String node1StorePath = (String)nodeData.get(BDBHAVirtualHostNode.STORE_PATH);
         long transactionId =  ((Number)nodeData.get(BDBHAVirtualHostNode.LAST_KNOWN_REPLICATION_TRANSACTION_ID)).longValue();
 
@@ -286,7 +286,7 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
         long newTransactionId = transactionId;
         while(newTransactionId == transactionId && counter<50)
         {
-            nodeData = getRestTestHelper().getJsonAsSingletonList(_baseNodeRestUrl + NODE1);
+            nodeData = getRestTestHelper().getJsonAsMap(_baseNodeRestUrl + NODE1);
             newTransactionId =  ((Number)nodeData.get(BDBHAVirtualHostNode.LAST_KNOWN_REPLICATION_TRANSACTION_ID)).longValue();
             if (newTransactionId != transactionId)
             {
@@ -365,7 +365,7 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
         String expectedRole = isMaster? "MASTER" : "REPLICA";
         _restTestHelper.waitForAttributeChanged(_baseNodeRestUrl + nodeName + "?depth=0", BDBHAVirtualHostNode.ROLE, expectedRole);
 
-        Map<String, Object> nodeData = getRestTestHelper().getJsonAsSingletonList(_baseNodeRestUrl + nodeName + "?depth=0");
+        Map<String, Object> nodeData = getRestTestHelper().getJsonAsMap(_baseNodeRestUrl + nodeName + "?depth=0");
         assertEquals("Unexpected name", nodeName, nodeData.get(BDBHAVirtualHostNode.NAME));
         assertEquals("Unexpected type", BDBHAVirtualHostNodeImpl.VIRTUAL_HOST_NODE_TYPE, nodeData.get(BDBHAVirtualHostNode.TYPE));
         assertEquals("Unexpected address", "localhost:" + nodePort, nodeData.get(BDBHAVirtualHostNode.ADDRESS));
@@ -423,7 +423,7 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
                                               final String expectedDesiredState,
                                               final String expectedActualState) throws IOException
     {
-        Map<String, Object> objectData = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> objectData = getRestTestHelper().getJsonAsMap(restUrl);
         Asserts.assertActualAndDesiredState(expectedDesiredState, expectedActualState, objectData);
     }
 
@@ -459,7 +459,7 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
         {
             for(String nodeUrl: nodeUrls)
             {
-                Map<String, Object> nodeData = getRestTestHelper().getJsonAsSingletonList(nodeUrl);
+                Map<String, Object> nodeData = getRestTestHelper().getJsonAsMap(nodeUrl);
                 if ("MASTER".equals(nodeData.get(BDBHAVirtualHostNode.ROLE)))
                 {
                     newMasterData = nodeData;

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
----------------------------------------------------------------------
diff --git a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
index 8fdf794..a1516f3 100644
--- a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
+++ b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
@@ -123,7 +123,7 @@ public class BDBHAVirtualHostRestTest extends QpidRestTestCase
         Map<String, Object> newPolicy = Collections.<String, Object>singletonMap(LOCAL_TRANSACTION_SYNCHRONIZATION_POLICY, "NO_SYNC");
         getRestTestHelper().submitRequest(_virtualhostUrl, "PUT", newPolicy, HttpServletResponse.SC_OK);
 
-        hostAttributes = getRestTestHelper().getJsonAsSingletonList(_virtualhostUrl);
+        hostAttributes = getRestTestHelper().getJsonAsMap(_virtualhostUrl);
         assertEquals("Unexpected synchronization policy after change", "NO_SYNC", hostAttributes.get(LOCAL_TRANSACTION_SYNCHRONIZATION_POLICY));
     }
 
@@ -135,7 +135,7 @@ public class BDBHAVirtualHostRestTest extends QpidRestTestCase
         Map<String, Object> newPolicy = Collections.<String, Object>singletonMap(REMOTE_TRANSACTION_SYNCHRONIZATION_POLICY, "SYNC");
         getRestTestHelper().submitRequest(_virtualhostUrl, "PUT", newPolicy, HttpServletResponse.SC_OK);
 
-        hostAttributes = getRestTestHelper().getJsonAsSingletonList(_virtualhostUrl);
+        hostAttributes = getRestTestHelper().getJsonAsMap(_virtualhostUrl);
         assertEquals("Unexpected synchronization policy after change", "SYNC", hostAttributes.get(REMOTE_TRANSACTION_SYNCHRONIZATION_POLICY));
     }
 
@@ -161,7 +161,7 @@ public class BDBHAVirtualHostRestTest extends QpidRestTestCase
                                              final String expectedDesiredState,
                                              final String expectedActualState) throws IOException
     {
-        Map<String, Object> virtualhost = getRestTestHelper().getJsonAsSingletonList(restUrl);
+        Map<String, Object> virtualhost = getRestTestHelper().getJsonAsMap(restUrl);
         Asserts.assertActualAndDesiredState(expectedDesiredState, expectedActualState, virtualhost);
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupCreator.java
----------------------------------------------------------------------
diff --git a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupCreator.java b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupCreator.java
index fb2d030..357c28d 100644
--- a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupCreator.java
+++ b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupCreator.java
@@ -413,28 +413,14 @@ public class GroupCreator
     public Map<String, Object> getNodeAttributes(int localNodePort, int remoteNodePort) throws IOException
     {
         RestTestHelper restHelper = createRestTestHelper(localNodePort);
-        List<Map<String, Object>> results = null;
         try
         {
-            results = restHelper.getJsonAsList(getNodeRestUrl(localNodePort, remoteNodePort));
+            return restHelper.getJsonAsMap(getNodeRestUrl(localNodePort, remoteNodePort));
         }
         catch (FileNotFoundException e)
         {
-            // node does not exist yet
-        }
-        int size = results == null ? 0 : results.size();
-        if (size == 0)
-        {
             return Collections.emptyMap();
         }
-        else if (size == 1)
-        {
-            return results.get(0);
-        }
-        else
-        {
-            throw new RuntimeException("Unexpected number of nodes " + size);
-        }
     }
 
     public void awaitNodeToAttainRole(int brokerPort, String... desiredRole) throws Exception

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
index 2004966..27cedfe 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFinder.java
@@ -150,11 +150,9 @@ public class ConfiguredObjectFinder
         Collection<ConfiguredObject<?>> parents = new ArrayList<>();
         if (hierarchy.length == 0)
         {
-            return Collections.<ConfiguredObject<?>>singletonList(_root);
+            return Collections.singletonList(_root);
         }
 
-        Collection<Class<? extends ConfiguredObject>> ancestorCategories =
-                _model.getAncestorCategories(hierarchy[hierarchy.length - 1]);
         Map<Class<? extends ConfiguredObject>, String> filters = new HashMap<>();
         Collection<ConfiguredObject<?>> children = new ArrayList<>();
         boolean wildcard = false;
@@ -175,17 +173,22 @@ public class ConfiguredObjectFinder
                         && !path.get(i).equals("*")
                         && path.get(i).trim().length() != 0)
                     {
+                        List<ConfiguredObject<?>> childrenOfParent = new ArrayList<>();
                         for (ConfiguredObject<?> child : parent.getChildren(hierarchy[i]))
                         {
                             if (child.getName().equals(path.get(i)))
                             {
-                                children.add(child);
+                                childrenOfParent.add(child);
                             }
                         }
-                        if (children.isEmpty())
+                        if (childrenOfParent.isEmpty())
                         {
                             return null;
                         }
+                        else
+                        {
+                            children.addAll(childrenOfParent);
+                        }
                     }
                     else
                     {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js
----------------------------------------------------------------------
diff --git a/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js b/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js
index 3cdd268..b8fb30e 100644
--- a/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js
+++ b/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js
@@ -55,15 +55,12 @@ define(["dojo/_base/xhr", "dojo/parser", "dojox/html/entities", "dojo/query", "d
                     depth: 0
                 }).then(lang.hitch(this, function (inheritedData)
             {
-                if (inheritedData && inheritedData[0])
+                var context = inheritedData.context;
+                for (var i = 0; i < fieldNames.length; i++)
                 {
-                    var context = inheritedData[0].context;
-                    for (var i = 0; i < fieldNames.length; i++)
-                    {
-                        var fieldName = fieldNames[i];
-                        var value = context ? context["qpid.jdbcstore.bonecp." + fieldName] : "";
-                        this[fieldName].innerHTML = value ? entities.encode(String(value)) : "";
-                    }
+                    var fieldName = fieldNames[i];
+                    var value = context ? context["qpid.jdbcstore.bonecp." + fieldName] : "";
+                    this[fieldName].innerHTML = value ? entities.encode(String(value)) : "";
                 }
             }));
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
index 5471434..69de651 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
@@ -30,47 +30,56 @@ public class RequestInfo
 {
     private final RequestType _type;
     private final List<String> _modelParts;
+    private final boolean _hierarchySatisfied;
     private final String _operationName;
     private final List<String> _preferencesParts;
     private final Map<String, List<String>> _queryParameters;
     private final boolean _hasWildcard;
 
-    public static RequestInfo createModelRequestInfo(final List<String> modelParts, Map<String, List<String>> queryParameters)
+    public static RequestInfo createModelRequestInfo(final List<String> modelParts,
+                                                     Map<String, List<String>> queryParameters,
+                                                     final boolean hierarchySatisfied)
     {
-        return new RequestInfo(RequestType.MODEL_OBJECT, modelParts, null, Collections.<String>emptyList(), queryParameters);
+        return new RequestInfo(RequestType.MODEL_OBJECT, modelParts, null, Collections.<String>emptyList(), queryParameters, hierarchySatisfied );
     }
 
     public static RequestInfo createOperationRequestInfo(final List<String> modelParts, final String operationName, Map<String, List<String>> queryParameters)
     {
-        return new RequestInfo(RequestType.OPERATION, modelParts, operationName, Collections.<String>emptyList(), queryParameters);
+        return new RequestInfo(RequestType.OPERATION, modelParts, operationName, Collections.<String>emptyList(), queryParameters,
+                               true);
     }
 
     public static RequestInfo createPreferencesRequestInfo(final List<String> modelParts, final List<String> preferencesParts)
     {
-        return new RequestInfo(RequestType.USER_PREFERENCES, modelParts, null, preferencesParts, Collections.<String, List<String>>emptyMap());
+        return new RequestInfo(RequestType.USER_PREFERENCES, modelParts, null, preferencesParts, Collections.<String,
+                List<String>>emptyMap(),
+                               true);
     }
 
     public static RequestInfo createPreferencesRequestInfo(final List<String> modelParts, final List<String> preferencesParts, Map<String, List<String>> queryParameters)
     {
-        return new RequestInfo(RequestType.USER_PREFERENCES, modelParts, null, preferencesParts, queryParameters);
+        return new RequestInfo(RequestType.USER_PREFERENCES, modelParts, null, preferencesParts, queryParameters,
+                               true);
     }
 
     public static RequestInfo createVisiblePreferencesRequestInfo(final List<String> modelParts,
                                                                   final List<String> preferencesParts,
                                                                   final Map<String, List<String>> queryParameters)
     {
-        return new RequestInfo(RequestType.VISIBLE_PREFERENCES, modelParts, null, preferencesParts, queryParameters);
+        return new RequestInfo(RequestType.VISIBLE_PREFERENCES, modelParts, null, preferencesParts, queryParameters,
+                               true);
     }
 
     private RequestInfo(final RequestType type,
                         final List<String> modelParts,
                         final String operationName,
                         final List<String> preferencesParts,
-                        final Map<String, List<String>> queryParameters)
+                        final Map<String, List<String>> queryParameters, final boolean hierarchySatisfied)
     {
         _type = type;
         _operationName = operationName;
         _modelParts = ImmutableList.copyOf(modelParts);
+        _hierarchySatisfied = hierarchySatisfied;
         _hasWildcard = _modelParts.contains("*");
         _preferencesParts = ImmutableList.copyOf(preferencesParts);
         _queryParameters = ImmutableMap.copyOf(queryParameters);
@@ -110,6 +119,11 @@ public class RequestInfo
         return _hasWildcard;
     }
 
+    public boolean isSingletonRequest()
+    {
+        return _hierarchySatisfied && !_hasWildcard;
+    }
+
     enum RequestType
     {
         OPERATION, USER_PREFERENCES, VISIBLE_PREFERENCES, MODEL_OBJECT

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParser.java
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParser.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParser.java
index 8c749c3..13e871f 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParser.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParser.java
@@ -85,7 +85,7 @@ public class RequestInfoParser
         if (parts.size() <= _hierarchy.size())
         {
             return RequestInfo.createModelRequestInfo(parts,
-                                                      queryParameters);
+                                                      queryParameters, parts.size() == _hierarchy.size());
         }
         else if (parts.size() > _hierarchy.size())
         {
@@ -113,7 +113,8 @@ public class RequestInfoParser
         if (parts.size() <= _hierarchy.size())
         {
             return RequestInfo.createModelRequestInfo(parts,
-                                                      queryParameters);
+                                                      queryParameters,
+                                                      parts.size() == _hierarchy.size());
         }
         else if (parts.size() > _hierarchy.size())
         {
@@ -149,7 +150,7 @@ public class RequestInfoParser
     {
         if (parts.size() == _hierarchy.size() || parts.size() == _hierarchy.size() - 1)
         {
-            return RequestInfo.createModelRequestInfo(parts, queryParameters);
+            return RequestInfo.createModelRequestInfo(parts, queryParameters, parts.size() == _hierarchy.size());
         }
         else if (parts.size() > _hierarchy.size() && USER_PREFERENCES.equals(parts.get(_hierarchy.size())))
         {
@@ -173,7 +174,7 @@ public class RequestInfoParser
     {
         if (parts.size() == _hierarchy.size() || parts.size() == _hierarchy.size() - 1)
         {
-            return RequestInfo.createModelRequestInfo(parts, queryParameters);
+            return RequestInfo.createModelRequestInfo(parts, queryParameters, parts.size() == _hierarchy.size());
         }
         else if (parts.size() > _hierarchy.size())
         {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
index ffa2a8a..278181c 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
@@ -79,7 +79,7 @@ public class RestServlet extends AbstractServlet
     public static final String SORT_PARAM = "sort";
     public static final String EXTRACT_INITIAL_CONFIG_PARAM = "extractInitialConfig";
     public static final String EXCLUDE_INHERITED_CONTEXT_PARAM = "excludeInheritedContext";
-
+    private static final String SINGLETON_MODEL_OBJECT_RESPONSE_AS_LIST = "singletonModelObjectResponseAsList";
     /**
      * Signifies that the agent wishes the servlet to set the Content-Disposition on the
      * response with the value attachment.  This filename will be derived from the parameter value.
@@ -92,7 +92,8 @@ public class RestServlet extends AbstractServlet
                                         ACTUALS_PARAM,
                                         EXTRACT_INITIAL_CONFIG_PARAM,
                                         CONTENT_DISPOSITION_ATTACHMENT_FILENAME_PARAM,
-                                        EXCLUDE_INHERITED_CONTEXT_PARAM));
+                                        EXCLUDE_INHERITED_CONTEXT_PARAM,
+                                        SINGLETON_MODEL_OBJECT_RESPONSE_AS_LIST));
     public static final int DEFAULT_DEPTH = 0;
     public static final int DEFAULT_OVERSIZE = 120;
 
@@ -125,11 +126,11 @@ public class RestServlet extends AbstractServlet
     {
         List<String> names = requestInfo.getModelParts();
 
-        Collection<ConfiguredObject<?>> parents = finder.findObjectsFromPath(names, finder.getHierarchy(configuredClass), true);
+        Collection<ConfiguredObject<?>> targetObjects = finder.findObjectsFromPath(names, finder.getHierarchy(configuredClass), true);
 
-        if (!(parents == null || filterPredicateList.isEmpty()))
+        if (!(targetObjects == null || filterPredicateList.isEmpty()))
         {
-            Iterator<ConfiguredObject<?>> iter = parents.iterator();
+            Iterator<ConfiguredObject<?>> iter = targetObjects.iterator();
             while (iter.hasNext())
             {
                 ConfiguredObject obj = iter.next();
@@ -144,7 +145,7 @@ public class RestServlet extends AbstractServlet
             }
 
         }
-        return parents;
+        return targetObjects;
     }
 
     private List<Predicate<ConfiguredObject<?>>> buildFilterPredicates(final HttpServletRequest request)
@@ -211,10 +212,13 @@ public class RestServlet extends AbstractServlet
                     setContentDispositionHeaderIfNecessary(response, attachmentFilename);
                 }
 
+                List<Predicate<ConfiguredObject<?>>> filterPredicateList = buildFilterPredicates(request);
                 Collection<ConfiguredObject<?>> allObjects =
-                        getTargetObjects(configuredClass, finder, requestInfo, buildFilterPredicates(request));
+                        getTargetObjects(configuredClass, finder, requestInfo, filterPredicateList);
+
+                boolean singleObjectRequest = requestInfo.isSingletonRequest() && filterPredicateList.isEmpty();
 
-                if (allObjects == null || (allObjects.isEmpty() && isSingleObjectRequest(requestInfo, finder.getHierarchy(configuredClass))))
+                if (allObjects == null || (allObjects.isEmpty() && singleObjectRequest))
                 {
                     sendJsonErrorResponse(request, response, HttpServletResponse.SC_NOT_FOUND, "Not Found");
                     return;
@@ -230,31 +234,49 @@ public class RestServlet extends AbstractServlet
                 actuals = getBooleanParameterFromRequest(request, ACTUALS_PARAM);
                 String excludeInheritedContextParameter = request.getParameter(EXCLUDE_INHERITED_CONTEXT_PARAM);
 
-                if (excludeInheritedContextParameter == null)
+                excludeInheritedContext = excludeInheritedContextParameter == null || Boolean.parseBoolean(
+                        excludeInheritedContextParameter);
+
+                boolean responseAsList = Boolean.parseBoolean(request.getParameter(SINGLETON_MODEL_OBJECT_RESPONSE_AS_LIST));
+                final Object responseObject;
+                if (!responseAsList && singleObjectRequest)
                 {
-                    excludeInheritedContext = true;
+                    if (allObjects.size() != 1)
+                    {
+                        throw new IllegalStateException(String.format(
+                                "Unexpected number of objects found [%d] for singleton request URI '%s'",
+                                allObjects.size(), request.getRequestURI()));
+                    }
+                    ConfiguredObject<?> singletonObject = allObjects.iterator().next();
+                    responseObject = _objectConverter.convertObjectToMap(singletonObject, configuredClass,
+                                                                         new ConfiguredObjectToMapConverter
+                                                                                 .ConverterOptions(
+                                                                                 depth,
+                                                                                 actuals,
+                                                                                 oversizeThreshold,
+                                                                                 request.isSecure(),
+                                                                                 excludeInheritedContext));
                 }
                 else
                 {
-                    excludeInheritedContext = Boolean.parseBoolean(excludeInheritedContextParameter);
-                }
-
+                    final List<Object> outputList = new ArrayList<>();
+                    for (ConfiguredObject configuredObject : allObjects)
+                    {
 
-                List<Map<String, Object>> output = new ArrayList<>();
-                for (ConfiguredObject configuredObject : allObjects)
-                {
+                        outputList.add(_objectConverter.convertObjectToMap(configuredObject, configuredClass,
+                                                                           new ConfiguredObjectToMapConverter.ConverterOptions(
+                                                                                   depth,
+                                                                                   actuals,
+                                                                                   oversizeThreshold,
+                                                                                   request.isSecure(),
+                                                                                   excludeInheritedContext)));
+                    }
 
-                    output.add(_objectConverter.convertObjectToMap(configuredObject, configuredClass,
-                                                                   new ConfiguredObjectToMapConverter.ConverterOptions(
-                                                                           depth,
-                                                                           actuals,
-                                                                           oversizeThreshold,
-                                                                           request.isSecure(),
-                                                                           excludeInheritedContext)));
+                    responseObject = outputList;
                 }
 
                 boolean sendCachingHeaders = attachmentFilename == null;
-                sendJsonResponse(output,
+                sendJsonResponse(responseObject,
                                  request,
                                  response,
                                  HttpServletResponse.SC_OK,

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ConsoleHelper.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ConsoleHelper.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ConsoleHelper.js
index 03d349d..75af5f1 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ConsoleHelper.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ConsoleHelper.js
@@ -64,9 +64,8 @@ define(["dojo/query",
             else
             {
                 this.management.load({type: "broker"}, {depth: 0, excludeInheritedContext: true})
-                    .then(function (data)
+                    .then(function (broker)
                     {
-                        var broker = data[0];
                         if (broker.documentationUrl)
                         {
                             documentationUrl = broker.documentationUrl;

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/common/UpdatableStore.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/common/UpdatableStore.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/common/UpdatableStore.js
index 8387e92..9d696e5 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/common/UpdatableStore.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/common/UpdatableStore.js
@@ -196,7 +196,11 @@ define(["dojo/json",
 
     UpdatableStore.prototype.close = function ()
     {
-        this.dataStore.close();
+        if (this.dataStore !== null)
+        {
+            this.dataStore.close();
+        }
+
         this.dataStore = null;
         this.store = null;
         this.memoryStore = null;

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
index 5c83b92..5de759f 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
@@ -873,9 +873,9 @@ define(["dojo/_base/xhr",
                 .then(function (data)
                 {
                     callback({
-                        actual: data.actual[0],
-                        inheritedActual: data.inheritedActual[0],
-                        effective: data.effective[0]
+                        actual: data.actual,
+                        inheritedActual: data.inheritedActual,
+                        effective: data.effective
                     });
                 });
         };

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js
index d86a27a..7e34988 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AccessControlProvider.js
@@ -121,7 +121,7 @@ define(["dojo/parser",
             this.management.load(this.modelObj, {excludeInheritedContext: true})
                 .then(function (data)
                 {
-                    that.accessControlProviderData = data[0];
+                    that.accessControlProviderData = data;
 
                     util.flattenStatistics(that.accessControlProviderData);
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
index 1e78cd0..59c02f4 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
@@ -174,7 +174,7 @@ define(["dojo/parser",
                 })
                 .then(function (data)
                 {
-                    that._update(data[0]);
+                    that._update(data);
                     if (callback)
                     {
                         callback();

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
index d1750c5..174a8d7 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Broker.js
@@ -952,7 +952,7 @@ define(["dojo/parser",
             })
                 .then(function (data)
                 {
-                    that.brokerData = data.broker[0];
+                    that.brokerData = data.broker;
 
                     if (!that.brokerStatistics)
                     {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
index 1ceaf1d..ea21a78 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Connection.js
@@ -290,7 +290,7 @@ define(["dojo/parser",
                 })
                 .then(function (data)
                 {
-                    that.connectionData = data[0];
+                    that.connectionData = data;
 
 
                     if (!that.connectionStatistics)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Exchange.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Exchange.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Exchange.js
index d2f5b84..01298e9 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Exchange.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Exchange.js
@@ -274,7 +274,7 @@ define(["dojo/_base/xhr",
             this.management.load(this.modelObj, {excludeInheritedContext: true})
                 .then(function (data)
                 {
-                    thisObj.exchangeData = data[0];
+                    thisObj.exchangeData = data;
 
                     if (!thisObj.exchangeStatistics)
                     {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/GroupProvider.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/GroupProvider.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/GroupProvider.js
index 3525aaf..c247bf6 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/GroupProvider.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/GroupProvider.js
@@ -208,7 +208,7 @@ define(["dojo/parser",
             management.load(this.modelObj, {excludeInheritedContext: true})
                 .then(function (data)
                 {
-                    that._update(data[0]);
+                    that._update(data);
                     if (callback)
                     {
                         callback();

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
index e25dc0e..41a8fd9 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/KeyStore.js
@@ -81,7 +81,7 @@ define(["dojo/dom",
                             .then(function (data)
                             {
                                 addStore.setupTypeStore(that.management, "KeyStore", that.modelObj);
-                                addStore.show(data[0], that.keyStoreUpdater.keyStoreData);
+                                addStore.show(data, that.keyStoreUpdater.keyStoreData);
                             }, util.xhrErrorHandler);
                     });
                 });
@@ -141,7 +141,7 @@ define(["dojo/dom",
                 })
                 .then(function (data)
                 {
-                    that.keyStoreData = data[0];
+                    that.keyStoreData = data;
                     that.updateHeader();
 
                     if (callback)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Logger.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Logger.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Logger.js
index c44d3e9..7263f5e 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Logger.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Logger.js
@@ -104,7 +104,7 @@ define(["dojo/parser",
                     })
                     .then(function (data)
                     {
-                        addLogger.show(that.management, that.modelObj, that.category, data[0]);
+                        addLogger.show(that.management, that.modelObj, that.category, data);
                     });
             });
 
@@ -189,7 +189,7 @@ define(["dojo/parser",
                 })
                 .then(function (data)
                 {
-                    addLogInclusionRule.show(that.management, ruleModelObj, that.logInclusionRuleCategory, data[0]);
+                    addLogInclusionRule.show(that.management, ruleModelObj, that.logInclusionRuleCategory, data);
                 });
         };
 
@@ -253,7 +253,7 @@ define(["dojo/parser",
                 })
                 .then(function (data)
                 {
-                    that.loggerData = data[0] || {};
+                    that.loggerData = data || {};
                     that.updateUI(that.loggerData);
 
                     if (callback)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Plugin.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Plugin.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Plugin.js
index 5ad8d33..a27cb80 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Plugin.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Plugin.js
@@ -79,7 +79,7 @@ define(["dojo/parser",
             this.management.load(that.modelObj, {excludeInheritedContext: true})
                 .then(function (data)
                 {
-                    that.pluginData = data[0];
+                    that.pluginData = data;
 
                     that.updateHeader();
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
index edfeb47..ed008f6 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Port.js
@@ -106,7 +106,7 @@ define(["dojo/dom",
             this.management.load(that.modelObj.parent, {excludeInheritedContext: true, depth: 1})
                 .then(function (data)
                 {
-                    var brokerData = data[0];
+                    var brokerData = data;
                     addPort.show(that.management,
                         that.modelObj,
                         that.portUpdater.portData.type,
@@ -260,7 +260,7 @@ define(["dojo/dom",
                 })
                 .then(function (data)
                 {
-                    thisObj.portData = data[0] || {};
+                    thisObj.portData = data || {};
                     thisObj.updateUI(thisObj.portData);
                     util.flattenStatistics(thisObj.portData);
                     if (callback)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
index ba61113..5f3ac3a 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
@@ -619,7 +619,7 @@ define(["dojo/_base/declare",
                 .then(function (data)
                 {
                     var i, j;
-                    thisObj.queueData = data.queue[0];
+                    thisObj.queueData = data.queue;
 
                     if (!thisObj.queueStatistics)
                     {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
index 1c4183b..8e5dfcd 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/TrustStore.js
@@ -80,7 +80,7 @@ define(["dojo/_base/lang",
                             .then(function (data)
                             {
                                 addStore.setupTypeStore(that.management, "TrustStore", that.modelObj);
-                                addStore.show(data[0], that.keyStoreUpdater.trustStoreData);
+                                addStore.show(data, that.keyStoreUpdater.trustStoreData);
                             }, util.xhrErrorHandler);
                     });
 
@@ -152,7 +152,7 @@ define(["dojo/_base/lang",
             this.management.load(this.modelObj, {excludeInheritedContext: true})
                 .then(function (data)
                 {
-                    that.trustStoreData = data[0];
+                    that.trustStoreData = data;
                     that.updateHeader();
                     that.tabObject.certificatesGrid.update(that.trustStoreData.certificateDetails);
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
index ba28dbb..2a10ef5 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHost.js
@@ -455,7 +455,7 @@ define(["dojo/parser",
                 })
                 .then(function (data)
                 {
-                    thisObj.vhostData = data[0] || {
+                    thisObj.vhostData = data || {
                             name: thisObj.modelObj.name
                         };
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
index a625618..90c8aeb 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/VirtualHostNode.js
@@ -260,7 +260,7 @@ define(["dojo/parser",
                 })
                 .then(function (data)
                 {
-                    that.nodeData = data[0] || {};
+                    that.nodeData = data || {};
                     that.updateUI(that.nodeData);
 
                     if (callback)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/accesscontrolprovider/AclFile.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/accesscontrolprovider/AclFile.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/accesscontrolprovider/AclFile.js
index 2e5512b..6c1fbbb 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/accesscontrolprovider/AclFile.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/accesscontrolprovider/AclFile.js
@@ -125,11 +125,8 @@ define(["dojo/_base/xhr",
             this.management.load(this.modelObj, {excludeInheritedContext: true})
                 .then(function (data)
                 {
-                    if (data[0])
-                    {
-                        that.aclProviderData = data[0];
-                        that.path.innerHTML = entities.encode(String(that.aclProviderData.path));
-                    }
+                    that.aclProviderData = data;
+                    that.path.innerHTML = entities.encode(String(that.aclProviderData.path));
                 }, function (error)
                 {
                     util.tabErrorHandler(error, {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp.js
index 76a39a3..c9573e1 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp.js
@@ -136,7 +136,7 @@ define(["dojo/dom",
             this.management.load(this.modelObj, {excludeInheritedContext: true})
                 .then(function (data)
                 {
-                    that.pluginData = data[0];
+                    that.pluginData = data;
                     that.httpBasicAuthenticationEnabled.innerHTML =
                         showBoolean(that.pluginData.httpBasicAuthenticationEnabled);
                     that.httpsBasicAuthenticationEnabled.innerHTML =

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp/edit.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp/edit.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp/edit.js
index e261261..4d93da6 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp/edit.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/plugin/managementhttp/edit.js
@@ -83,7 +83,7 @@ define(["dojo/_base/event",
                 })
                 .then(function (actualData)
                 {
-                    that._show(actualData[0]);
+                    that._show(actualData);
                 });
         },
         destroy: function ()

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
index c036a9e..cba72eb 100644
--- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
+++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/port/amqp/show.js
@@ -44,9 +44,7 @@ define(["dojo/query",
         var that = this;
         var gridProperties = {
             height: 400,
-            sortInfo: 2, /*
-             canSort: function(column) { return false; },
-             */
+            sortInfo: 2,
             plugins: {
                 indirectSelection: true,  // KW TODO checkme
                 pagination: {
@@ -111,25 +109,19 @@ define(["dojo/query",
                         })
                         .then(function (data)
                         {
-                            addVirtualHostAlias.show(that.management, aliasModelObj, data[0]);
+                            addVirtualHostAlias.show(that.management, aliasModelObj, data);
                         });
                 });
             }, gridProperties, EnhancedGrid);
-    }
+    };
 
     AmqpPort.prototype.update = function (restData)
     {
         if (this.virtualHostAliasesGrid)
         {
-            if (this.virtualHostAliasesGrid.update(restData.virtualhostaliases))
-            {
-                /*
-                 this.virtualHostAliasesGrid.grid.sort();
-                 this.virtualHostAliasesGrid.grid.update();
-                 */
-            }
+            this.virtualHostAliasesGrid.update(restData.virtualhostaliases);
         }
-    }
+    };
 
     return AmqpPort;
 });

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParserTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParserTest.java b/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParserTest.java
index 4c88912..dbfad86 100644
--- a/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParserTest.java
+++ b/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfoParserTest.java
@@ -65,6 +65,7 @@ public class RequestInfoParserTest extends QpidTestCase
 
         assertEquals("Unexpected request type", RequestInfo.RequestType.MODEL_OBJECT, info.getType());
         assertEquals("Unexpected model parts", Arrays.asList(vhnName, vhName), info.getModelParts());
+        assertTrue("Expected exact object request", info.isSingletonRequest());
     }
 
     public void testGetParent()
@@ -77,6 +78,7 @@ public class RequestInfoParserTest extends QpidTestCase
 
         assertEquals("Unexpected request type", RequestInfo.RequestType.MODEL_OBJECT, info.getType());
         assertEquals("Unexpected model parts", Arrays.asList(vhnName), info.getModelParts());
+        assertFalse("Expected exact object request", info.isSingletonRequest());
     }
 
     public void testGetTooManyParts()
@@ -335,5 +337,7 @@ public class RequestInfoParserTest extends QpidTestCase
         assertEquals("Unexpected request type", RequestInfo.RequestType.OPERATION, info.getType());
         assertEquals("Unexpected model parts", Arrays.asList(vhnName), info.getModelParts());
         assertEquals("Unexpected operation name", operationName, info.getOperationName());
+        assertTrue("Expected exact object request", info.isSingletonRequest());
+
     }
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java b/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
index 09c7b34..b4f474a 100644
--- a/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
+++ b/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
@@ -68,6 +68,9 @@ public class RestTestHelper
     private static final TypeReference<List<LinkedHashMap<String, Object>>> TYPE_LIST_OF_LINKED_HASH_MAPS = new TypeReference<List<LinkedHashMap<String, Object>>>()
     {
     };
+    private static final TypeReference<LinkedHashMap<String, Object>> TYPE_LINKED_HASH_MAPS = new TypeReference<LinkedHashMap<String, Object>>()
+    {
+    };
     public static final String API_BASE = "/api/latest/";
 
     private static final Logger LOGGER = LoggerFactory.getLogger(RestTestHelper.class);
@@ -257,11 +260,7 @@ public class RestTestHelper
         byte[] data = readConnectionInputStream(connection);
 
         ObjectMapper mapper = new ObjectMapper();
-
-        TypeReference<LinkedHashMap<String, Object>> typeReference = new TypeReference<LinkedHashMap<String, Object>>()
-        {
-        };
-        Map<String, Object> providedObject = mapper.readValue(new ByteArrayInputStream(data), typeReference);
+        Map<String, Object> providedObject = mapper.readValue(new ByteArrayInputStream(data), TYPE_LINKED_HASH_MAPS);
         return providedObject;
     }
 
@@ -346,15 +345,6 @@ public class RestTestHelper
         return response.get(0);
     }
 
-    public List<Map<String, Object>> postDataToPathAndGetList(String path, Map<String, Object> data) throws IOException
-    {
-        HttpURLConnection connection = openManagementConnection(path, "POST");
-        connection.connect();
-        writeJsonRequest(connection, data);
-        List<Map<String, Object>> response = readJsonResponseAsList(connection);
-        return response;
-    }
-
     public Map<String, Object> postDataToPathAndGetObject(String path, Map<String, Object> data) throws IOException
     {
         HttpURLConnection connection = openManagementConnection(path, "POST");
@@ -672,29 +662,29 @@ public class RestTestHelper
                                                        String attributeName,
                                                        Object newValue) throws Exception
     {
-        List<Map<String, Object>> nodeAttributes = getAttributesIgnoringNotFound(url);
+        Map<String, Object> nodeAttributes = getAttributesIgnoringNotFound(url);
         int timeout = 30000;
         long limit = System.currentTimeMillis() + timeout;
-        while(System.currentTimeMillis() < limit && (nodeAttributes.size() == 0 || !newValue.equals(nodeAttributes.get(0).get(attributeName))))
+        while(System.currentTimeMillis() < limit && (nodeAttributes == null|| !newValue.equals(nodeAttributes.get(attributeName))))
         {
             Thread.sleep(100l);
             nodeAttributes = getAttributesIgnoringNotFound(url);
         }
-        Map<String, Object> nodeData = nodeAttributes.get(0);
-        Assert.assertEquals("Attribute " + attributeName + " did not reach expected value within permitted timeout " + timeout + "ms.", newValue, nodeData.get(attributeName));
-        return nodeData;
+        Assert.assertEquals("Attribute " + attributeName + " did not reach expected value within permitted timeout " + timeout + "ms.", newValue, nodeAttributes
+                .get(attributeName));
+        return nodeAttributes;
     }
 
-    private List<Map<String, Object>> getAttributesIgnoringNotFound(String url) throws IOException
+    private Map<String, Object> getAttributesIgnoringNotFound(String url) throws IOException
     {
-        List<Map<String, Object>> nodeAttributes;
+        Map<String, Object> nodeAttributes;
         try
         {
-            nodeAttributes = getJsonAsList(url);
+            nodeAttributes = getJsonAsMap(url);
         }
         catch(FileNotFoundException e)
         {
-            nodeAttributes = Collections.emptyList();
+            nodeAttributes = null;
         }
         return nodeAttributes;
     }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/server/queue/LiveQueueOperationsTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/server/queue/LiveQueueOperationsTest.java b/systests/src/test/java/org/apache/qpid/server/queue/LiveQueueOperationsTest.java
index 21ee47b..f59a723 100644
--- a/systests/src/test/java/org/apache/qpid/server/queue/LiveQueueOperationsTest.java
+++ b/systests/src/test/java/org/apache/qpid/server/queue/LiveQueueOperationsTest.java
@@ -127,7 +127,7 @@ public class LiveQueueOperationsTest extends QpidBrokerTestCase
 
     private Map<String, Object> getStatistics(final RestTestHelper restTestHelper, final String objectUrl) throws Exception
     {
-        Map<String, Object> object = restTestHelper.getJsonAsSingletonList(objectUrl);
+        Map<String, Object> object = restTestHelper.getJsonAsMap(objectUrl);
         @SuppressWarnings("unchecked")
         Map<String, Object> statistics = (Map<String, Object>) object.get("statistics");
         return statistics;

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/server/queue/ModelTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/server/queue/ModelTest.java b/systests/src/test/java/org/apache/qpid/server/queue/ModelTest.java
index b2d672e..3c41134 100644
--- a/systests/src/test/java/org/apache/qpid/server/queue/ModelTest.java
+++ b/systests/src/test/java/org/apache/qpid/server/queue/ModelTest.java
@@ -195,7 +195,7 @@ public class ModelTest extends QpidBrokerTestCase
     private Map<String, Object> getQueueAttributes(final String queueName) throws IOException
     {
         String queueUrl = getQueueUrl(queueName);
-        return _restTestHelper.getJsonAsSingletonList(queueUrl);
+        return _restTestHelper.getJsonAsMap(queueUrl);
     }
 
     private String getQueueUrl(final String queueName)

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java b/systests/src/test/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
index 908c25e..0fc215d 100644
--- a/systests/src/test/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
+++ b/systests/src/test/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
@@ -268,7 +268,7 @@ public class ProducerFlowControlTest extends AbstractTestLogging
         String queueUrl = String.format("queue/%1$s/%1$s/%2$s", TestBrokerConfiguration.ENTRY_NAME_VIRTUAL_HOST, queueName);
 
         //check current attribute values are 0 as expected
-        Map<String, Object> queueAttributes = _restTestHelper.getJsonAsSingletonList(queueUrl);
+        Map<String, Object> queueAttributes = _restTestHelper.getJsonAsMap(queueUrl);
         assertEquals("Capacity was not the expected value", 0,
                      ((Number) queueAttributes.get(org.apache.qpid.server.model.Queue.MAXIMUM_QUEUE_DEPTH_BYTES)).intValue());
 
@@ -374,7 +374,7 @@ public class ProducerFlowControlTest extends AbstractTestLogging
 
     private boolean isFlowStopped(final String queueUrl) throws IOException
     {
-        Map<String, Object> queueAttributes2 = _restTestHelper.getJsonAsSingletonList(queueUrl);
+        Map<String, Object> queueAttributes2 = _restTestHelper.getJsonAsMap(queueUrl);
         return (boolean) queueAttributes2.get(org.apache.qpid.server.model.Queue.QUEUE_FLOW_STOPPED);
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/AccessControlProviderRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/AccessControlProviderRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/AccessControlProviderRestTest.java
index bca172e..8ca674d 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/AccessControlProviderRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/AccessControlProviderRestTest.java
@@ -191,8 +191,12 @@ public class AccessControlProviderRestTest extends QpidRestTestCase
         startDefaultBroker(true);
 
         getRestTestHelper().setUsernameAndPassword(SystemConfig.MANAGEMENT_MODE_USER_NAME, MANAGEMENT_MODE_PASSWORD);
-
-        Map<String, Object> acl = getRestTestHelper().getJsonAsSingletonList("accesscontrolprovider/" + TestBrokerConfiguration.ENTRY_NAME_ACL_FILE + "?" + RestServlet.OVERSIZE_PARAM + "=" + (file.getAbsolutePath().length()+10));
+        Map<String, Object> acl = getRestTestHelper().getJsonAsMap("accesscontrolprovider/"
+                                                                   + TestBrokerConfiguration.ENTRY_NAME_ACL_FILE
+                                                                   + "?"
+                                                                   + RestServlet.OVERSIZE_PARAM
+                                                                   + "="
+                                                                   + (file.getAbsolutePath().length() + 10));
         assertEquals("Unexpected id", id.toString(), acl.get(AccessControlProvider.ID));
         assertEquals("Unexpected path", file.getAbsolutePath() , acl.get(AclFileAccessControlProvider.PATH));
         assertEquals("Unexpected state", State.ERRORED.name(), acl.get(AccessControlProvider.STATE));

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
index ff9f707..2de5117 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/AnonymousAccessRestTest.java
@@ -71,7 +71,7 @@ public class AnonymousAccessRestTest extends QpidRestTestCase
     {
         startBrokerNow();
 
-        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsMap("broker");
         assertNotNull("Unexpected broker attributes", brokerDetails);
         assertNotNull("Unexpected value of attribute " + Broker.ID, brokerDetails.get(Broker.ID));
     }
@@ -86,7 +86,7 @@ public class AnonymousAccessRestTest extends QpidRestTestCase
 
         getRestTestHelper().submitRequest("broker", "PUT", brokerAttributes, HttpServletResponse.SC_OK);
 
-        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsMap("broker");
         assertNotNull("Unexpected broker attributes", brokerDetails);
         assertNotNull("Unexpected value of attribute " + Broker.ID, brokerDetails.get(Broker.ID));
         assertEquals("Unexpected default virtual host", newBrokerName, brokerDetails.get(Broker.NAME));

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
index 04c2202..52df20d 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java
@@ -20,6 +20,9 @@
  */
 package org.apache.qpid.systest.rest;
 
+import static javax.servlet.http.HttpServletResponse.SC_CONFLICT;
+import static javax.servlet.http.HttpServletResponse.SC_CREATED;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
@@ -57,8 +60,8 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase
             boolean managesPrincipals = true;
             String type = PlainPasswordDatabaseAuthenticationManager.PROVIDER_TYPE;
             assertProvider(managesPrincipals, type , provider);
-            Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/"
-                    + provider.get(AuthenticationProvider.NAME));
+            Map<String, Object> data = getRestTestHelper().getJsonAsMap("authenticationprovider/"
+                                                                        + provider.get(AuthenticationProvider.NAME));
             assertNotNull("Cannot load data for " + provider.get(AuthenticationProvider.NAME), data);
             assertProvider(managesPrincipals, type, data);
         }
@@ -97,14 +100,10 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase
             attributes.put(AuthenticationProvider.TYPE, PlainPasswordDatabaseAuthenticationManager.PROVIDER_TYPE);
             attributes.put(ExternalFileBasedAuthenticationManager.PATH, principalDatabase.getAbsolutePath());
 
-            int responseCode = getRestTestHelper().submitRequest("authenticationprovider/" + providerName, "PUT", attributes);
-            assertEquals("failed to create authentication provider", 201, responseCode);
+            getRestTestHelper().submitRequest("authenticationprovider/" + providerName, "PUT", attributes, SC_CREATED);
 
-            List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("authenticationprovider/" + providerName);
-            assertNotNull("Providers details cannot be null", providerDetails);
-            assertEquals("Unexpected number of providers", 1, providerDetails.size());
-            Map<String, Object> provider = providerDetails.get(0);
-            assertEquals("Unexpected state", State.ACTIVE.toString(), provider.get(AuthenticationProvider.STATE));
+            Map<String, Object> providerDetails = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
+            assertEquals("Unexpected state", State.ACTIVE.toString(), providerDetails.get(AuthenticationProvider.STATE));
         }
         finally
         {
@@ -118,14 +117,10 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase
         attributes.put(AuthenticationProvider.NAME, providerName);
         attributes.put(AuthenticationProvider.TYPE, AnonymousAuthenticationManager.PROVIDER_TYPE);
 
-        int responseCode = getRestTestHelper().submitRequest("authenticationprovider/" + providerName, "PUT", attributes);
-        assertEquals("Unexpected response code", 201, responseCode);
+        getRestTestHelper().submitRequest("authenticationprovider/" + providerName, "PUT", attributes, SC_CREATED);
 
-        List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("authenticationprovider/" + providerName);
-        assertNotNull("Providers details cannot be null", providerDetails);
-        assertEquals("Unexpected number of providers", 1, providerDetails.size());
-        Map<String, Object> provider = providerDetails.get(0);
-        assertProvider(false, AnonymousAuthenticationManager.PROVIDER_TYPE, provider);
+        Map<String, Object> providerDetails = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
+        assertProvider(false, AnonymousAuthenticationManager.PROVIDER_TYPE, providerDetails);
     }
 
     public void testUpdateAuthenticationProviderIdFails() throws Exception
@@ -162,16 +157,11 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase
         portAttributes.put(Port.AUTHENTICATION_PROVIDER, providerName);
         portAttributes.put(Port.PORT, 0);
 
-        responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", portAttributes);
-        assertEquals("Unexpected response code for port creation", 201, responseCode);
-
-        responseCode = getRestTestHelper().submitRequest("authenticationprovider/" + providerName , "DELETE");
-        assertEquals("Unexpected response code for deletion of provider in use", 409, responseCode);
+        getRestTestHelper().submitRequest("port/" + portName, "PUT", portAttributes, SC_CREATED);
+        getRestTestHelper().submitRequest("authenticationprovider/" + providerName , "DELETE", SC_CONFLICT);
 
-        List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("authenticationprovider/" + providerName);
-        assertNotNull("Providers details cannot be null", providerDetails);
-        assertEquals("Unexpected number of providers", 1, providerDetails.size());
-        assertProvider(false, AnonymousAuthenticationManager.PROVIDER_TYPE, providerDetails.get(0));
+        Map<String, Object> providerDetails = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
+        assertProvider(false, AnonymousAuthenticationManager.PROVIDER_TYPE, providerDetails);
     }
 
     public void testDeleteOfUnusedAuthenticationProvider() throws Exception
@@ -216,7 +206,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase
 
         getRestTestHelper().setUsernameAndPassword(SystemConfig.MANAGEMENT_MODE_USER_NAME, MANAGEMENT_MODE_PASSWORD);
 
-        Map<String, Object> provider = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/" + providerName);
+        Map<String, Object> provider = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
         assertEquals("Unexpected id", id.toString(), provider.get(AuthenticationProvider.ID));
         assertEquals("Unexpected name", providerName, provider.get(AuthenticationProvider.NAME));
         assertEquals("Unexpected path", file.getAbsolutePath() , provider.get(ExternalFileBasedAuthenticationManager.PATH));
@@ -253,7 +243,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase
 
         getRestTestHelper().setUsernameAndPassword(SystemConfig.MANAGEMENT_MODE_USER_NAME, MANAGEMENT_MODE_PASSWORD);
 
-        Map<String, Object> provider = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/" + providerName);
+        Map<String, Object> provider = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
         assertEquals("Unexpected id", id.toString(), provider.get(AuthenticationProvider.ID));
         assertEquals("Unexpected name", providerName, provider.get(AuthenticationProvider.NAME));
         assertEquals("Unexpected path", file.getAbsolutePath() , provider.get(ExternalFileBasedAuthenticationManager.PATH));
@@ -273,7 +263,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase
             int status = getRestTestHelper().submitRequest("authenticationprovider/" + providerName, "PUT", attributes);
             assertEquals("ACL was not deleted", 200, status);
 
-            provider = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/" + providerName);
+            provider = getRestTestHelper().getJsonAsMap("authenticationprovider/" + providerName);
             assertEquals("Unexpected id", id.toString(), provider.get(AuthenticationProvider.ID));
             assertEquals("Unexpected name", providerName, provider.get(AuthenticationProvider.NAME));
             assertEquals("Unexpected path", file.getAbsolutePath() , provider.get(

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsClientCertAuthTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsClientCertAuthTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsClientCertAuthTest.java
index e82e477..2df866a 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsClientCertAuthTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsClientCertAuthTest.java
@@ -80,7 +80,7 @@ public class BrokerRestHttpsClientCertAuthTest extends QpidRestTestCase
         _restTestHelper.setKeystore(KEYSTORE, KEYSTORE_PASSWORD);
         _restTestHelper.setClientAuthAlias(CERT_ALIAS_APP1);
 
-        Map<String, Object> saslData = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> saslData = getRestTestHelper().getJsonAsMap("broker");
 
         Asserts.assertAttributesPresent(saslData, "modelVersion");
     }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
index 776ac94..8a96747 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
@@ -60,7 +60,7 @@ public class BrokerRestHttpsTest extends QpidRestTestCase
 
     public void testGetWithHttps() throws Exception
     {
-        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsMap("broker");
 
         Asserts.assertAttributesPresent(brokerDetails, BrokerModel.getInstance().getTypeRegistry().getAttributeNames(Broker.class),
                 Broker.PROCESS_PID,

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/d128dea9/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
index c0b3650..8e5ac0f 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/BrokerRestTest.java
@@ -71,7 +71,7 @@ public class BrokerRestTest extends QpidRestTestCase
 
     public void testGet() throws Exception
     {
-        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsSingletonList("broker?depth=1");
+        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsMap("broker?depth=1");
 
         assertBrokerAttributes(brokerDetails);
 
@@ -123,7 +123,7 @@ public class BrokerRestTest extends QpidRestTestCase
         assertEquals("Unexpected update response", 200, response);
 
         restartDefaultBroker();
-        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsMap("broker");
         assertBrokerAttributes(brokerAttributes, brokerDetails);
     }
 
@@ -145,7 +145,7 @@ public class BrokerRestTest extends QpidRestTestCase
         int response = getRestTestHelper().submitRequest("broker", "PUT", attributes);
         assertEquals("Unexpected update response", 200, response);
 
-        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsSingletonList("broker");
+        Map<String, Object> brokerDetails = getRestTestHelper().getJsonAsMap("broker");
         assertBrokerAttributes(validAttributes, brokerDetails);
     }
 
@@ -168,7 +168,7 @@ public class BrokerRestTest extends QpidRestTestCase
     public void testEffectiveInheritedContext() throws IOException
     {
         Map<String, Object> brokerDetails =
-                getRestTestHelper().getJsonAsSingletonList("broker?excludeInheritedContext=false&actuals=false");
+                getRestTestHelper().getJsonAsMap("broker?excludeInheritedContext=false&actuals=false");
         Map<String, String> brokerContext = (Map<String, String>) brokerDetails.get(ConfiguredObject.CONTEXT);
         assertEquals("Unexpected test context variable value",
                      SYSTEM_PROPERTY_ACTUAL_VALUE,
@@ -181,7 +181,7 @@ public class BrokerRestTest extends QpidRestTestCase
     public void testActualNotInheritedContext() throws IOException
     {
         Map<String, Object> brokerDetails =
-                getRestTestHelper().getJsonAsSingletonList("broker?excludeInheritedContext=true&actuals=true");
+                getRestTestHelper().getJsonAsMap("broker?excludeInheritedContext=true&actuals=true");
 
         assertFalse("Unexpected context", brokerDetails.containsKey(ConfiguredObject.CONTEXT));
 
@@ -191,7 +191,7 @@ public class BrokerRestTest extends QpidRestTestCase
         getRestTestHelper().submitRequest("broker", "POST", attributes);
 
         brokerDetails =
-                getRestTestHelper().getJsonAsSingletonList("broker?excludeInheritedContext=true&actuals=true");
+                getRestTestHelper().getJsonAsMap("broker?excludeInheritedContext=true&actuals=true");
         Map<String, Object> brokerContext =
                 new HashMap<>((Map<String, Object>) brokerDetails.get(ConfiguredObject.CONTEXT));
         Map<String, String> expectedContext = new HashMap<>();
@@ -203,7 +203,7 @@ public class BrokerRestTest extends QpidRestTestCase
     public void testEffectiveNotInheritedContext() throws IOException
     {
         Map<String, Object> brokerDetails =
-                getRestTestHelper().getJsonAsSingletonList("broker?excludeInheritedContext=true&actuals=false");
+                getRestTestHelper().getJsonAsMap("broker?excludeInheritedContext=true&actuals=false");
 
         assertFalse("Unexpected context", brokerDetails.containsKey(ConfiguredObject.CONTEXT));
 
@@ -213,7 +213,7 @@ public class BrokerRestTest extends QpidRestTestCase
         getRestTestHelper().submitRequest("broker", "POST", attributes);
 
         brokerDetails =
-                getRestTestHelper().getJsonAsSingletonList("broker?excludeInheritedContext=true&actuals=false");
+                getRestTestHelper().getJsonAsMap("broker?excludeInheritedContext=true&actuals=false");
 
         Map<String, String> expectedContext = new HashMap<>();
         Map<String, Object> brokerContext =


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org