From 001bf3f0bf4407d73807bf93259ea53efb631bea Mon Sep 17 00:00:00 2001 From: Andrew Donald Kennedy Date: Mon, 26 Jul 2010 09:28:42 +0000 Subject: QPID-2697: Print AMQConnectionURL options git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@979212 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/client/AMQConnectionURL.java | 18 +++++++++++++----- .../unit/client/connectionurl/ConnectionURLTest.java | 12 ++++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) (limited to 'qpid/java/client') diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java index 65208722d7..93b4c51a8f 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java @@ -254,14 +254,22 @@ public class AMQConnectionURL implements ConnectionURL private String optionsToString() { - StringBuffer sb = new StringBuffer(); - - sb.append("?" + OPTIONS_BROKERLIST + "='"); - + StringBuffer sb = new StringBuffer("?"); + + if (!_options.isEmpty()) + { + for (Map.Entry option : _options.entrySet()) + { + sb.append(option.getKey()).append("='").append(option.getValue()).append("'"); + sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR); + } + } + + sb.append(OPTIONS_BROKERLIST).append("='"); for (BrokerDetails service : _brokers) { sb.append(service.toString()); - sb.append(';'); + sb.append(URLHelper.BROKER_SEPARATOR); } sb.deleteCharAt(sb.length() - 1); diff --git a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java index 7400b524fd..2be3720c20 100644 --- a/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java +++ b/qpid/java/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java @@ -536,6 +536,18 @@ public class ConnectionURLTest extends TestCase assertTrue(connectionurl.getOption("timeout").equals("200")); assertTrue(connectionurl.getOption("immediatedelivery").equals("true")); } + + /** + * Test that options other than failover and brokerlist are returned in the string representation. + *

+ * QPID-2697 + */ + public void testOptionToString() throws Exception + { + ConnectionURL url = new AMQConnectionURL("amqp://user:pass@temp/test?maxprefetch='12345'&brokerlist='tcp://localhost:5672'"); + + assertTrue("String representation should contain options and values", url.toString().contains("maxprefetch='12345'")); + } public static junit.framework.Test suite() { -- cgit v1.2.1