Return-Path: X-Original-To: apmail-camel-commits-archive@www.apache.org Delivered-To: apmail-camel-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id ACF1D18CCF for ; Tue, 5 Jan 2016 12:33:59 +0000 (UTC) Received: (qmail 36050 invoked by uid 500); 5 Jan 2016 12:33:59 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 35909 invoked by uid 500); 5 Jan 2016 12:33:59 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 35893 invoked by uid 99); 5 Jan 2016 12:33:59 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Jan 2016 12:33:59 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5EB5FE0AF6; Tue, 5 Jan 2016 12:33:59 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: davsclaus@apache.org To: commits@camel.apache.org Date: Tue, 05 Jan 2016 12:34:00 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [2/2] camel git commit: Camel catalog - Improve validation of dataformat endpoint as we can use the df scheme to validate its options. 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/d739530d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d739530d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d739530d Branch: refs/heads/camel-2.16.x Commit: d739530dbf7da5eb2b5aa903593d3dce3f057b48 Parents: e9cdfba Author: Claus Ibsen Authored: Tue Jan 5 13:32:59 2016 +0100 Committer: Claus Ibsen Committed: Tue Jan 5 13:33:51 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/d739530d/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> dfRows = JSonSchemaHelper.parseJsonSchema("properties", dfJson, true); + if (dfRows != null && !dfRows.isEmpty()) { + rows.addAll(dfRows); + } + } + } + // validate all the options for (Map.Entry property : properties.entrySet()) { String value = property.getValue(); http://git-wip-us.apache.org/repos/asf/camel/blob/d739530d/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