Repository: camel
Updated Branches:
  refs/heads/master a8776920b -> 8e0e3083e


CAMEL-10842: Adjust connector to new JSon schema


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

Branch: refs/heads/master
Commit: 8e0e3083e8028d57db6c5cc90d480c2e9ba14e1b
Parents: a877692
Author: Claus Ibsen <davscl...@apache.org>
Authored: Thu Feb 16 16:43:59 2017 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Thu Feb 16 16:43:59 2017 +0100

----------------------------------------------------------------------
 .../camel/maven/connector/ConnectorMojo.java    | 34 +++++++++++++++---
 .../src/main/resources/camel-connector.json     | 34 +++++++++---------
 .../src/main/resources/camel-connector.json     | 36 ++++++++++----------
 .../salesforce-upsert-contact-connector/pom.xml | 22 ++++++++++--
 .../main/resources/camel-connector-schema.json  |  5 +--
 .../src/main/resources/camel-connector.json     |  4 +--
 .../src/main/resources/camel-connector.json     |  2 +-
 .../src/main/resources/camel-connector.json     | 34 +++++++++---------
 8 files changed, 106 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
----------------------------------------------------------------------
diff --git 
a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
 
b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
index b60244c..ff8a574 100644
--- 
a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
+++ 
b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
@@ -455,18 +455,36 @@ public class ConnectorMojo extends AbstractJarMojo {
     private static String buildJSonLineFromRow(Map<String, String> row) {
         String name = row.get("name");
         String kind = row.get("kind");
-        boolean required = Boolean.valueOf(row.getOrDefault("required", 
"false"));
+        boolean required = false;
+        Object value = row.getOrDefault("required", "false");
+        if (value instanceof Boolean) {
+            required = (Boolean) value;
+        } else if (value != null) {
+            required = Boolean.valueOf(value.toString());
+        }
         String javaType = row.get("javaType");
         String defaultValue = row.get("defaultValue");
         String description = row.get("description");
-        boolean deprecated = Boolean.valueOf(row.getOrDefault("deprecated", 
"false"));
-        boolean secret = Boolean.valueOf(row.getOrDefault("secret", "false"));
+        boolean deprecated = false;
+        value = row.getOrDefault("deprecated", "false");
+        if (value instanceof Boolean) {
+            deprecated = (Boolean) value;
+        } else if (value != null) {
+            deprecated = Boolean.valueOf(value.toString());
+        }
+        boolean secret = false;
+        value = row.getOrDefault("secret", "false");
+        if (value instanceof Boolean) {
+            secret = (Boolean) value;
+        } else if (value != null) {
+            secret = Boolean.valueOf(value.toString());
+        }
         String group = row.get("group");
         String label = row.get("label");
         // for enum we need to build it back as a set
         Set<String> enums = null;
         // the enum can either be a List or String
-        Object value = row.get("enum");
+        value = row.get("enum");
         if (value != null && value instanceof List) {
             enums = new LinkedHashSet<String>((List)value);
         } else if (value != null && value instanceof String) {
@@ -476,7 +494,13 @@ public class ConnectorMojo extends AbstractJarMojo {
         boolean enumType = enums != null;
         String optionalPrefix = row.get("optionalPrefix");
         String prefix = row.get("prefix");
-        boolean multiValue = Boolean.valueOf(row.getOrDefault("multiValue", 
"false"));
+        boolean multiValue = false;
+        value = row.getOrDefault("multiValue", "false");
+        if (value instanceof Boolean) {
+            multiValue = (Boolean) value;
+        } else if (value != null) {
+            multiValue = Boolean.valueOf(value.toString());
+        }
 
         return JSonSchemaHelper.toJson(name, kind, required, javaType, 
defaultValue, description, deprecated, secret, group, label,
             enumType, enums, false, null, false, optionalPrefix, prefix, 
multiValue);

http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/examples/bar-connector/src/main/resources/camel-connector.json
----------------------------------------------------------------------
diff --git 
a/connectors/examples/bar-connector/src/main/resources/camel-connector.json 
b/connectors/examples/bar-connector/src/main/resources/camel-connector.json
index e4062cc..46a1740 100644
--- a/connectors/examples/bar-connector/src/main/resources/camel-connector.json
+++ b/connectors/examples/bar-connector/src/main/resources/camel-connector.json
@@ -1,20 +1,20 @@
 {
-  "baseScheme" : "beverage",
-  "baseGroupId" : "org.foo",
-  "baseArtifactId" : "beverage-component",
-  "baseVersion" : "2.19.0-SNAPSHOT",
-  "baseJavaType" : "org.beverage.BeverageComponent",
-  "name" : "Bar",
-  "scheme" : "bar",
-  "javaType" : "org.foo.connector.BarComponent",
-  "groupId" : "org.foo",
-  "artifactId" : "wine-connector",
-  "version" : "2.19.0-SNAPSHOT",
-  "description" : "To order drinks from the bar",
-  "labels" : [ "bar" ],
-  "pattern" : "To",
-  "endpointOptions" : [ "drink", "amount", "celebrity" ],
-  "endpointValues" : {
-    "amount" : 2
+  "baseScheme": "beverage",
+  "baseGroupId": "org.foo",
+  "baseArtifactId": "beverage-component",
+  "baseVersion": "2.19.0-SNAPSHOT",
+  "baseJavaType": "org.beverage.BeverageComponent",
+  "name": "Bar",
+  "scheme": "bar",
+  "javaType": "org.foo.connector.BarComponent",
+  "groupId": "org.foo",
+  "artifactId": "wine-connector",
+  "version": "2.19.0-SNAPSHOT",
+  "description": "To order drinks from the bar",
+  "labels": [ "bar" ],
+  "pattern": "To",
+  "endpointOptions": [ "drink", "amount", "celebrity" ],
+  "endpointValues": {
+    "amount": 2
   }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/examples/foo-connector/src/main/resources/camel-connector.json
----------------------------------------------------------------------
diff --git 
a/connectors/examples/foo-connector/src/main/resources/camel-connector.json 
b/connectors/examples/foo-connector/src/main/resources/camel-connector.json
index 0f6dec9..deeb90d 100644
--- a/connectors/examples/foo-connector/src/main/resources/camel-connector.json
+++ b/connectors/examples/foo-connector/src/main/resources/camel-connector.json
@@ -1,21 +1,21 @@
 {
-  "baseScheme" : "timer",
-  "baseGroupId" : "org.apache.camel",
-  "baseArtifactId" : "camel-core",
-  "baseVersion" : "2.19.0-SNAPSHOT",
-  "baseJavaType" : "org.apache.camel.component.timer.TimerComponent",
-  "name" : "Foo",
-  "scheme" : "foo",
-  "javaType" : "org.foo.connector.FooComponent",
-  "groupId" : "org.foo",
-  "artifactId" : "foo-connector",
-  "version" : "2.19.0-SNAPSHOT",
-  "description" : "Something cool",
-  "labels" : [ "foo", "timer" ],
-  "pattern" : "From",
-  "endpointOptions" : [ "timerName", "period", "repeatCount" ],
-  "endpointValues" : {
-    "fixedRate" : true,
-    "period" : 5000
+  "baseScheme": "timer",
+  "baseGroupId": "org.apache.camel",
+  "baseArtifactId": "camel-core",
+  "baseVersion": "2.19.0-SNAPSHOT",
+  "baseJavaType": "org.apache.camel.component.timer.TimerComponent",
+  "name": "Foo",
+  "scheme": "foo",
+  "javaType": "org.foo.connector.FooComponent",
+  "groupId": "org.foo",
+  "artifactId": "foo-connector",
+  "version": "2.19.0-SNAPSHOT",
+  "description": "Something cool",
+  "labels": [ "foo", "timer" ],
+  "pattern": "From",
+  "endpointOptions": [ "timerName", "period", "repeatCount" ],
+  "endpointValues": {
+    "fixedRate": true,
+    "period": 5000
   }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/examples/salesforce-upsert-contact-connector/pom.xml
----------------------------------------------------------------------
diff --git a/connectors/examples/salesforce-upsert-contact-connector/pom.xml 
b/connectors/examples/salesforce-upsert-contact-connector/pom.xml
index d7f655c..10a9e27 100644
--- a/connectors/examples/salesforce-upsert-contact-connector/pom.xml
+++ b/connectors/examples/salesforce-upsert-contact-connector/pom.xml
@@ -72,14 +72,30 @@
         </executions>
       </plugin>
 
-      <!-- generate connector -->
+      <!-- turn off jar plugin as we use connector plugin to jar instead -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${maven-jar-plugin-version}</version>
+        <executions>
+          <execution>
+            <id>default-jar</id>
+            <phase/>
+          </execution>
+        </executions>
+      </plugin>
+
+      <!-- connector plugin will build the jar -->
       <plugin>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-connector-maven-plugin</artifactId>
-        <version>${camel.version}</version>
+        <version>${project.version}</version>
         <executions>
           <execution>
-            <id>generate-connector</id>
+            <id>connector</id>
+            <goals>
+              <goal>jar</goal>
+            </goals>
           </execution>
         </executions>
       </plugin>

http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
----------------------------------------------------------------------
diff --git 
a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
 
b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
index a82c836..8030697 100644
--- 
a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
+++ 
b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
@@ -10,6 +10,7 @@
     "deprecated": false,
     "async": false,
     "producerOnly": true,
+    "lenientProperties": false,
     "javaType": "org.foo.salesforce.contact.SalesforceUpsertContactComponent",
     "groupId": "org.foo",
     "artifactId": "salesforce-upsert-contact-connector",
@@ -22,7 +23,7 @@
     "refreshToken": { "kind": "property", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": true, "description": 
"Salesforce connected application Consumer token" }
   },
   "properties": {
-    "sObjectIdName": 
{"kind":"parameter","group":"common","type":"string","javaType":"java.lang.String","deprecated":false,"secret":false,"description":"SObject
 external ID field name","required":true},
-    "sObjectIdValue": 
{"kind":"parameter","group":"common","type":"string","javaType":"java.lang.String","deprecated":false,"secret":false,"description":"SObject
 external ID field value"}
+    "sObjectIdName": { "kind": "parameter", "group": "common", "required": 
true, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "SObject external ID field name" },
+    "sObjectIdValue": { "kind": "parameter", "group": "common", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"secret": false, "description": "SObject external ID field value" }
   }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
----------------------------------------------------------------------
diff --git 
a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
 
b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
index c1a26ec..ff515ce 100644
--- 
a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
+++ 
b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
@@ -10,14 +10,14 @@
   "artifactId": "salesforce-upsert-contact-connector",
   "version": "1.0",
   "description": "Create or update Salesforce Contact SObject",
-  "labels" : [ "salesforce" ],
+  "labels": [ "salesforce" ],
   "pattern": "To",
   "componentOptions" : [ "loginUrl", "clientId", "clientSecret", 
"refreshToken" ],
   "endpointValues" : {
     "operationName": "upsertSObject"
   },
   "endpointOverrides": {
-    "sObjectIdName": {"required": true}
+    "sObjectIdName": { "required": true }
   },
   "endpointOptions": [ "sObjectIdName", "sObjectIdValue" ]
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/examples/twitter-mention-connector/src/main/resources/camel-connector.json
----------------------------------------------------------------------
diff --git 
a/connectors/examples/twitter-mention-connector/src/main/resources/camel-connector.json
 
b/connectors/examples/twitter-mention-connector/src/main/resources/camel-connector.json
index a38fc73..30523cb 100644
--- 
a/connectors/examples/twitter-mention-connector/src/main/resources/camel-connector.json
+++ 
b/connectors/examples/twitter-mention-connector/src/main/resources/camel-connector.json
@@ -10,7 +10,7 @@
   "artifactId": "twitter-mention-connector",
   "version": "1.0",
   "description": "Connection from twitter when anyone mention you",
-  "labels" : [ "twitter" ],
+  "labels": [ "twitter" ],
   "pattern": "From",
   "componentOptions" : [ "accessToken", "accessTokenSecret", "consumerKey", 
"consumerSecret" ],
   "endpointValues" : {

http://git-wip-us.apache.org/repos/asf/camel/blob/8e0e3083/connectors/examples/wine-connector/src/main/resources/camel-connector.json
----------------------------------------------------------------------
diff --git 
a/connectors/examples/wine-connector/src/main/resources/camel-connector.json 
b/connectors/examples/wine-connector/src/main/resources/camel-connector.json
index c7c88e5..7122db7 100644
--- a/connectors/examples/wine-connector/src/main/resources/camel-connector.json
+++ b/connectors/examples/wine-connector/src/main/resources/camel-connector.json
@@ -1,21 +1,21 @@
 {
-  "baseScheme" : "beverage",
-  "baseGroupId" : "org.foo",
-  "baseArtifactId" : "beverage-component",
-  "baseVersion" : "2.19.0-SNAPSHOT",
-  "baseJavaType" : "org.beverage.BeverageComponent",
-  "name" : "Wine",
-  "scheme" : "wine",
-  "javaType" : "org.foo.connector.WineComponent",
-  "groupId" : "org.foo",
-  "artifactId" : "wine-connector",
-  "version" : "2.19.0-SNAPSHOT",
-  "description" : "To order wine from the bar",
-  "labels" : [ "bar" ],
-  "pattern" : "To",
-  "endpointOptions" : [ "drink", "amount" ],
-  "endpointValues" : {
-    "drink" : "Wine"
+  "baseScheme": "beverage",
+  "baseGroupId": "org.foo",
+  "baseArtifactId": "beverage-component",
+  "baseVersion": "2.19.0-SNAPSHOT",
+  "baseJavaType": "org.beverage.BeverageComponent",
+  "name": "Wine",
+  "scheme": "wine",
+  "javaType": "org.foo.connector.WineComponent",
+  "groupId": "org.foo",
+  "artifactId": "wine-connector",
+  "version": "2.19.0-SNAPSHOT",
+  "description": "To order wine from the bar",
+  "labels": [ "bar" ],
+  "pattern": "To",
+  "endpointOptions": [ "drink", "amount" ],
+  "endpointValues": {
+    "drink": "Wine"
   },
   "endpointOverrides": {
     "drink": { "enum": [ "Wine" ], "description": "You can only order wine" }

Reply via email to