summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2008-02-27 19:56:58 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2008-02-27 19:56:58 +0000
commitc55debb9f1f72abca18e8087734d18c4d5624f70 (patch)
treefba53f5d363a539c788fa3faf508984e34e2e4f3
parent4eb9afdd5f2bedc0f4dd8b9f3da44945487b92cc (diff)
downloadqpid-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
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java28
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java2
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java9
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