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);
+    }
+
 }

Reply via email to