diff options
Diffstat (limited to 'qpid/java')
2 files changed, 25 insertions, 5 deletions
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<String, String> 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. + * <p> + * 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() { |
