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]

Reply via email to