Author: orudyy
Date: Fri Mar 29 13:26:05 2013
New Revision: 1462470

URL: http://svn.apache.org/r1462470
Log:
QPID-4661: Fix broker attribute conversion bug

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1462470&r1=1462469&r2=1462470&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
 Fri Mar 29 13:26:05 2013
@@ -1028,9 +1028,9 @@ public class BrokerAdapter extends Abstr
         Collection<String> names = AVAILABLE_ATTRIBUTES;
         for (String name : names)
         {
-            if (attributes.containsKey(name))
+            if (convertedAttributes.containsKey(name))
             {
-                Object desired = attributes.get(name);
+                Object desired = convertedAttributes.get(name);
                 Object expected = getAttribute(name);
                 if (changeAttribute(name, expected, desired))
                 {

Modified: 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java?rev=1462470&r1=1462469&r2=1462470&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
 (original)
+++ 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
 Fri Mar 29 13:26:05 2013
@@ -34,7 +34,6 @@ import org.apache.qpid.server.model.Life
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.VirtualHost;
-import org.apache.qpid.server.model.adapter.BrokerAdapter;
 import org.apache.qpid.test.utils.QpidTestCase;
 import org.apache.qpid.test.utils.TestBrokerConfiguration;
 import org.apache.qpid.test.utils.TestSSLConstants;
@@ -103,6 +102,28 @@ public class BrokerRestTest extends Qpid
         assertBrokerAttributes(brokerAttributes, brokerDetails);
     }
 
+    public void testPutUpdateWhereNumericAttributesAreSetAsStringValues() 
throws Exception
+    {
+        Map<String, Object> validAttributes = getValidBrokerAttributes();
+        Map<String, Object> attributes = new HashMap<String, Object>();
+
+        for (Map.Entry<String, Object> entry : validAttributes.entrySet())
+        {
+            Object value = entry.getValue();
+            if (value instanceof Number)
+            {
+                value = String.valueOf(value);
+            }
+            attributes.put(entry.getKey(), value);
+        }
+
+        int response = getRestTestHelper().submitRequest("/rest/broker", 
"PUT", attributes);
+        assertEquals("Unexpected update response", 200, response);
+
+        Map<String, Object> brokerDetails = 
getRestTestHelper().getJsonAsSingletonList("/rest/broker");
+        assertBrokerAttributes(validAttributes, brokerDetails);
+    }
+
     public void testPutToUpdateWithInvalidAttributeValues() throws Exception
     {
         Map<String, Object> invalidAttributes = new HashMap<String, Object>();



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to