Repository: camel Updated Branches: refs/heads/camel-2.16.x e91ec814b -> bcd0ddef3 refs/heads/master 91e312012 -> 88e220ded
Fixing CamelCatalog to parse endpoint uris as options. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/88e220de Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/88e220de Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/88e220de Branch: refs/heads/master Commit: 88e220dedef5fc4905ea468dca16701a78d2084f Parents: 91e3120 Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Nov 3 16:49:07 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Nov 3 16:49:07 2015 +0100 ---------------------------------------------------------------------- .../apache/camel/catalog/DefaultCamelCatalog.java | 5 +++++ .../apache/camel/catalog/CamelCatalogTest.java | 18 ++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/88e220de/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 5374194..41b07fa 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 @@ -486,6 +486,9 @@ public class DefaultCamelCatalog implements CamelCatalog { throw new IllegalArgumentException("Endpoint with scheme " + scheme + " has no syntax defined in the json schema"); } + // clip the scheme from the syntax + syntax = after(syntax, ":"); + // parse the syntax and find the same group in the uri Matcher matcher = SYNTAX_PATTERN.matcher(syntax); List<String> word = new ArrayList<String>(); @@ -496,6 +499,8 @@ public class DefaultCamelCatalog implements CamelCatalog { } } + // clip the scheme from the uri + uri = after(uri, ":"); String uriPath = stripQuery(uri); // if there is only one, then use uriPath as is http://git-wip-us.apache.org/repos/asf/camel/blob/88e220de/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 4b8dc31..9de5f88 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 @@ -20,10 +20,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import junit.framework.TestCase; - import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import junit.framework.TestCase; import org.junit.Test; import static org.apache.camel.catalog.CatalogHelper.loadText; @@ -216,6 +215,21 @@ public class CamelCatalogTest extends TestCase { } @Test + public void testEndpointPropertiesNetty4http() throws Exception { + Map<String, String> map = catalog.endpointProperties("netty4-http:http:localhost:8080/foo/bar?disconnect=true&keepAlive=false"); + assertNotNull(map); + assertEquals(6, map.size()); + + assertEquals("http", map.get("protocol")); + assertEquals("localhost", map.get("host")); + assertEquals("8080", map.get("port")); + // TODO: fix me later + //assertEquals("foo/bar", map.get("path")); + assertEquals("true", map.get("disconnect")); + assertEquals("false", map.get("keepAlive")); + } + + @Test public void testEndpointPropertiesJms() throws Exception { Map<String, String> map = catalog.endpointProperties("jms:queue:foo"); assertNotNull(map);