diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2008-02-27 19:56:58 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2008-02-27 19:56:58 +0000 |
commit | c55debb9f1f72abca18e8087734d18c4d5624f70 (patch) | |
tree | fba53f5d363a539c788fa3faf508984e34e2e4f3 | |
parent | 4eb9afdd5f2bedc0f4dd8b9f3da44945487b92cc (diff) | |
download | qpid-python-c55debb9f1f72abca18e8087734d18c4d5624f70.tar.gz |
Correct the constant OPTION_BINDING_KEY that resulted in a test case failure
Modified the AMQBindingURL to fix an error in the toString method
Added more test cases to the main method in the BindingURLParser for quick testing, these cases are also present as unit tests.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@631695 13f79535-47bb-0310-9956-ffa450edef68
3 files changed, 24 insertions, 15 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java b/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java index 42f125920c..998242925c 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java @@ -209,20 +209,28 @@ public class AMQBindingURL implements BindingURL sb.append(URLHelper.printOptions(_options)); // temp hack - if (sb.toString().indexOf("?") == -1) + if (getRoutingKey() == null || getRoutingKey().toString().equals("")) { - sb.append("?"); + + if (sb.toString().indexOf("?") == -1) + { + sb.append("?"); + } + else + { + sb.append("&"); + } + + for (AMQShortString key :_bindingKeys) + { + sb.append(BindingURL.OPTION_BINDING_KEY).append("='").append(key.toString()).append("'&"); + } + + return sb.toString().substring(0,sb.toString().length()-1); } else { - sb.append("&"); + return sb.toString(); } - - for (AMQShortString key :_bindingKeys) - { - sb.append("bindingKey='").append(key.toString()).append("'&"); - } - - return sb.toString().substring(0,sb.toString().length()-1); } } diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java index c4346d721b..25450fea64 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java @@ -34,7 +34,7 @@ public interface BindingURL public static final String OPTION_CLIENTID = "clientid"; public static final String OPTION_SUBSCRIPTION = "subscription"; public static final String OPTION_ROUTING_KEY = "routingkey"; - public static final String OPTION_BINDING_KEY = "bindingKey"; + public static final String OPTION_BINDING_KEY = "bindingkey"; String getURL(); diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java index f7e0b53cb1..5d26e7e65b 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java @@ -414,13 +414,14 @@ public class BindingURLParser String[] urls = new String[] { "topic://amq.topic//myTopic?routingkey='stocks.#'", - "topic://amq.topic/message_queue?bindingKey='usa.*'&bindingKey='control',exclusive='true'", - "topic://amq.topic//?bindingKey='usa.*',bindingKey='control',exclusive='true'", - "direct://amq.direct/dummyDest/myQueue?routingKey='abc.*'", + "topic://amq.topic/message_queue?bindingkey='usa.*'&bindingkey='control',exclusive='true'", + "topic://amq.topic//?bindingKey='usa.*',bindingkey='control',exclusive='true'", + "direct://amq.direct/dummyDest/myQueue?routingkey='abc.*'", "exchange.Class://exchangeName/Destination/Queue", "exchangeClass://exchangeName/Destination/?option='value',option2='value2'", "IBMPerfQueue1?durable='true'", - "exchangeClass://exchangeName/Destination/?bindingKey='key1',bindingKey='key2'" + "exchangeClass://exchangeName/Destination/?bindingkey='key1',bindingkey='key2'", + "exchangeClass://exchangeName/Destination/?bindingkey='key1'&routingkey='key2'" }; try |