CAMEL-10969: Use json-simple as json parser in JSonSchemaHelper instead of our 
own home-ground parser.


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

Branch: refs/heads/json-simple
Commit: d75403bcdb62ff5c6d9d9232697345b75a34b093
Parents: a64bc91
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sun Sep 24 11:09:10 2017 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sun Sep 24 11:09:10 2017 +0200

----------------------------------------------------------------------
 .../apache/camel/catalog/CamelCatalogTest.java  |  41 ++
 .../resources/org/foo/camel/dummy-pretty.json   | 383 ++++++++++
 .../org/foo/camel/dummyformat-pretty.json       |  56 ++
 .../src/test/resources/sample-pretty.json       | 693 +++++++++++++++++++
 4 files changed, 1173 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d75403bc/platforms/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
----------------------------------------------------------------------
diff --git 
a/platforms/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
 
b/platforms/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index 5ad90f6..201d14a 100644
--- 
a/platforms/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ 
b/platforms/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -318,6 +318,13 @@ public class CamelCatalogTest {
     }
 
     @Test
+    public void testAsEndpointUriJsonPrettyJson() throws Exception {
+        String json = 
loadText(CamelCatalogTest.class.getClassLoader().getResourceAsStream("sample-pretty.json"));
+        String uri = catalog.asEndpointUri("ftp", json, true);
+        assertEquals("ftp:someserver:21/foo?connectTimeout=5000", uri);
+    }
+
+    @Test
     public void testEndpointProperties() throws Exception {
         Map<String, String> map = 
catalog.endpointProperties("ftp:someserver:21/foo?connectTimeout=5000");
         assertNotNull(map);
@@ -898,6 +905,23 @@ public class CamelCatalogTest {
     }
 
     @Test
+    public void testAddComponentWithPrettyJson() throws Exception {
+        String json = loadText(new 
FileInputStream("src/test/resources/org/foo/camel/dummy-pretty.json"));
+        assertNotNull(json);
+        catalog.addComponent("dummy", "org.foo.camel.DummyComponent", json);
+
+        assertTrue(catalog.findComponentNames().contains("dummy"));
+
+        json = catalog.componentJSonSchema("dummy");
+        assertNotNull(json);
+
+        // validate we can parse the json
+        ObjectMapper mapper = new ObjectMapper();
+        JsonNode tree = mapper.readTree(json);
+        assertNotNull(tree);
+    }
+
+    @Test
     public void testAddDataFormat() throws Exception {
         catalog.addDataFormat("dummyformat", "org.foo.camel.DummyDataFormat");
 
@@ -930,6 +954,23 @@ public class CamelCatalogTest {
     }
 
     @Test
+    public void testAddDataFormatWithPrettyJSon() throws Exception {
+        String json = loadText(new 
FileInputStream("src/test/resources/org/foo/camel/dummyformat-pretty.json"));
+        assertNotNull(json);
+        catalog.addDataFormat("dummyformat", "org.foo.camel.DummyDataFormat", 
json);
+
+        assertTrue(catalog.findDataFormatNames().contains("dummyformat"));
+
+        json = catalog.dataFormatJSonSchema("dummyformat");
+        assertNotNull(json);
+
+        // validate we can parse the json
+        ObjectMapper mapper = new ObjectMapper();
+        JsonNode tree = mapper.readTree(json);
+        assertNotNull(tree);
+    }
+
+    @Test
     public void testSimpleExpression() throws Exception {
         SimpleValidationResult result = catalog.validateSimpleExpression(null, 
"${body}");
         assertTrue(result.isSuccess());

http://git-wip-us.apache.org/repos/asf/camel/blob/d75403bc/platforms/camel-catalog/src/test/resources/org/foo/camel/dummy-pretty.json
----------------------------------------------------------------------
diff --git 
a/platforms/camel-catalog/src/test/resources/org/foo/camel/dummy-pretty.json 
b/platforms/camel-catalog/src/test/resources/org/foo/camel/dummy-pretty.json
new file mode 100644
index 0000000..60cb547
--- /dev/null
+++ b/platforms/camel-catalog/src/test/resources/org/foo/camel/dummy-pretty.json
@@ -0,0 +1,383 @@
+{
+  "component": {
+    "kind": "component",
+    "scheme": "dummy",
+    "syntax": "dummy:loggerName",
+    "title": "Dummy",
+    "description": "The dummy component logs message exchanges to the 
underlying logging mechanism.",
+    "label": "core,monitoring",
+    "producerOnly": true,
+    "consumerOnly": false,
+    "javaType": "org.foo.camel.DummyComponent",
+    "groupId": "org.foo.camel",
+    "artifactId": "dummy",
+    "version": "1.0"
+  },
+  "componentProperties": {
+    "exchangeFormatter": {
+      "kind": "property",
+      "displayName": "Exchange Formatter",
+      "type": "object",
+      "javaType": "org.apache.camel.spi.ExchangeFormatter",
+      "deprecated": false,
+      "description": "Sets a custom ExchangeFormatter to convert the Exchange 
to a String suitable for logging. If not specified we default to 
DefaultExchangeFormatter."
+    }
+  },
+  "properties": {
+    "loggerName": {
+      "kind": "path",
+      "displayName": "Logger Name",
+      "group": "producer",
+      "required": true,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "description": "The logger name to use"
+    },
+    "amount": {
+      "kind": "parameter",
+      "displayName": "Amount",
+      "group": "producer",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": 1,
+      "description": "Number of drinks in the order"
+    },
+    "groupActiveOnly": {
+      "kind": "parameter",
+      "displayName": "Group Active Only",
+      "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",
+      "displayName": "Group Delay",
+      "group": "producer",
+      "type": "integer",
+      "javaType": "java.lang.Long",
+      "deprecated": false,
+      "description": "Set the initial delay for stats (in millis)"
+    },
+    "groupInterval": {
+      "kind": "parameter",
+      "displayName": "Group Interval",
+      "group": "producer",
+      "type": "integer",
+      "javaType": "java.lang.Long",
+      "deprecated": false,
+      "description": "If specified will group message stats by this time 
interval (in millis)"
+    },
+    "groupSize": {
+      "kind": "parameter",
+      "displayName": "Group Size",
+      "group": "producer",
+      "type": "integer",
+      "javaType": "java.lang.Integer",
+      "deprecated": false,
+      "description": "An integer that specifies a group size for throughput 
logging."
+    },
+    "level": {
+      "kind": "parameter",
+      "displayName": "Level",
+      "group": "producer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "enum": [
+        "ERROR",
+        "WARN",
+        "INFO",
+        "DEBUG",
+        "TRACE",
+        "OFF"
+      ],
+      "deprecated": false,
+      "defaultValue": "INFO",
+      "description": "Logging level to use. The default value is INFO."
+    },
+    "marker": {
+      "kind": "parameter",
+      "displayName": "Marker",
+      "group": "producer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "description": "An optional Marker name to use."
+    },
+    "exchangePattern": {
+      "kind": "parameter",
+      "displayName": "Exchange Pattern",
+      "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",
+      "displayName": "Synchronous",
+      "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",
+      "displayName": "Kerberos Renew Jitter",
+      "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",
+      "displayName": "Max Chars",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": false,
+      "defaultValue": 10000,
+      "description": "Limits the number of characters logged per line."
+    },
+    "multiline": {
+      "kind": "parameter",
+      "displayName": "Multiline",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "If enabled then each information is outputted on a 
newline."
+    },
+    "repeatCount": {
+      "kind": "parameter",
+      "displayName": "Repeat Count",
+      "group": "consumer",
+      "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."
+    },
+    "showAll": {
+      "kind": "parameter",
+      "displayName": "Show All",
+      "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)"
+    },
+    "showBody": {
+      "kind": "parameter",
+      "displayName": "Show Body",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": true,
+      "description": "Show the message body."
+    },
+    "showBodyType": {
+      "kind": "parameter",
+      "displayName": "Show Body Type",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": true,
+      "description": "Show the body Java type."
+    },
+    "showCaughtException": {
+      "kind": "parameter",
+      "displayName": "Show Caught Exception",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "f the exchange has a caught exception show the exception 
message (no stack trace). A caught exception is stored as a property on the 
exchange (using the key link org.apache.camel.ExchangeEXCEPTION_CAUGHT and for 
instance a doCatch can catch exceptions."
+    },
+    "showException": {
+      "kind": "parameter",
+      "displayName": "Show Exception",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "If the exchange has an exception show the exception 
message (no stacktrace)"
+    },
+    "showExchangeId": {
+      "kind": "parameter",
+      "displayName": "Show Exchange Id",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "Show the unique exchange ID."
+    },
+    "showExchangePattern": {
+      "kind": "parameter",
+      "displayName": "Show Exchange Pattern",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": true,
+      "description": "Shows the Message Exchange Pattern (or MEP for short)."
+    },
+    "showFiles": {
+      "kind": "parameter",
+      "displayName": "Show Files",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "If enabled Camel will output files"
+    },
+    "showFuture": {
+      "kind": "parameter",
+      "displayName": "Show Future",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "If enabled Camel will on Future objects wait for it to 
complete to obtain the payload to be logged."
+    },
+    "showHeaders": {
+      "kind": "parameter",
+      "displayName": "Show Headers",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "Show the message headers."
+    },
+    "showOut": {
+      "kind": "parameter",
+      "displayName": "Show Out",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "If the exchange has an out message show the out message."
+    },
+    "showProperties": {
+      "kind": "parameter",
+      "displayName": "Show Properties",
+      "group": "formatting",
+      "label": "formatting",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "Show the exchange properties."
+    },
+    "showStackTrace": {
+      "kind": "parameter",
+      "displayName": "Show Stack Trace",
+      "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",
+      "displayName": "Show Streams",
+      "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",
+      "displayName": "Show Body Line Separator",
+      "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",
+      "displayName": "Font Size",
+      "group": "producer",
+      "type": "number",
+      "javaType": "float",
+      "deprecated": false,
+      "secret": false,
+      "defaultValue": 14,
+      "description": "Font size in pixels"
+    },
+    "style": {
+      "kind": "parameter",
+      "displayName": "Style",
+      "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/d75403bc/platforms/camel-catalog/src/test/resources/org/foo/camel/dummyformat-pretty.json
----------------------------------------------------------------------
diff --git 
a/platforms/camel-catalog/src/test/resources/org/foo/camel/dummyformat-pretty.json
 
b/platforms/camel-catalog/src/test/resources/org/foo/camel/dummyformat-pretty.json
new file mode 100644
index 0000000..867e357
--- /dev/null
+++ 
b/platforms/camel-catalog/src/test/resources/org/foo/camel/dummyformat-pretty.json
@@ -0,0 +1,56 @@
+{
+  "dataformat": {
+    "name": "dummyformat",
+    "kind": "dataformat",
+    "modelName": "dummyformat",
+    "title": "DummyFormat",
+    "description": "Camel dummy data format support",
+    "label": "dataformat,transformation",
+    "javaType": "org.foo.camel.DummyDataFormat",
+    "groupId": "org.foo.camel",
+    "artifactId": "dummy",
+    "version": "1.0"
+  },
+  "properties": {
+    "lineLength": {
+      "kind": "attribute",
+      "displayName": "Line Length",
+      "required": false,
+      "type": "integer",
+      "javaType": "java.lang.Integer",
+      "deprecated": false,
+      "defaultValue": "76",
+      "description": "To specific a maximum line length for the encoded data. 
By default 76 is used."
+    },
+    "lineSeparator": {
+      "kind": "attribute",
+      "displayName": "Line Separator",
+      "required": false,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "defaultValue": "\r\n",
+      "description": "The line separators to use. By default \r\n is used."
+    },
+    "urlSafe": {
+      "kind": "attribute",
+      "displayName": "Url Safe",
+      "required": false,
+      "type": "boolean",
+      "javaType": "java.lang.Boolean",
+      "deprecated": false,
+      "defaultValue": false,
+      "description": "Instead of emitting '' and '/' we emit '-' and '_' 
respectively. urlSafe is only applied to encode operations. Decoding seamlessly 
handles both modes. Is by default false."
+    },
+    "id": {
+      "kind": "attribute",
+      "displayName": "Id",
+      "required": false,
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": false,
+      "description": "Sets the value of the id property."
+    }
+  }
+}
+

http://git-wip-us.apache.org/repos/asf/camel/blob/d75403bc/platforms/camel-catalog/src/test/resources/sample-pretty.json
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog/src/test/resources/sample-pretty.json 
b/platforms/camel-catalog/src/test/resources/sample-pretty.json
new file mode 100644
index 0000000..a9fcb10
--- /dev/null
+++ b/platforms/camel-catalog/src/test/resources/sample-pretty.json
@@ -0,0 +1,693 @@
+{
+  "properties": {
+    "host": {
+      "value": "someserver",
+      "kind": "path",
+      "required": "true",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false",
+      "description": "Hostname of the FTP server"
+    },
+    "port": {
+      "value": "21",
+      "kind": "path",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false",
+      "description": "Port of the FTP server"
+    },
+    "directoryName": {
+      "value": "foo",
+      "kind": "path",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false",
+      "description": "The starting directory"
+    },
+    "username": {
+      "kind": "parameter",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false",
+      "description": "Username to use for login"
+    },
+    "password": {
+      "kind": "parameter",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false",
+      "description": "Password to use for login"
+    },
+    "binary": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false"
+    },
+    "passiveMode": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "description": "Sets passive mode connections. Default is active mode 
connections."
+    },
+    "connectTimeout": {
+      "value": "5000",
+      "kind": "parameter",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false",
+      "defaultValue": "10000",
+      "description": "Sets the connect timeout for waiting for a connection to 
be established Used by both FTPClient and JSCH"
+    },
+    "timeout": {
+      "kind": "parameter",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false",
+      "defaultValue": "30000",
+      "description": "Sets the data timeout for waiting for reply Used only by 
FTPClient"
+    },
+    "soTimeout": {
+      "kind": "parameter",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false",
+      "description": "Sets the so timeout Used only by FTPClient"
+    },
+    "throwExceptionOnConnectFailed": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "description": "Should an exception be thrown if connection failed 
(exhausted) By default exception is not thrown and a WARN is logged. You can 
use this to enable exception being thrown and handle the thrown exception from 
the org.apache.camel.spi.PollingConsumerPollStrategy rollback method."
+    },
+    "siteCommand": {
+      "kind": "parameter",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false",
+      "description": "Sets optional site command(s) to be executed after 
successful login. Multiple site commands can be separated using a new line 
character (\n)."
+    },
+    "stepwise": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true",
+      "description": "Sets whether we should stepwise change directories while 
traversing file structures when downloading files or as well when uploading a 
file to a directory. You can disable this if you for example are in a situation 
where you cannot change directory on the FTP server due security reasons."
+    },
+    "separator": {
+      "kind": "parameter",
+      "type": "object",
+      "javaType": 
"org.apache.camel.component.file.remote.RemoteFileConfiguration.PathSeparator",
+      "deprecated": "false",
+      "defaultValue": "Auto",
+      "description": "Sets the path separator to be used. UNIX = Uses unix 
style path separator Windows = Uses windows style path separator Auto = (is 
default) Use existing path separator in file name"
+    },
+    "streamDownload": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "description": "Sets the download method to use when not using a local 
working directory. If set to true the remote files are streamed to the route as 
they are read. When set to false the remote files are loaded into memory before 
being sent into the route."
+    },
+    "useList": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true",
+      "description": "Whether to allow using LIST command when downloading a 
file. Default is true. In some use cases you may want to download a specific 
file and are not allowed to use the LIST command and therefore you can set this 
option to false."
+    },
+    "ignoreFileNotFoundOrPermissionError": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "description": "Whether to ignore when trying to download a file which 
does not exist or due to permission error. By default when a file does not 
exists or insufficient permission then an exception is thrown. Setting this 
option to true allows to ignore that instead."
+    },
+    "dataTimeout": {
+      "kind": "parameter",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false"
+    },
+    "maximumReconnectAttempts": {
+      "kind": "parameter",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false"
+    },
+    "reconnectDelay": {
+      "kind": "parameter",
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": "false"
+    },
+    "disconnect": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false"
+    },
+    "fastExistsCheck": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false"
+    },
+    "download": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false"
+    },
+    "autoCreate": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true"
+    },
+    "bufferSize": {
+      "kind": "parameter",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false",
+      "defaultValue": "131072"
+    },
+    "flatten": {
+      "kind": "parameter",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false"
+    },
+    "charset": {
+      "kind": "parameter",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "fileName": {
+      "kind": "parameter",
+      "type": "object",
+      "javaType": "org.apache.camel.Expression",
+      "deprecated": "false"
+    },
+    "fileExist": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "string",
+      "javaType": "org.apache.camel.component.file.GenericFileExist",
+      "enum": [
+        "Override",
+        "Append",
+        "Fail",
+        "Ignore",
+        "Move",
+        "TryRename"
+      ],
+      "deprecated": "false",
+      "defaultValue": "Override"
+    },
+    "tempPrefix": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "tempFileName": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "object",
+      "javaType": "org.apache.camel.Expression",
+      "deprecated": "false"
+    },
+    "eagerDeleteTargetFile": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true"
+    },
+    "keepLastModified": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "false"
+    },
+    "doneFileName": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "allowNullBody": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "false"
+    },
+    "chmod": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "processStrategy": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": 
"org.apache.camel.component.file.GenericFileProcessStrategy<T>",
+      "deprecated": "false"
+    },
+    "inProgressRepository": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": 
"org.apache.camel.spi.IdempotentRepository<java.lang.String>",
+      "deprecated": "false"
+    },
+    "localWorkDirectory": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "startingDirectoryMustExist": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "false"
+    },
+    "directoryMustExist": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "false"
+    },
+    "noop": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "false"
+    },
+    "recursive": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "false"
+    },
+    "delete": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "false"
+    },
+    "maxMessagesPerPoll": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false"
+    },
+    "eagerMaxMessagesPerPoll": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true"
+    },
+    "maxDepth": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false",
+      "defaultValue": "2147483647"
+    },
+    "minDepth": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false"
+    },
+    "include": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "exclude": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "move": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "org.apache.camel.Expression",
+      "deprecated": "false"
+    },
+    "moveFailed": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "org.apache.camel.Expression",
+      "deprecated": "false"
+    },
+    "preMove": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "org.apache.camel.Expression",
+      "deprecated": "false"
+    },
+    "moveExisting": {
+      "kind": "parameter",
+      "label": "producer",
+      "type": "object",
+      "javaType": "org.apache.camel.Expression",
+      "deprecated": "false"
+    },
+    "idempotent": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "java.lang.Boolean",
+      "deprecated": "false"
+    },
+    "idempotentKey": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "org.apache.camel.Expression",
+      "deprecated": "false"
+    },
+    "idempotentRepository": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": 
"org.apache.camel.spi.IdempotentRepository<java.lang.String>",
+      "deprecated": "false"
+    },
+    "filter": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "org.apache.camel.component.file.GenericFileFilter<T>",
+      "deprecated": "false"
+    },
+    "antInclude": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "antExclude": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "deprecated": "false"
+    },
+    "sorter": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": 
"java.util.Comparator<org.apache.camel.component.file.GenericFile<T>>",
+      "deprecated": "false"
+    },
+    "sortBy": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "java.util.Comparator<org.apache.camel.Exchange>",
+      "deprecated": "false"
+    },
+    "readLock": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "java.lang.String",
+      "enum": [
+        "none",
+        "markerFile",
+        "fileLock",
+        "rename",
+        "changed"
+      ],
+      "deprecated": "false"
+    },
+    "readLockCheckInterval": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": "false",
+      "defaultValue": "1000"
+    },
+    "readLockTimeout": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": "false",
+      "defaultValue": "10000"
+    },
+    "readLockMarkerFile": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true"
+    },
+    "readLockLoggingLevel": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "org.apache.camel.LoggingLevel",
+      "enum": [
+        "DEBUG",
+        "ERROR",
+        "INFO",
+        "TRACE",
+        "WARN",
+        "OFF"
+      ],
+      "deprecated": "false",
+      "defaultValue": "WARN"
+    },
+    "readLockMinLength": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": "false",
+      "defaultValue": "1"
+    },
+    "readLockMinAge": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": "false",
+      "defaultValue": "0"
+    },
+    "exclusiveReadLockStrategy": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": 
"org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy<T>",
+      "deprecated": "false"
+    },
+    "startScheduler": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true"
+    },
+    "initialDelay": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": "false",
+      "defaultValue": "1000"
+    },
+    "delay": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "long",
+      "deprecated": "false",
+      "defaultValue": "500"
+    },
+    "timeUnit": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "java.util.concurrent.TimeUnit",
+      "enum": [
+        "NANOSECONDS",
+        "MICROSECONDS",
+        "MILLISECONDS",
+        "SECONDS",
+        "MINUTES",
+        "HOURS",
+        "DAYS"
+      ],
+      "deprecated": "false",
+      "defaultValue": "MILLISECONDS"
+    },
+    "useFixedDelay": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false",
+      "defaultValue": "true"
+    },
+    "pollStrategy": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy",
+      "deprecated": "false"
+    },
+    "runLoggingLevel": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "org.apache.camel.LoggingLevel",
+      "enum": [
+        "DEBUG",
+        "ERROR",
+        "INFO",
+        "TRACE",
+        "WARN",
+        "OFF"
+      ],
+      "deprecated": "false",
+      "defaultValue": "TRACE"
+    },
+    "sendEmptyMessageWhenIdle": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false"
+    },
+    "greedy": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "boolean",
+      "javaType": "boolean",
+      "deprecated": "false"
+    },
+    "scheduler": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "string",
+      "javaType": "org.apache.camel.spi.ScheduledPollConsumerScheduler",
+      "enum": [
+        "spring",
+        "quartz2"
+      ],
+      "deprecated": "false"
+    },
+    "schedulerProperties": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "java.util.Map<java.lang.String,java.lang.Object>",
+      "deprecated": "false"
+    },
+    "scheduledExecutorService": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "object",
+      "javaType": "java.util.concurrent.ScheduledExecutorService",
+      "deprecated": "false"
+    },
+    "backoffMultiplier": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false"
+    },
+    "backoffIdleThreshold": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false"
+    },
+    "backoffErrorThreshold": {
+      "kind": "parameter",
+      "label": "consumer",
+      "type": "integer",
+      "javaType": "int",
+      "deprecated": "false"
+    },
+    "exchangePattern": {
+      "kind": "parameter",
+      "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",
+      "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)."
+    }
+  }
+}
+

Reply via email to