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/a8776920 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a8776920 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a8776920 Branch: refs/heads/master Commit: a8776920b9a009c105746d78fdc1e96e60431ec8 Parents: 6c9a7a4 Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Feb 16 16:24:43 2017 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Feb 16 16:24:43 2017 +0100 ---------------------------------------------------------------------- .../org/apache/camel/maven/connector/JSonSchemaHelper.java | 2 +- .../src/main/resources/camel-connector-schema.json | 2 +- .../src/main/resources/camel-connector-schema.json | 2 +- .../src/main/resources/camel-connector-schema.json | 2 +- .../test/java/org/apache/camel/catalog/CamelCatalogTest.java | 7 ++++++- platforms/catalog/src/test/resources/org/foo/camel/dummy.json | 1 + 6 files changed, 11 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/a8776920/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/JSonSchemaHelper.java ---------------------------------------------------------------------- diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/JSonSchemaHelper.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/JSonSchemaHelper.java index d778386..4c968a7 100644 --- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/JSonSchemaHelper.java +++ b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/JSonSchemaHelper.java @@ -35,7 +35,7 @@ public final class JSonSchemaHelper { private static final String VALID_CHARS = ".-='/\\!&():;"; // 0 = text, 1 = enum, 2 = boolean, 3 = integer or number - private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+\\.?\\d+)"); + private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+\\.?\\d*)"); private static final String QUOT = """; private JSonSchemaHelper() { http://git-wip-us.apache.org/repos/asf/camel/blob/a8776920/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json ---------------------------------------------------------------------- diff --git a/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json b/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json index 8f64200..18032b5 100644 --- a/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json +++ b/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json @@ -20,7 +20,7 @@ }, "properties": { "drink": { "kind": "path", "group": "producer", "required": true, "type": "object", "javaType": "org.beverage.Beverages", "enum": [ "Wine", "GinTonic", "Beer" ], "deprecated": false, "secret": false, "description": "What drink to order" }, - "amount": { "kind": "parameter", "group": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": 2 }, + "amount": { "kind": "parameter", "group": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": 2, "description": "Number of drinks in the order" }, "celebrity": { "kind": "parameter", "group": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Is this a famous person ordering" } } } http://git-wip-us.apache.org/repos/asf/camel/blob/a8776920/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json ---------------------------------------------------------------------- diff --git a/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json b/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json index 1654293..303f978 100644 --- a/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json +++ b/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json @@ -21,6 +21,6 @@ "properties": { "timerName": { "kind": "path", "group": "consumer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The name of the timer" }, "period": { "kind": "parameter", "group": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": 5000, "description": "If greater than 0 generate periodic events every period milliseconds. The default value is 1000. You can also specify time values using units such as 60s (60 seconds) 5m30s (5 minutes and 30 seconds) and 1h (1 hour)." }, - "repeatCount": { "kind": "parameter", "group": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": description } + "repeatCount": { "kind": "parameter", "group": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": 0, "description": "Specifies a maximum limit of number of fires. So if you set it to 1 the timer will only fire once. If you set it to 5 it will only fire five times. A value of zero or negative means fire forever." } } } http://git-wip-us.apache.org/repos/asf/camel/blob/a8776920/connectors/examples/wine-connector/src/main/resources/camel-connector-schema.json ---------------------------------------------------------------------- diff --git a/connectors/examples/wine-connector/src/main/resources/camel-connector-schema.json b/connectors/examples/wine-connector/src/main/resources/camel-connector-schema.json index 1c9e31b..859f2ed 100644 --- a/connectors/examples/wine-connector/src/main/resources/camel-connector-schema.json +++ b/connectors/examples/wine-connector/src/main/resources/camel-connector-schema.json @@ -20,6 +20,6 @@ }, "properties": { "drink": { "kind": "path", "group": "producer", "required": true, "type": "object", "javaType": "org.beverage.Beverages", "enum": [ "Wine" ], "deprecated": false, "secret": false, "defaultValue": "Wine", "description": "You can only order wine" }, - "amount": { "kind": "parameter", "group": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": description } + "amount": { "kind": "parameter", "group": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": 1, "description": "Number of drinks in the order" } } } http://git-wip-us.apache.org/repos/asf/camel/blob/a8776920/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 110e763..58db8e3 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 @@ -1089,13 +1089,18 @@ public class CamelCatalogTest { // properties rows = JSonSchemaHelper.parseJsonSchema("properties", json, true); - assertEquals(30, rows.size()); + assertEquals(31, rows.size()); row = JSonSchemaHelper.getRow(rows, "level"); assertNotNull(row); assertEquals("INFO", row.get("defaultValue")); String enums = JSonSchemaHelper.getPropertyEnum(rows, "level"); assertEquals("ERROR,WARN,INFO,DEBUG,TRACE,OFF", enums); + row = JSonSchemaHelper.getRow(rows, "amount"); + assertNotNull(row); + assertEquals("1", row.get("defaultValue")); + assertEquals("Number of drinks in the order", row.get("description")); + row = JSonSchemaHelper.getRow(rows, "maxChars"); assertNotNull(row); assertEquals("false", row.get("deprecated")); http://git-wip-us.apache.org/repos/asf/camel/blob/a8776920/platforms/catalog/src/test/resources/org/foo/camel/dummy.json ---------------------------------------------------------------------- diff --git a/platforms/catalog/src/test/resources/org/foo/camel/dummy.json b/platforms/catalog/src/test/resources/org/foo/camel/dummy.json index 844aaac..45dfa15 100644 --- a/platforms/catalog/src/test/resources/org/foo/camel/dummy.json +++ b/platforms/catalog/src/test/resources/org/foo/camel/dummy.json @@ -18,6 +18,7 @@ }, "properties": { "loggerName": { "kind": "path", "group": "producer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "description": "The logger name to use" }, + "amount": { "kind": "parameter", "group": "producer", "type": "integer", "javaType": "int", "deprecated": false, "secret": false, "defaultValue": 1, "description": "Number of drinks in the order" }, "groupActiveOnly": { "kind": "parameter", "group": "producer", "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "defaultValue": true, "description": "If true will hide stats when no new messages have been received for a time interval if false show stats regardless of message traffic." }, "groupDelay": { "kind": "parameter", "group": "producer", "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "description": "Set the initial delay for stats (in millis)" }, "groupInterval": { "kind": "parameter", "group": "producer", "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "description": "If specified will group message stats by this time interval (in millis)" },