Repository: camel Updated Branches: refs/heads/camel-2.15.x f2f46faa8 -> d98526b73 refs/heads/master b60903a7b -> 390e6c237
CAMEL-8509: camel-catalog - Add api to parse endpoint uri and reverse Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/390e6c23 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/390e6c23 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/390e6c23 Branch: refs/heads/master Commit: 390e6c2370b6b15001767c875ae65c3630721ba8 Parents: b60903a Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Mar 26 17:29:54 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Mar 26 17:29:54 2015 +0100 ---------------------------------------------------------------------- .../org/apache/camel/catalog/DefaultCamelCatalog.java | 11 +++++++++++ .../org/apache/camel/catalog/CamelCatalogTest.java | 13 ++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/390e6c23/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 529c83a..f4732b1 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 @@ -673,6 +673,7 @@ public class DefaultCamelCatalog implements CamelCatalog { // build the endpoint StringBuilder sb = new StringBuilder(); + int range = 0; for (int i = 0; i < options.size(); i++) { String key = options.get(i); String key2 = options2.get(i); @@ -683,7 +684,17 @@ public class DefaultCamelCatalog implements CamelCatalog { sb.append(token); sb.append(key2); } + range++; } + // append any extra options that was in surplus for the last + while (range < options2.size()) { + String token = tokens[range]; + String key2 = options2.get(range); + sb.append(token); + sb.append(key2); + range++; + } + if (!copy.isEmpty()) { sb.append('?'); String query = createQueryString(copy); http://git-wip-us.apache.org/repos/asf/camel/blob/390e6c23/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 de5e0cd..bed519f 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 @@ -92,7 +92,18 @@ public class CamelCatalogTest extends TestCase { } @Test - public void testAsEndpointUriMap() throws Exception { + public void testAsEndpointUriMapFile() throws Exception { + Map<String, String> map = new HashMap<String, String>(); + map.put("directoryName", "src/data/inbox"); + map.put("noop", "true"); + map.put("delay", "5000"); + + String uri = catalog.asEndpointUri("file", map); + assertEquals("file:src/data/inbox?delay=5000&noop=true", uri); + } + + @Test + public void testAsEndpointUriMapFtp() throws Exception { Map<String, String> map = new HashMap<String, String>(); map.put("host", "someserver"); map.put("port", "21");