Author: orudyy
Date: Thu Jun 27 13:23:18 2013
New Revision: 1497347
URL: http://svn.apache.org/r1497347
Log:
QPID-4943: Allow setting client connection property 'qpid.close_when_no_route'
as string and boolean
Added:
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolEngineTest.java
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java?rev=1497347&r1=1497346&r2=1497347&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
Thu Jun 27 13:23:18 2013
@@ -1085,10 +1085,10 @@ public class AMQProtocolEngine implement
_clientProperties = clientProperties;
if (_clientProperties != null)
{
- Boolean closeWhenNoRoute =
_clientProperties.getBoolean(ConnectionStartProperties.QPID_CLOSE_WHEN_NO_ROUTE);
+ String closeWhenNoRoute =
_clientProperties.getString(ConnectionStartProperties.QPID_CLOSE_WHEN_NO_ROUTE);
if (closeWhenNoRoute != null)
{
- _closeWhenNoRoute = closeWhenNoRoute;
+ _closeWhenNoRoute = Boolean.parseBoolean(closeWhenNoRoute);
if(_logger.isDebugEnabled())
{
_logger.debug("Client set closeWhenNoRoute=" +
_closeWhenNoRoute + " for protocol engine " + this);
Added:
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolEngineTest.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolEngineTest.java?rev=1497347&view=auto
==============================================================================
---
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolEngineTest.java
(added)
+++
qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/protocol/AMQProtocolEngineTest.java
Thu Jun 27 13:23:18 2013
@@ -0,0 +1,72 @@
+package org.apache.qpid.server.protocol;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.qpid.framing.FieldTable;
+import org.apache.qpid.properties.ConnectionStartProperties;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.util.BrokerTestHelper;
+import org.apache.qpid.test.utils.QpidTestCase;
+import org.apache.qpid.transport.network.NetworkConnection;
+
+public class AMQProtocolEngineTest extends QpidTestCase
+{
+ private Broker _broker;
+ private Port _port;
+ private NetworkConnection _network;
+ private Transport _transport;
+
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ BrokerTestHelper.setUp();
+ _broker = BrokerTestHelper.createBrokerMock();
+
when(_broker.getAttribute(Broker.CONNECTION_CLOSE_WHEN_NO_ROUTE)).thenReturn(true);
+
+ _port = mock(Port.class);
+ _network = mock(NetworkConnection.class);
+ _transport = Transport.TCP;
+ }
+
+ public void tearDown() throws Exception
+ {
+ try
+ {
+ super.tearDown();
+ }
+ finally
+ {
+ BrokerTestHelper.tearDown();
+ }
+ }
+
+ public void testSetClientPropertiesForNoRouteProvidedAsString()
+ {
+ AMQProtocolEngine engine = new AMQProtocolEngine(_broker, _network, 0,
_port, _transport);
+ assertTrue("Unexpected closeWhenNoRoute before client properties set",
engine.isCloseWhenNoRoute());
+
+ Map<String, Object> clientProperties = new HashMap<String, Object>();
+
clientProperties.put(ConnectionStartProperties.QPID_CLOSE_WHEN_NO_ROUTE,
Boolean.FALSE.toString());
+
engine.setClientProperties(FieldTable.convertToFieldTable(clientProperties));
+
+ assertFalse("Unexpected closeWhenNoRoute after client properties set",
engine.isCloseWhenNoRoute());
+ }
+
+ public void testSetClientPropertiesForNoRouteProvidedAsBoolean()
+ {
+ AMQProtocolEngine engine = new AMQProtocolEngine(_broker, _network, 0,
_port, _transport);
+ assertTrue("Unexpected closeWhenNoRoute before client properties set",
engine.isCloseWhenNoRoute());
+
+ Map<String, Object> clientProperties = new HashMap<String, Object>();
+
clientProperties.put(ConnectionStartProperties.QPID_CLOSE_WHEN_NO_ROUTE,
Boolean.FALSE);
+
engine.setClientProperties(FieldTable.convertToFieldTable(clientProperties));
+
+ assertFalse("Unexpected closeWhenNoRoute after client properties set",
engine.isCloseWhenNoRoute());
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]