You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/06/21 08:18:42 UTC
[2/5] camel git commit: CAMEL-10062: For specialized Dataformats,
provide default value in catalog
CAMEL-10062: For specialized Dataformats, provide default value in catalog
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/eb0c7d5f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/eb0c7d5f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/eb0c7d5f
Branch: refs/heads/camel-2.17.x
Commit: eb0c7d5fe715db6a89ef3dce54123592bb4fcb61
Parents: cdd0704
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Jun 21 09:52:07 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Jun 21 10:18:23 2016 +0200
----------------------------------------------------------------------
.../maven/packaging/PackageDataFormatMojo.java | 39 ++++++++++++++++++++
1 file changed, 39 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/eb0c7d5f/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
index 9f88702..9405f73 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
@@ -200,6 +200,11 @@ public class PackageDataFormatMojo extends AbstractMojo {
// build json schema for the data format
String properties = after(json, " \"properties\": {");
+
+ // special prepare for bindy/json properties
+ properties = prepareBindyProperties(name, properties);
+ properties = prepareJsonProperties(name, properties);
+
String schema = createParameterJsonSchema(dataFormatModel, properties);
log.debug("JSon schema\n" + schema);
@@ -275,6 +280,40 @@ public class PackageDataFormatMojo extends AbstractMojo {
}
}
+ private static String prepareBindyProperties(String name, String properties) {
+ String bindy = "\"enum\": [ \"Csv\", \"Fixed\", \"KeyValue\" ], \"deprecated\": \"false\", \"secret\": \"false\"";
+ String bindyCsv = "\"enum\": [ \"Csv\", \"Fixed\", \"KeyValue\" ], \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"Csv\"";
+ String bindyFixed = "\"enum\": [ \"Csv\", \"Fixed\", \"KeyValue\" ], \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"Fixed\"";
+ String bindyKvp = "\"enum\": [ \"Csv\", \"Fixed\", \"KeyValue\" ], \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"KeyValue\"";
+
+ if ("bindy-csv".equals(name)) {
+ properties = properties.replace(bindy, bindyCsv);
+ } else if ("bindy-fixed".equals(name)) {
+ properties = properties.replace(bindy, bindyFixed);
+ } else if ("bindy-kvp".equals(name)) {
+ properties = properties.replace(bindy, bindyKvp);
+ }
+
+ return properties;
+ }
+
+ private static String prepareJsonProperties(String name, String properties) {
+ String json = "\"enum\": [ \"Gson\", \"Jackson\", \"Johnzon\", \"XStream\" ], \"deprecated\": \"false\", \"secret\": \"false\"";
+ String jsonGson = "\"enum\": [ \"Gson\", \"Jackson\", \"Johnzon\", \"XStream\" ], \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"Gson\"";
+ String jsonJackson = "\"enum\": [ \"Gson\", \"Jackson\", \"Johnzon\", \"XStream\" ], \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"Jackson\"";
+ String jsonXStream = "\"enum\": [ \"Gson\", \"Jackson\", \"Johnzon\", \"XStream\" ], \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"XStream\"";
+
+ if ("json-gson".equals(name)) {
+ properties = properties.replace(json, jsonGson);
+ } else if ("json-jackson".equals(name)) {
+ properties = properties.replace(json, jsonJackson);
+ } else if ("json-xstream".equals(name)) {
+ properties = properties.replace(json, jsonXStream);
+ }
+
+ return properties;
+ }
+
private static String readClassFromCamelResource(File file, StringBuilder buffer, BuildContext buildContext) throws MojoExecutionException {
// skip directories as there may be a sub .resolver directory
if (file.isDirectory()) {