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]