Repository: camel Updated Branches: refs/heads/master 0d7cfb621 -> 7eb6eb7fc
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/7eb6eb7f Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7eb6eb7f Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7eb6eb7f Branch: refs/heads/master Commit: 7eb6eb7fc0a344e29876533b127b7550ce07083b Parents: 0d7cfb6 Author: Claus Ibsen <[email protected]> Authored: Thu Mar 26 09:48:16 2015 +0100 Committer: Claus Ibsen <[email protected]> Committed: Thu Mar 26 09:48:25 2015 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/camel/catalog/CamelCatalog.java | 8 ++++++++ .../org/apache/camel/catalog/DefaultCamelCatalog.java | 11 +++++++++++ .../java/org/apache/camel/catalog/CamelCatalogTest.java | 6 ++++++ 3 files changed, 25 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/7eb6eb7f/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java ---------------------------------------------------------------------- diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java index f71fb8e..f95b8d9 100644 --- a/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java +++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java @@ -158,6 +158,14 @@ public interface CamelCatalog { Map<String, String> endpointProperties(String uri) throws URISyntaxException; /** + * Returns the component name from the given endpoint uri + * + * @param uri the endpoint uri + * @return the component name (aka scheme), or <tt>null</tt> if not possible to determine + */ + String endpointComponentName(String uri); + + /** * Creates an endpoint uri from the information in the json schema * * @param scheme the endpoint schema http://git-wip-us.apache.org/repos/asf/camel/blob/7eb6eb7f/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 cd4a11b..529c83a 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 @@ -571,6 +571,17 @@ public class DefaultCamelCatalog implements CamelCatalog { } @Override + public String endpointComponentName(String uri) { + if (uri != null) { + int idx = uri.indexOf(":"); + if (idx > 0) { + return uri.substring(0, idx); + } + } + return null; + } + + @Override public String asEndpointUri(String scheme, String json) throws URISyntaxException { List<Map<String, String>> rows = JSonSchemaHelper.parseJsonSchema("properties", json, true); http://git-wip-us.apache.org/repos/asf/camel/blob/7eb6eb7f/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 6f9f510..de5e0cd 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 @@ -189,4 +189,10 @@ public class CamelCatalogTest extends TestCase { assertEquals("5000", map.get("delay")); } + @Test + public void testEndpointComponentName() throws Exception { + String name = catalog.endpointComponentName("jms:queue:foo"); + assertEquals("jms", name); + } + }
