CAMEL-10842: Component JSon schema - JSon values should not always be string types
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/197b54a3 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/197b54a3 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/197b54a3 Branch: refs/heads/master Commit: 197b54a3d60b378eff3804ed1efb0d5c3c97a2a0 Parents: 55dcbe8 Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Feb 16 13:09:44 2017 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Feb 16 13:09:44 2017 +0100 ---------------------------------------------------------------------- .../java/org/apache/camel/util/JsonSchemaHelper.java | 4 ++-- .../org/apache/camel/catalog/JSonSchemaHelper.java | 4 ++-- .../org/apache/camel/catalog/CamelCatalogTest.java | 13 ++++++++++++- .../src/test/resources/org/foo/camel/dummy.json | 2 ++ .../camel/tools/apt/helper/JsonSchemaHelper.java | 4 ++-- .../apache/camel/maven/packaging/JSonSchemaHelper.java | 4 ++-- 6 files changed, 22 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/197b54a3/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java b/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java index 09e89c0..1c2c638 100644 --- a/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java +++ b/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java @@ -30,8 +30,8 @@ import java.util.regex.Pattern; */ public final class JsonSchemaHelper { - // 0 = text, 1 = enum, 2 = boolean, 3 = integer - private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+)"); + // 0 = text, 1 = enum, 2 = boolean, 3 = integer or number + 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/197b54a3/platforms/catalog/src/main/java/org/apache/camel/catalog/JSonSchemaHelper.java ---------------------------------------------------------------------- diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/JSonSchemaHelper.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/JSonSchemaHelper.java index 1258256..fbd2fff 100644 --- a/platforms/catalog/src/main/java/org/apache/camel/catalog/JSonSchemaHelper.java +++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/JSonSchemaHelper.java @@ -27,8 +27,8 @@ import java.util.regex.Pattern; public final class JSonSchemaHelper { - // 0 = text, 1 = enum, 2 = boolean, 3 = integer - private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+)"); + // 0 = text, 1 = enum, 2 = boolean, 3 = integer or number + 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/197b54a3/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 c98cd1d..78c1052 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 @@ -1078,6 +1078,7 @@ public class CamelCatalogTest { break; } } + assertEquals("The dummy component logs message exchanges to the underlying logging mechanism.", desc); // componentProperties rows = JSonSchemaHelper.parseJsonSchema("componentProperties", json, true); @@ -1088,7 +1089,7 @@ public class CamelCatalogTest { // properties rows = JSonSchemaHelper.parseJsonSchema("properties", json, true); - assertEquals(27, rows.size()); + assertEquals(29, rows.size()); row = JSonSchemaHelper.getRow(rows, "level"); assertNotNull(row); assertEquals("INFO", row.get("defaultValue")); @@ -1099,6 +1100,16 @@ public class CamelCatalogTest { assertNotNull(row); assertEquals("false", row.get("deprecated")); assertEquals("10000", row.get("defaultValue")); + + row = JSonSchemaHelper.getRow(rows, "fontSize"); + assertNotNull(row); + assertEquals("false", row.get("deprecated")); + assertEquals("14", row.get("defaultValue")); + + row = JSonSchemaHelper.getRow(rows, "kerberosRenewJitter"); + assertNotNull(row); + assertEquals("java.lang.Double", row.get("javaType")); + assertEquals("0.05", row.get("defaultValue")); } } http://git-wip-us.apache.org/repos/asf/camel/blob/197b54a3/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 feee3de..8dfd7b3 100644 --- a/platforms/catalog/src/test/resources/org/foo/camel/dummy.json +++ b/platforms/catalog/src/test/resources/org/foo/camel/dummy.json @@ -26,6 +26,7 @@ "marker": { "kind": "parameter", "group": "producer", "type": "string", "javaType": "java.lang.String", "deprecated": false, "description": "An optional Marker name to use." }, "exchangePattern": { "kind": "parameter", "group": "advanced", "label": "advanced", "type": "string", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "RobustInOnly", "InOut", "InOptionalOut", "OutOnly", "RobustOutOnly", "OutIn", "OutOptionalIn" ], "deprecated": false, "defaultValue": "InOnly", "description": "Sets the default exchange pattern when creating an exchange." }, "synchronous": { "kind": "parameter", "group": "advanced", "label": "advanced", "type": "boolean", "javaType": "boolean", "deprecated": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported)." }, + "kerberosRenewJitter": { "kind": "parameter", "group": "security", "label": "common,security", "type": "number", "javaType": "java.lang.Double", "deprecated": false, "secret": false, "defaultValue": 0.05, "description": "Percentage of random jitter added to the renewal time." }, "maxChars": { "kind": "parameter", "group": "formatting", "label": "formatting", "type": "integer", "javaType": "int", "deprecated": false, "defaultValue": 10000, "description": "Limits the number of characters logged per line." }, "multiline": { "kind": "parameter", "group": "formatting", "label": "formatting", "type": "boolean", "javaType": "boolean", "deprecated": false, "defaultValue": false, "description": "If enabled then each information is outputted on a newline." }, "showAll": { "kind": "parameter", "group": "formatting", "label": "formatting", "type": "boolean", "javaType": "boolean", "deprecated": false, "defaultValue": false, "description": "Quick option for turning all options on. (multiline maxChars has to be manually set if to be used)" }, @@ -43,6 +44,7 @@ "showStackTrace": { "kind": "parameter", "group": "formatting", "label": "formatting", "type": "boolean", "javaType": "boolean", "deprecated": false, "defaultValue": false, "description": "Show the stack trace if an exchange has an exception. Only effective if one of showAll showException or showCaughtException are enabled." }, "showStreams": { "kind": "parameter", "group": "formatting", "label": "formatting", "type": "boolean", "javaType": "boolean", "deprecated": false, "defaultValue": false, "description": "Whether Camel should show stream bodies or not (eg such as java.io.InputStream). Beware if you enable this option then you may not be able later to access the message body as the stream have already been read by this logger. To remedy this you will have to use Stream Caching." }, "skipBodyLineSeparator": { "kind": "parameter", "group": "formatting", "label": "formatting", "type": "boolean", "javaType": "boolean", "deprecated": false, "defaultValue": true, "description": "Whether to skip line separators when logging the message body. This allows to log the message body in one line setting this option to false will preserve any line separators from the body which then will log the body as is." }, + "fontSize": { "kind": "parameter", "group": "producer", "type": "number", "javaType": "float", "deprecated": false, "secret": false, "defaultValue": 14, "description": "Font size in pixels" }, "style": { "kind": "parameter", "group": "formatting", "label": "formatting", "type": "string", "javaType": "org.apache.camel.processor.DefaultExchangeFormatter.OutputStyle", "enum": [ "Default", "Tab", "Fixed" ], "deprecated": false, "defaultValue": "Default", "description": "Sets the outputs style to use." } } } http://git-wip-us.apache.org/repos/asf/camel/blob/197b54a3/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java index 955e915..cf3588f 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java @@ -34,8 +34,8 @@ import java.util.regex.Pattern; public final class JsonSchemaHelper { private static final String VALID_CHARS = ".-='/\\!&():;"; - // 0 = text, 1 = enum, 2 = boolean, 3 = integer - private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+)"); + // 0 = text, 1 = enum, 2 = boolean, 3 = integer or number + 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/197b54a3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/JSonSchemaHelper.java ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/JSonSchemaHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/JSonSchemaHelper.java index 27bc6e4..2fbd27f 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/JSonSchemaHelper.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/JSonSchemaHelper.java @@ -25,8 +25,8 @@ import java.util.regex.Pattern; public final class JSonSchemaHelper { - // 0 = text, 1 = enum, 2 = boolean, 3 = integer - private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+)"); + // 0 = text, 1 = enum, 2 = boolean, 3 = integer or number + private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+\\.?\\d+)"); private static final String QUOT = """; private JSonSchemaHelper() {