You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/11/01 17:34:00 UTC
[2/2] camel git commit: Fixed CamelCatalog to construct endpoint uris
for netty endpoints
Fixed CamelCatalog to construct endpoint uris for netty endpoints
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8e169555
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8e169555
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8e169555
Branch: refs/heads/camel-2.16.x
Commit: 8e169555793de37d48cf11b130ad446fb42c569d
Parents: 836eb87
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Nov 1 17:36:13 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Nov 1 17:36:59 2015 +0100
----------------------------------------------------------------------
.../java/org/apache/camel/catalog/DefaultCamelCatalog.java | 6 +++++-
.../test/java/org/apache/camel/catalog/CamelCatalogTest.java | 7 +++++++
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/8e169555/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index ed3837c..59e2ded 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -716,6 +716,7 @@ public class DefaultCamelCatalog implements CamelCatalog {
int range = 0;
boolean first = true;
+ boolean hasQuestionmark = false;
for (int i = 0; i < options.size(); i++) {
String key = options.get(i);
String key2 = options2.get(i);
@@ -726,6 +727,7 @@ public class DefaultCamelCatalog implements CamelCatalog {
if (!first) {
sb.append(token);
}
+ hasQuestionmark |= token.contains("?") || key.contains("?");
sb.append(key2);
first = false;
}
@@ -737,11 +739,13 @@ public class DefaultCamelCatalog implements CamelCatalog {
String key2 = options2.get(range);
sb.append(token);
sb.append(key2);
+ hasQuestionmark |= token.contains("?") || key2.contains("?");
range++;
}
if (!copy.isEmpty()) {
- sb.append('?');
+ // the last option may already contain a ? char, if so we should use & instead of ?
+ sb.append(hasQuestionmark ? ampersand : '?');
String query = createQueryString(copy, ampersand);
sb.append(query);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/8e169555/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index 98962df..5f0b6bb 100644
--- a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -160,6 +160,13 @@ public class CamelCatalogTest extends TestCase {
String uri = catalog.asEndpointUri("netty4-http", map);
assertEquals("netty4-http:http:localhost:8080/foo/bar?disconnect=true", uri);
+
+ // lets set a query parameter in the path
+ map.put("path", "foo/bar?verbose=true");
+ map.put("disconnect", "true");
+
+ uri = catalog.asEndpointUri("netty4-http", map);
+ assertEquals("netty4-http:http:localhost:8080/foo/bar?verbose=true&disconnect=true", uri);
}
@Test