This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7de0ee4225efc50f43b5a6b6ede938a9823b21da
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sat Dec 5 11:45:56 2020 +0100

    CAMEL-15804: DataSonnet Expression Language Support
---
 .../camel/catalog}/docs/datasonnet-language.adoc   | 17 ++++++++++++++
 .../services/org/apache/camel/language.properties  |  7 ++++++
 .../services/org/apache/camel/language/datasonnet  |  2 ++
 .../camel/language/datasonnet/datasonnet.json      | 26 ++++++++++++++++++++++
 .../src/main/docs/datasonnet-language.adoc         | 17 ++++++++++++++
 .../services/org/apache/camel/model.properties     |  1 +
 .../org/apache/camel/model/aggregate.json          |  8 +++----
 .../resources/org/apache/camel/model/delay.json    |  2 +-
 .../org/apache/camel/model/dynamicRouter.json      |  2 +-
 .../resources/org/apache/camel/model/enrich.json   |  2 +-
 .../resources/org/apache/camel/model/filter.json   |  2 +-
 .../org/apache/camel/model/idempotentConsumer.json |  2 +-
 .../apache/camel/model/language/datasonnet.json    | 22 ++++++++++++++++++
 .../org/apache/camel/model/language/jaxb.index     |  1 +
 .../apache/camel/model/loadbalancer/sticky.json    |  2 +-
 .../resources/org/apache/camel/model/loop.json     |  2 +-
 .../org/apache/camel/model/onException.json        |  6 ++---
 .../org/apache/camel/model/pollEnrich.json         |  2 +-
 .../org/apache/camel/model/recipientList.json      |  2 +-
 .../org/apache/camel/model/resequence.json         |  2 +-
 .../org/apache/camel/model/routingSlip.json        |  2 +-
 .../resources/org/apache/camel/model/script.json   |  2 +-
 .../resources/org/apache/camel/model/setBody.json  |  2 +-
 .../org/apache/camel/model/setHeader.json          |  2 +-
 .../org/apache/camel/model/setProperty.json        |  2 +-
 .../resources/org/apache/camel/model/sort.json     |  2 +-
 .../resources/org/apache/camel/model/split.json    |  2 +-
 .../resources/org/apache/camel/model/throttle.json |  4 ++--
 .../org/apache/camel/model/transform.json          |  2 +-
 .../resources/org/apache/camel/model/validate.json |  2 +-
 .../resources/org/apache/camel/model/when.json     |  2 +-
 .../apache/camel/model/whenSkipSendToEndpoint.json |  2 +-
 .../resources/org/apache/camel/model/wireTap.json  |  2 +-
 .../java/org/apache/camel/xml/in/ModelParser.java  | 12 ++++++++++
 .../languages/pages}/datasonnet-language.adoc      | 19 ++++++++++++++++
 35 files changed, 155 insertions(+), 31 deletions(-)

diff --git a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/datasonnet-language.adoc
similarity index 91%
copy from components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
copy to 
catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/datasonnet-language.adoc
index 5f2ea2d..85da719 100644
--- a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/datasonnet-language.adoc
@@ -18,6 +18,23 @@ To use a DataSonnet expression use the following Java code:
 ... datasonnet("someDSExpression") ...
 ---------------------------------------
 
+== DataSonnet Options
+
+// language options: START
+The DataSonnet language supports 4 options, which are listed below.
+
+
+
+[width="100%",cols="2,1m,1m,6",options="header"]
+|===
+| Name | Default | Java Type | Description
+| bodyMediaType |  | String | The String representation of the message's body 
MediaType
+| outputMediaType |  | String | The String representation of the MediaType to 
output
+| resultType |  | String | Sets the class name of the result type (type from 
output) The default result type is com.datasonnet.document.Document
+| trim | true | Boolean | Whether to trim the value to remove leading and 
trailing whitespaces and line breaks
+|===
+// language options: END
+
 == Example
 
 Here is a simple example using a DataSonnet expression as a predicate in a 
Message Filter:
diff --git 
a/components/camel-datasonnet/src/generated/resources/META-INF/services/org/apache/camel/language.properties
 
b/components/camel-datasonnet/src/generated/resources/META-INF/services/org/apache/camel/language.properties
new file mode 100644
index 0000000..d1f4938
--- /dev/null
+++ 
b/components/camel-datasonnet/src/generated/resources/META-INF/services/org/apache/camel/language.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+languages=datasonnet
+groupId=org.apache.camel
+artifactId=camel-datasonnet
+version=3.7.0-SNAPSHOT
+projectName=Camel :: DataSonnet
+projectDescription=Camel DataSonnet support
diff --git 
a/components/camel-datasonnet/src/generated/resources/META-INF/services/org/apache/camel/language/datasonnet
 
b/components/camel-datasonnet/src/generated/resources/META-INF/services/org/apache/camel/language/datasonnet
new file mode 100644
index 0000000..7a46c5b
--- /dev/null
+++ 
b/components/camel-datasonnet/src/generated/resources/META-INF/services/org/apache/camel/language/datasonnet
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.language.datasonnet.DatasonnetLanguage
diff --git 
a/components/camel-datasonnet/src/generated/resources/org/apache/camel/language/datasonnet/datasonnet.json
 
b/components/camel-datasonnet/src/generated/resources/org/apache/camel/language/datasonnet/datasonnet.json
new file mode 100644
index 0000000..9362f75
--- /dev/null
+++ 
b/components/camel-datasonnet/src/generated/resources/org/apache/camel/language/datasonnet/datasonnet.json
@@ -0,0 +1,26 @@
+{
+  "language": {
+    "kind": "language",
+    "name": "datasonnet",
+    "title": "DataSonnet",
+    "description": "To use DataSonnet scripts in Camel expressions or 
predicates.",
+    "deprecated": false,
+    "firstVersion": "3.7.0",
+    "label": "language,script",
+    "javaType": "org.apache.camel.language.datasonnet.DatasonnetLanguage",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-datasonnet",
+    "version": "3.7.0-SNAPSHOT",
+    "modelName": "datasonnet",
+    "modelJavaType": "org.apache.camel.model.language.DatasonnetExpression"
+  },
+  "properties": {
+    "expression": { "kind": "value", "displayName": "Expression", "required": 
true, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The expression value in 
your chosen language syntax" },
+    "bodyMediaType": { "kind": "attribute", "displayName": "Body Media Type", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
String representation of the message's body MediaType" },
+    "outputMediaType": { "kind": "attribute", "displayName": "Output Media 
Type", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
String representation of the MediaType to output" },
+    "resultType": { "kind": "attribute", "displayName": "Result Type", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the class name of the result type (type from output) The default result type is 
com.datasonnet.document.Document" },
+    "trim": { "kind": "attribute", "displayName": "Trim", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether to trim the value to remove leading and trailing whitespaces and line 
breaks" },
+    "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" }
+  }
+}
diff --git a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc 
b/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
index 5f2ea2d..85da719 100644
--- a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
+++ b/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
@@ -18,6 +18,23 @@ To use a DataSonnet expression use the following Java code:
 ... datasonnet("someDSExpression") ...
 ---------------------------------------
 
+== DataSonnet Options
+
+// language options: START
+The DataSonnet language supports 4 options, which are listed below.
+
+
+
+[width="100%",cols="2,1m,1m,6",options="header"]
+|===
+| Name | Default | Java Type | Description
+| bodyMediaType |  | String | The String representation of the message's body 
MediaType
+| outputMediaType |  | String | The String representation of the MediaType to 
output
+| resultType |  | String | Sets the class name of the result type (type from 
output) The default result type is com.datasonnet.document.Document
+| trim | true | Boolean | Whether to trim the value to remove leading and 
trailing whitespaces and line breaks
+|===
+// language options: END
+
 == Example
 
 Here is a simple example using a DataSonnet expression as a predicate in a 
Message Filter:
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
 
b/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
index 7d818d97..74a0127 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
@@ -30,6 +30,7 @@ customDataFormat
 customLoadBalancer
 customServiceFilter
 dataFormats
+datasonnet
 defaultLoadBalancer
 delay
 delete
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/aggregate.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/aggregate.json
index 00c25c3..d4651eb 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/aggregate.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/aggregate.json
@@ -11,10 +11,10 @@
     "output": false
   },
   "properties": {
-    "correlationExpression": { "kind": "expression", "displayName": 
"Correlation Expression", "required": true, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "The [...]
-    "completionPredicate": { "kind": "expression", "displayName": "Completion 
Predicate", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, " [...]
-    "completionTimeoutExpression": { "kind": "expression", "displayName": 
"Completion Timeout Expression", "required": false, "type": "object", 
"javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ 
"constant", "csimple", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "desc [...]
-    "completionSizeExpression": { "kind": "expression", "displayName": 
"Completion Size Expression", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "descriptio [...]
+    "correlationExpression": { "kind": "expression", "displayName": 
"Correlation Expression", "required": true, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "desc [...]
+    "completionPredicate": { "kind": "expression", "displayName": "Completion 
Predicate", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredi [...]
+    "completionTimeoutExpression": { "kind": "expression", "displayName": 
"Completion Timeout Expression", "required": false, "type": "object", 
"javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ 
"constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", 
"hl7terser", "joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", 
"simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": 
false, "autowired": false, "secret" [...]
+    "completionSizeExpression": { "kind": "expression", "displayName": 
"Completion Size Expression", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": fals [...]
     "optimisticLockRetryPolicy": { "kind": "element", "displayName": 
"Optimistic Lock Retry Policy", "required": false, "type": "object", 
"javaType": "org.apache.camel.model.OptimisticLockRetryPolicyDefinition", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to configure retry settings when using optimistic locking." },
     "parallelProcessing": { "kind": "attribute", "displayName": "Parallel 
Processing", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "When aggregated are completed they are 
being send out of the aggregator. This option indicates whether or not Camel 
should use a thread pool with multiple threads for concurrency. If no custom 
thread pool has been specified then Camel cr [...]
     "optimisticLocking": { "kind": "attribute", "displayName": "Optimistic 
Locking", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Turns on using optimistic locking, which 
requires the aggregationRepository being used, is supporting this by 
implementing org.apache.camel.spi.OptimisticLockingAggregationRepository ." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/delay.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/delay.json
index d820f1d..bfa8e7f 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/delay.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/delay.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to define how lo [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "executorServiceRef": { "kind": "attribute", "displayName": "Executor 
Service Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Refers to a custom Thread Pool if asyncDelay has been enabled." 
},
     "asyncDelayed": { "kind": "attribute", "displayName": "Async Delayed", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Enables asynchronous delay which means the thread will not 
block while delaying." },
     "callerRunsWhenRejected": { "kind": "attribute", "displayName": "Caller 
Runs When Rejected", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": true, "description": "Whether or not the caller should run the 
task when it was rejected by the thread pool. Is by default true" },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/dynamicRouter.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/dynamicRouter.json
index e11f62f..67431d9 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/dynamicRouter.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/dynamicRouter.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to call that ret [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "uriDelimiter": { "kind": "attribute", "displayName": "Uri Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", 
"description": "Sets the uri delimiter to use" },
     "ignoreInvalidEndpoints": { "kind": "attribute", "displayName": "Ignore 
Invalid Endpoints", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Ignore the invalidate endpoint exception when try to create a 
producer with that endpoint" },
     "cacheSize": { "kind": "attribute", "displayName": "Cache Size", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the maximum size used by the org.apache.camel.spi.ProducerCache which is used 
to cache and reuse producers when using this dynamic router, when uris are 
reused. Beware that when using dynamic endpoints then it affects how well the 
cache can be utilized. If each dynamic end [...]
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/enrich.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/enrich.json
index e843859..33c2950 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/enrich.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/enrich.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression that computes th [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression th [...]
     "strategyRef": { "kind": "attribute", "displayName": "Strategy Ref", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Refers to an AggregationStrategy to be used to merge the reply from the 
external service, into a single outgoing message. By default Camel will use the 
reply from the external service as outgoing message." },
     "strategyMethodName": { "kind": "attribute", "displayName": "Strategy 
Method Name", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "This option can be used to explicit declare the method name to 
use, when using POJOs as the AggregationStrategy." },
     "strategyMethodAllowNull": { "kind": "attribute", "displayName": "Strategy 
Method Allow Null", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "If this option is false then the aggregate method is not used 
if there was no data to enrich. If this option is true then null values is used 
as the oldExchange (when no data to enrich), when using POJOs as the 
AggregationStrategy." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/filter.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/filter.json
index 9b1d7cc..2a2f92a 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/filter.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/filter.json
@@ -11,7 +11,7 @@
     "output": true
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Expres [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredicate": true, "descrip [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/idempotentConsumer.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/idempotentConsumer.json
index ce4c874..6a48485 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/idempotentConsumer.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/idempotentConsumer.json
@@ -11,7 +11,7 @@
     "output": true
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression used to calculat [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression us [...]
     "messageIdRepositoryRef": { "kind": "attribute", "displayName": "Message 
Id Repository Ref", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the reference name of the message id repository" },
     "eager": { "kind": "attribute", "displayName": "Eager", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": "Sets 
whether to eagerly add the key to the idempotent repository or wait until the 
exchange is complete. Eager is default enabled." },
     "completionEager": { "kind": "attribute", "displayName": "Completion 
Eager", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
whether to complete the idempotent consumer eager or when the exchange is done. 
If this option is true to complete eager, then the idempotent consumer will 
trigger its completion when the exchange reached the end of the block of the 
idempotent consumer pattern. S [...]
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/datasonnet.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/datasonnet.json
new file mode 100644
index 0000000..45cd45b
--- /dev/null
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/datasonnet.json
@@ -0,0 +1,22 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "datasonnet",
+    "title": "DataSonnet",
+    "description": "To use DataSonnet scripts in Camel expressions or 
predicates.",
+    "deprecated": false,
+    "firstVersion": "3.7.0",
+    "label": "language,script",
+    "javaType": "org.apache.camel.model.language.DatasonnetExpression",
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "expression": { "kind": "value", "displayName": "Expression", "required": 
true, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The expression value in 
your chosen language syntax" },
+    "bodyMediaType": { "kind": "attribute", "displayName": "Body Media Type", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
String representation of the message's body MediaType" },
+    "outputMediaType": { "kind": "attribute", "displayName": "Output Media 
Type", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
String representation of the MediaType to output" },
+    "resultType": { "kind": "attribute", "displayName": "Result Type", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the class name of the result type (type from output) The default result type is 
com.datasonnet.document.Document" },
+    "trim": { "kind": "attribute", "displayName": "Trim", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether to trim the value to remove leading and trailing whitespaces and line 
breaks" },
+    "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" }
+  }
+}
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/jaxb.index
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/jaxb.index
index d16cd77..bdb5f44 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/jaxb.index
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/jaxb.index
@@ -1,6 +1,7 @@
 # Generated by camel build tools - do NOT edit this file!
 CSimpleExpression
 ConstantExpression
+DatasonnetExpression
 ExchangePropertyExpression
 ExpressionDefinition
 GroovyExpression
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/loadbalancer/sticky.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/loadbalancer/sticky.json
index 407ec4e..baf2751 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/loadbalancer/sticky.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/loadbalancer/sticky.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "correlationExpression": { "kind": "expression", "displayName": 
"Correlation Expression", "required": true, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "The [...]
+    "correlationExpression": { "kind": "expression", "displayName": 
"Correlation Expression", "required": true, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "desc [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The id of this node" }
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/loop.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/loop.json
index 0f80d41..9f23152 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/loop.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/loop.json
@@ -11,7 +11,7 @@
     "output": true
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to define how ma [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "copy": { "kind": "attribute", "displayName": "Copy", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": "If 
the copy attribute is true, a copy of the input Exchange is used for each 
iteration. That means each iteration will start from a copy of the same 
message. By default loop will loop the same exchange all over, so each 
iteration may have different message content." },
     "doWhile": { "kind": "attribute", "displayName": "Do While", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Enables the while loop that loops until the predicate evaluates to false or 
null." },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/onException.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/onException.json
index 11faf03..a438463 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/onException.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/onException.json
@@ -13,11 +13,11 @@
   "properties": {
     "exception": { "kind": "element", "displayName": "Exception", "required": 
true, "type": "array", "javaType": "java.util.List<java.lang.String>", 
"deprecated": false, "autowired": false, "secret": false, "description": "A set 
of exceptions to react upon." },
     "onWhen": { "kind": "element", "displayName": "On When", "required": 
false, "type": "object", "javaType": "org.apache.camel.model.WhenDefinition", 
"deprecated": false, "autowired": false, "secret": false, "asPredicate": true, 
"description": "Sets an additional predicate that should be true before the 
onException is triggered. To be used for fine grained controlling whether a 
thrown exception should be intercepted by this exception type or not." },
-    "retryWhile": { "kind": "expression", "displayName": "Retry While", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Set [...]
+    "retryWhile": { "kind": "expression", "displayName": "Retry While", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredicate": true, "desc [...]
     "redeliveryPolicy": { "kind": "element", "displayName": "Redelivery 
Policy", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.RedeliveryPolicyDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Used for configuring 
redelivery options" },
     "redeliveryPolicyRef": { "kind": "attribute", "displayName": "Redelivery 
Policy Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets a reference to a RedeliveryPolicy to lookup in the 
org.apache.camel.spi.Registry to be used." },
-    "handled": { "kind": "expression", "displayName": "Handled", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Sets wheth [...]
-    "continued": { "kind": "expression", "displayName": "Continued", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Sets w [...]
+    "handled": { "kind": "expression", "displayName": "Handled", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredicate": true, "description [...]
+    "continued": { "kind": "expression", "displayName": "Continued", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredicate": true, "descrip [...]
     "onRedeliveryRef": { "kind": "attribute", "displayName": "On Redelivery 
Ref", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
a reference to a processor that should be processed before a redelivery 
attempt. Can be used to change the org.apache.camel.Exchange before its being 
redelivered." },
     "onExceptionOccurredRef": { "kind": "attribute", "displayName": "On 
Exception Occurred Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets a reference to a processor that should be processed just 
after an exception occurred. Can be used to perform custom logging about the 
occurred exception at the exact time it happened. Important: Any exception 
thrown from this processor will be ign [...]
     "useOriginalMessage": { "kind": "attribute", "displayName": "Use Original 
Message", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Will use the original input 
org.apache.camel.Message (original body and headers) when an 
org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only 
applies when all redeliveries attempt have failed and the org.apache [...]
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/pollEnrich.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/pollEnrich.json
index eada138..c258f92 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/pollEnrich.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/pollEnrich.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression that computes th [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression th [...]
     "timeout": { "kind": "attribute", "displayName": "Timeout", "required": 
false, "type": "duration", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "-1", "description": 
"Timeout in millis when polling from the external service. The timeout has 
influence about the poll enrich behavior. It basically operations in three 
different modes: negative value - Waits until a message is available and then 
returns it. Warning that this meth [...]
     "strategyRef": { "kind": "attribute", "displayName": "Strategy Ref", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Refers to an AggregationStrategy to be used to merge the reply from the 
external service, into a single outgoing message. By default Camel will use the 
reply from the external service as outgoing message." },
     "strategyMethodName": { "kind": "attribute", "displayName": "Strategy 
Method Name", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "This option can be used to explicit declare the method name to 
use, when using POJOs as the AggregationStrategy." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/recipientList.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/recipientList.json
index ac0e90b..26915b4 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/recipientList.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/recipientList.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression that returns whi [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression th [...]
     "delimiter": { "kind": "attribute", "displayName": "Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", 
"description": "Delimiter used if the Expression returned multiple endpoints. 
Can be turned off using the value false. The default value is ," },
     "parallelProcessing": { "kind": "attribute", "displayName": "Parallel 
Processing", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If enabled then sending messages to the 
recipients occurs concurrently. Note the caller thread will still wait until 
all messages has been fully processed, before it continues. Its only the 
sending and processing the replies from the rec [...]
     "strategyRef": { "kind": "attribute", "displayName": "Strategy Ref", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
a reference to the AggregationStrategy to be used to assemble the replies from 
the recipients, into a single outgoing message from the RecipientList. By 
default Camel will use the last reply as the outgoing message. You can also use 
a POJO as the AggregationStrategy" },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/resequence.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/resequence.json
index 4ef1c99..8dad199 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/resequence.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/resequence.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to use for re-or [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "resequencerConfig": { "kind": "element", "displayName": "Resequencer 
Config", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.config.ResequencerConfig", "oneOf": [ "batch-config", 
"stream-config" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "To configure the resequencer in using either batch or stream 
configuration. Will by default use batch configuration." },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/routingSlip.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/routingSlip.json
index 8b3687a..c961041 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/routingSlip.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/routingSlip.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to define the ro [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "uriDelimiter": { "kind": "attribute", "displayName": "Uri Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", 
"description": "Sets the uri delimiter to use" },
     "ignoreInvalidEndpoints": { "kind": "attribute", "displayName": "Ignore 
Invalid Endpoints", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Ignore the invalidate endpoint exception 
when try to create a producer with that endpoint" },
     "cacheSize": { "kind": "attribute", "displayName": "Cache Size", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the maximum size used by the org.apache.camel.spi.ProducerCache which is used 
to cache and reuse producers when using this routing slip, when uris are 
reused. Beware that when using dynamic endpoints then it affects how well the 
cache can be utilized. If each dynamic endpo [...]
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/script.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/script.json
index 7059874..9126d4e 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/script.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/script.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to return the tr [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/setBody.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/setBody.json
index 8c0d376..29681a5 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/setBody.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/setBody.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression that returns the [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression th [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/setHeader.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/setHeader.json
index 004b947..a150f8a 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/setHeader.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/setHeader.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to return the va [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "name": { "kind": "attribute", "displayName": "Name", "required": true, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of message header to 
set a new value The simple language can be used to define a dynamic evaluated 
header name to be used. Otherwise a constant name will be used." },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/setProperty.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/setProperty.json
index 0865177..cacb34d 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/setProperty.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/setProperty.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to return the va [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "name": { "kind": "attribute", "displayName": "Name", "required": true, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of exchange property 
to set a new value. The simple language can be used to define a dynamic 
evaluated exchange property name to be used. Otherwise a constant name will be 
used." },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/sort.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/sort.json
index 44b1cb7..38e96e6 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/sort.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/sort.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Optional expression to sort [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Optional expr [...]
     "comparatorRef": { "kind": "attribute", "displayName": "Comparator Ref", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
a reference to lookup for the comparator to use for sorting" },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/split.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/split.json
index be7368f..75d3f02 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/split.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/split.json
@@ -11,7 +11,7 @@
     "output": true
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression of how to split  [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression of [...]
     "delimiter": { "kind": "attribute", "displayName": "Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", 
"description": "Delimiter used in splitting messages. Can be turned off using 
the value false. The default value is ," },
     "parallelProcessing": { "kind": "attribute", "displayName": "Parallel 
Processing", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If enabled then processing each splitted 
messages occurs concurrently. Note the caller thread will still wait until all 
messages has been fully processed, before it continues. Its only processing the 
sub messages from the splitter which  [...]
     "strategyRef": { "kind": "attribute", "displayName": "Strategy Ref", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
a reference to the AggregationStrategy to be used to assemble the replies from 
the splitted messages, into a single outgoing message from the Splitter. By 
default Camel will use the original incoming message to the splitter (leave it 
unchanged). You can also use a POJO a [...]
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/throttle.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/throttle.json
index ee29b33..ae321e4 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/throttle.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/throttle.json
@@ -11,8 +11,8 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to configure the [...]
-    "correlationExpression": { "kind": "expression", "displayName": 
"Correlation Expression", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Th [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
+    "correlationExpression": { "kind": "expression", "displayName": 
"Correlation Expression", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "des [...]
     "executorServiceRef": { "kind": "attribute", "displayName": "Executor 
Service Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "To use a custom thread pool (ScheduledExecutorService) by the 
throttler." },
     "timePeriodMillis": { "kind": "attribute", "displayName": "Time Period 
Millis", "required": false, "type": "duration", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1000", "description": "Sets the time period during which the maximum request 
count is valid for" },
     "asyncDelayed": { "kind": "attribute", "displayName": "Async Delayed", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Enables asynchronous delay which means the thread will 
not block while delaying." },
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/transform.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/transform.json
index c6cd847..db12680 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/transform.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/transform.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Expression to return the tr [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Expression to [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/validate.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/validate.json
index ba37232..173c4cf 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/validate.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/validate.json
@@ -11,7 +11,7 @@
     "output": false
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Expres [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredicate": true, "descrip [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/when.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/when.json
index a6202fc..024ef20 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/when.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/when.json
@@ -11,7 +11,7 @@
     "output": true
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Expres [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredicate": true, "descrip [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/whenSkipSendToEndpoint.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/whenSkipSendToEndpoint.json
index 34ce534..c532cb3 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/whenSkipSendToEndpoint.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/whenSkipSendToEndpoint.json
@@ -11,7 +11,7 @@
     "output": true
   },
   "properties": {
-    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Expres [...]
+    "expression": { "kind": "expression", "displayName": "Expression", 
"required": true, "type": "object", "javaType": 
"org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "asPredicate": true, "descrip [...]
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the id of this node" 
},
     "description": { "kind": "element", "displayName": "Description", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.model.DescriptionDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the description of 
this node" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/wireTap.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/wireTap.json
index 70da4d5..ec8d585 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/wireTap.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/wireTap.json
@@ -12,7 +12,7 @@
   },
   "properties": {
     "processorRef": { "kind": "attribute", "displayName": "Processor Ref", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Reference to a Processor to use for creating a new body as the message to use 
for wire tapping" },
-    "body": { "kind": "expression", "displayName": "Body", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "exchangeProperty", "groovy", "header", "hl7terser", "joor", 
"jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", "spel", 
"tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Uses the expression for creating a ne 
[...]
+    "body": { "kind": "expression", "displayName": "Body", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", 
"csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", 
"joor", "jsonpath", "language", "method", "mvel", "ognl", "ref", "simple", 
"spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Uses the expression for 
[...]
     "executorServiceRef": { "kind": "attribute", "displayName": "Executor 
Service Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Uses a custom thread pool" },
     "copy": { "kind": "attribute", "displayName": "Copy", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": "Uses 
a copy of the original exchange" },
     "dynamicUri": { "kind": "attribute", "displayName": "Dynamic Uri", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Whether the uri is dynamic or static. If the uri is dynamic 
then the simple language is used to evaluate a dynamic uri to use as the 
wire-tap destination, for each incoming message. This works similar to how the 
toD EIP pattern works. If static then the  [...]
diff --git 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
index 137221b..f656dae 100644
--- 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
+++ 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
@@ -2340,6 +2340,17 @@ public class ModelParser extends BaseParser {
         return doParse(new ConstantExpression(),
             expressionDefinitionAttributeHandler(), noElementHandler(), 
expressionDefinitionValueHandler());
     }
+    protected DatasonnetExpression doParseDatasonnetExpression() throws 
IOException, XmlPullParserException {
+        return doParse(new DatasonnetExpression(), (def, key, val) -> {
+            switch (key) {
+                case "bodyMediaType": def.setBodyMediaType(val); break;
+                case "outputMediaType": def.setOutputMediaType(val); break;
+                case "resultType": def.setResultTypeName(val); break;
+                default: return 
expressionDefinitionAttributeHandler().accept(def, key, val);
+            }
+            return true;
+        }, noElementHandler(), expressionDefinitionValueHandler());
+    }
     protected ExchangePropertyExpression doParseExchangePropertyExpression() 
throws IOException, XmlPullParserException {
         return doParse(new ExchangePropertyExpression(),
             expressionDefinitionAttributeHandler(), noElementHandler(), 
expressionDefinitionValueHandler());
@@ -2984,6 +2995,7 @@ public class ModelParser extends BaseParser {
             case "expressionDefinition": return doParseExpressionDefinition();
             case "csimple": return doParseCSimpleExpression();
             case "constant": return doParseConstantExpression();
+            case "datasonnet": return doParseDatasonnetExpression();
             case "exchangeProperty": return 
doParseExchangePropertyExpression();
             case "groovy": return doParseGroovyExpression();
             case "header": return doParseHeaderExpression();
diff --git a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc 
b/docs/components/modules/languages/pages/datasonnet-language.adoc
similarity index 90%
copy from components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
copy to docs/components/modules/languages/pages/datasonnet-language.adoc
index 5f2ea2d..c985bd2 100644
--- a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
+++ b/docs/components/modules/languages/pages/datasonnet-language.adoc
@@ -1,5 +1,7 @@
 [[datasonnet-language]]
 = DataSonnet Language
+//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
+:page-source: 
components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
 :docTitle: DataSonnet
 :artifactId: camel-datasonnet
 :description: To use DataSonnet scripts in Camel expressions or predicates.
@@ -18,6 +20,23 @@ To use a DataSonnet expression use the following Java code:
 ... datasonnet("someDSExpression") ...
 ---------------------------------------
 
+== DataSonnet Options
+
+// language options: START
+The DataSonnet language supports 4 options, which are listed below.
+
+
+
+[width="100%",cols="2,1m,1m,6",options="header"]
+|===
+| Name | Default | Java Type | Description
+| bodyMediaType |  | String | The String representation of the message's body 
MediaType
+| outputMediaType |  | String | The String representation of the MediaType to 
output
+| resultType |  | String | Sets the class name of the result type (type from 
output) The default result type is com.datasonnet.document.Document
+| trim | true | Boolean | Whether to trim the value to remove leading and 
trailing whitespaces and line breaks
+|===
+// language options: END
+
 == Example
 
 Here is a simple example using a DataSonnet expression as a predicate in a 
Message Filter:

Reply via email to