Repository: camel
Updated Branches:
  refs/heads/camel-2.15.x 273b4756f -> f79d1d991
  refs/heads/master dcbb9fe4a -> 91945a86e


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/91945a86
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/91945a86
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/91945a86

Branch: refs/heads/master
Commit: 91945a86ec55a62c9f6235c4aed802a3930032cf
Parents: dcbb9fe
Author: Claus Ibsen <davscl...@apache.org>
Authored: Thu Mar 19 11:02:54 2015 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Thu Mar 19 11:03:25 2015 +0100

----------------------------------------------------------------------
 .../org/apache/camel/catalog/DefaultCamelCatalog.java |  7 +++----
 .../org/apache/camel/catalog/CamelCatalogTest.java    | 14 +++++++++++++-
 2 files changed, 16 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/91945a86/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 58e2069..e35fc37 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
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
+import java.util.TreeMap;
 import java.util.TreeSet;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -616,8 +617,8 @@ public class DefaultCamelCatalog implements CamelCatalog {
 
         String originalSyntax = syntax;
 
-        // build at first according to syntax
-        Map<String, String> copy = new HashMap<String, String>();
+        // build at first according to syntax (use a tree map as we want the 
uri options sorted)
+        Map<String, String> copy = new TreeMap<String, String>();
         for (Map.Entry<String, String> entry : properties.entrySet()) {
             String key = entry.getKey();
             String value = entry.getValue() != null ? entry.getValue() : "";
@@ -628,8 +629,6 @@ public class DefaultCamelCatalog implements CamelCatalog {
             }
         }
 
-        rows = JSonSchemaHelper.parseJsonSchema("properties", json, true);
-
         // the tokens between the options in the path
         String[] tokens = syntax.split("\\w+");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/91945a86/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 3e2913d..ad5c34c 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
@@ -117,9 +117,13 @@ public class CamelCatalogTest extends TestCase {
     public void testAsEndpointUriMapJmsRequiredOnly() throws Exception {
         Map<String, String> map = new HashMap<String, String>();
         map.put("destinationName", "foo");
-
         String uri = catalog.asEndpointUri("jms", map);
         assertEquals("jms:foo", uri);
+
+        map.put("deliveryPersistent", "false");
+        map.put("allowNullBody", "true");
+        uri = catalog.asEndpointUri("jms", map);
+        assertEquals("jms:foo?allowNullBody=true&deliveryPersistent=false", 
uri);
     }
 
     @Test
@@ -158,6 +162,14 @@ public class CamelCatalogTest extends TestCase {
         assertEquals(1, map.size());
 
         assertEquals("foo", map.get("destinationName"));
+
+        map = 
catalog.endpointProperties("jms:foo?allowNullBody=true&deliveryPersistent=false");
+        assertNotNull(map);
+        assertEquals(3, map.size());
+
+        assertEquals("foo", map.get("destinationName"));
+        assertEquals("true", map.get("allowNullBody"));
+        assertEquals("false", map.get("deliveryPersistent"));
     }
 
 }

Reply via email to