Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x e9cdfbafe -> d739530db
  refs/heads/master 95fceb73c -> 3690b9d24


Camel catalog - Improve validation of dataformat endpoint as we can use the df 
scheme to validate its options.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3690b9d2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3690b9d2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3690b9d2

Branch: refs/heads/master
Commit: 3690b9d249f71d8f0e7b9ab9bf2bb46404d50275
Parents: 95fceb7
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Jan 5 13:32:59 2016 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Jan 5 13:32:59 2016 +0100

----------------------------------------------------------------------
 .../org/apache/camel/catalog/DefaultCamelCatalog.java  | 13 +++++++++++++
 .../org/apache/camel/catalog/CamelCatalogTest.java     |  4 ++++
 2 files changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3690b9d2/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 6c5c444..f04bd3f 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
@@ -766,6 +766,19 @@ public class DefaultCamelCatalog implements CamelCatalog {
             return result;
         }
 
+        // the dataformat component refers to a data format so lets add the 
properties for the selected
+        // data format to the list of rows
+        if ("dataformat".equals(scheme)) {
+            String dfName = properties.get("name");
+            if (dfName != null) {
+                String dfJson = dataFormatJSonSchema(dfName);
+                List<Map<String, String>> dfRows = 
JSonSchemaHelper.parseJsonSchema("properties", dfJson, true);
+                if (dfRows != null && !dfRows.isEmpty()) {
+                    rows.addAll(dfRows);
+                }
+            }
+        }
+
         // validate all the options
         for (Map.Entry<String, String> property : properties.entrySet()) {
             String value = property.getValue();

http://git-wip-us.apache.org/repos/asf/camel/blob/3690b9d2/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 d20cfa0..b59f872 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
@@ -497,6 +497,10 @@ public class CamelCatalogTest {
         result = 
catalog.validateEndpointProperties("dataformat:string:marshal?foo=bar", true);
         assertFalse(result.isSuccess());
         assertTrue(result.getUnknown().contains("foo"));
+
+        // data format
+        result = 
catalog.validateEndpointProperties("dataformat:string:marshal?charset=utf-8", 
true);
+        assertTrue(result.isSuccess());
     }
 
     @Test

Reply via email to