You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/11/21 12:21:07 UTC
(camel) 01/01: CAMEL-20137: camel-joor - Use java as the language name (it is java code) as joor is confusing.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch joor-java
in repository https://gitbox.apache.org/repos/asf/camel.git
commit ede3fe91a026575d87c5d04919c698e222260d45
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Nov 21 13:16:05 2023 +0100
CAMEL-20137: camel-joor - Use java as the language name (it is java code) as joor is confusing.
---
.../camel/catalog/components/controlbus.json | 2 +-
.../apache/camel/catalog/components/language.json | 2 +-
.../org/apache/camel/catalog/languages.properties | 1 +
.../org/apache/camel/catalog/languages/java.json | 16 +-
.../org/apache/camel/catalog/languages/joor.json | 2 +-
.../org/apache/camel/catalog/models.properties | 1 +
.../org/apache/camel/catalog/models/aggregate.json | 8 +-
.../org/apache/camel/catalog/models/delay.json | 2 +-
.../apache/camel/catalog/models/dynamicRouter.json | 2 +-
.../org/apache/camel/catalog/models/enrich.json | 2 +-
.../org/apache/camel/catalog/models/filter.json | 2 +-
.../camel/catalog/models/idempotentConsumer.json | 2 +-
.../org/apache/camel/catalog/models/java.json | 10 +-
.../org/apache/camel/catalog/models/joor.json | 2 +-
.../org/apache/camel/catalog/models/loop.json | 2 +-
.../apache/camel/catalog/models/onException.json | 6 +-
.../apache/camel/catalog/models/pollEnrich.json | 2 +-
.../camel/catalog/models/propertyExpression.json | 2 +-
.../apache/camel/catalog/models/recipientList.json | 2 +-
.../apache/camel/catalog/models/resequence.json | 2 +-
.../apache/camel/catalog/models/routingSlip.json | 2 +-
.../org/apache/camel/catalog/models/script.json | 2 +-
.../org/apache/camel/catalog/models/setBody.json | 2 +-
.../org/apache/camel/catalog/models/setHeader.json | 2 +-
.../apache/camel/catalog/models/setProperty.json | 2 +-
.../org/apache/camel/catalog/models/sort.json | 2 +-
.../org/apache/camel/catalog/models/split.json | 2 +-
.../org/apache/camel/catalog/models/sticky.json | 2 +-
.../org/apache/camel/catalog/models/throttle.json | 4 +-
.../org/apache/camel/catalog/models/transform.json | 2 +-
.../org/apache/camel/catalog/models/validate.json | 2 +-
.../org/apache/camel/catalog/models/when.json | 2 +-
.../catalog/models/whenSkipSendToEndpoint.json | 2 +-
.../apache/camel/catalog/schemas/camel-spring.xsd | 61 +++++-
.../camel/component/controlbus/controlbus.json | 2 +-
.../component/controlbus/ControlBusEndpoint.java | 2 +-
.../services/org/apache/camel/language.properties | 2 +-
.../services/org/apache/camel/language/java | 2 +
.../camel/language/joor/{joor.json => java.json} | 16 +-
.../org/apache/camel/language/joor/joor.json | 2 +-
.../{joor-language.adoc => java-language.adoc} | 78 ++++---
.../camel-joor/src/main/docs/joor-language.adoc | 7 +-
.../camel/language/joor/{Joor.java => Java.java} | 6 +-
.../joor/JavaAnnotationExpressionFactory.java | 51 +++++
.../joor/{JoorLanguage.java => JavaLanguage.java} | 11 +-
.../java/org/apache/camel/language/joor/Joor.java | 1 +
.../apache/camel/language/joor/JoorLanguage.java | 198 +----------------
.../apache/camel/language/JavaLanguageTest.java | 30 +++
.../apache/camel/language/java/JavaBeanTest.java | 60 ++++++
.../camel/language/java/JavaLanguageTest.java | 236 +++++++++++++++++++++
.../camel/language/java/JavaTransformTest.java | 48 +++++
.../apache/camel/component/language/language.json | 2 +-
.../camel/component/language/LanguageEndpoint.java | 2 +-
.../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 +-
.../camel/model/language/{joor.json => java.json} | 10 +-
.../org/apache/camel/model/language/jaxb.index | 1 +
.../org/apache/camel/model/language/joor.json | 2 +-
.../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/propertyExpression.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 +-
.../java/org/apache/camel/builder/Builder.java | 20 ++
.../org/apache/camel/builder/ExpressionClause.java | 16 ++
.../camel/builder/ExpressionClauseSupport.java | 26 +++
.../camel/builder/LanguageBuilderFactory.java | 13 +-
.../{JoorExpression.java => JavaExpression.java} | 25 ++-
.../camel/model/language/JoorExpression.java | 1 +
.../camel/reifier/language/ExpressionReifier.java | 3 +
...sionReifier.java => JavaExpressionReifier.java} | 8 +-
.../reifier/language/JoorExpressionReifier.java | 1 +
.../org/apache/camel/main/languages.properties | 1 +
.../java/org/apache/camel/xml/in/ModelParser.java | 11 +
.../java/org/apache/camel/xml/out/ModelWriter.java | 15 ++
.../org/apache/camel/yaml/out/ModelWriter.java | 15 ++
.../modules/languages/examples/json/java.json | 1 +
docs/components/modules/languages/nav.adoc | 1 +
.../modules/languages/pages/java-language.adoc | 1 +
.../modules/ROOT/pages/route-template.adoc | 8 +-
.../dsl/KafkaComponentBuilderFactory.java | 16 +-
.../builder/endpoint/StaticEndpointBuilders.java | 32 +--
.../dsl/ControlBusEndpointBuilderFactory.java | 12 +-
.../endpoint/dsl/KafkaEndpointBuilderFactory.java | 32 +--
.../dsl/LanguageEndpointBuilderFactory.java | 12 +-
.../deserializers/ExpressionDeserializers.java | 5 +
.../dsl/yaml/deserializers/ModelDeserializers.java | 86 +++++++-
.../deserializers/ModelDeserializersResolver.java | 2 +
.../generated/resources/schema/camelYamlDsl.json | 127 +++++++++++
108 files changed, 1064 insertions(+), 417 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json
index 4d2b9b96b47..382e3ad6bb2 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/controlbus.json
@@ -27,7 +27,7 @@
},
"properties": {
"command": { "index": 0, "kind": "path", "displayName": "Command", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "route", "language" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Command can be either route or language" },
- "language": { "index": 1, "kind": "path", "displayName": "Language", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.spi.Language", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "joor", "jq", "jsonpath", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": false, "descr [...]
+ "language": { "index": 1, "kind": "path", "displayName": "Language", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.spi.Language", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "java", "joor", "jq", "jsonpath", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": false [...]
"action": { "index": 2, "kind": "parameter", "displayName": "Action", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "start", "stop", "fail", "suspend", "resume", "restart", "status", "stats" ], "deprecated": false, "autowired": false, "secret": false, "description": "To denote an action that can be either: start, stop, or status. To either start or stop a route, or to get the status of the route as output in the messa [...]
"async": { "index": 3, "kind": "parameter", "displayName": "Async", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to execute the control bus task asynchronously. Important: If this option is enabled, then any result from the task is not set on the Exchange. This is only possible if executing tasks synchronously." },
"loggingLevel": { "index": 4, "kind": "parameter", "displayName": "Logging Level", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "INFO", "description": "Logging level used for logging when task is done, or if any exceptions occurred during processing the task." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/language.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/language.json
index fa1e131e10b..87aac774694 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/language.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/language.json
@@ -29,7 +29,7 @@
"CamelLanguageScript": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String or Expression", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The script to execute provided in the header. Takes precedence over script configured on the endpoint.", "constantName": "org.apache.camel.component.language.LanguageConstants#LANGUAGE_SCRIPT" }
},
"properties": {
- "languageName": { "index": 0, "kind": "path", "displayName": "Language Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "joor", "jq", "jsonpath", "mvel", "ognl", "ref", "simple", "spel", "sql", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret" [...]
+ "languageName": { "index": 0, "kind": "path", "displayName": "Language Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "java", "joor", "jq", "jsonpath", "mvel", "ognl", "ref", "simple", "spel", "sql", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "deprecationNote": "", "autowired": false, [...]
"resourceUri": { "index": 1, "kind": "path", "displayName": "Resource Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "description": "Path to the resource, or a reference to lookup a bean in the Registry to use as the resource" },
"allowContextMapAll": { "index": 2, "kind": "parameter", "displayName": "Allow Context Map All", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and C [...]
"binary": { "index": 3, "kind": "parameter", "displayName": "Binary", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the script is binary content or text content. By default the script is read as text content (eg java.lang.String)" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages.properties
index 8aa9f4d1a08..86fcea79981 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages.properties
@@ -7,6 +7,7 @@ file
groovy
header
hl7terser
+java
joor
jq
js
diff --git a/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/java.json
similarity index 87%
copy from components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json
copy to catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/java.json
index c835d91fa2f..68dfd333cfe 100644
--- a/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/java.json
@@ -1,19 +1,19 @@
{
"language": {
"kind": "language",
- "name": "joor",
- "title": "jOOR",
- "description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
+ "name": "java",
+ "title": "Java",
+ "description": "Evaluates a Java (Java compiled once at runtime) expression.",
"deprecated": false,
- "firstVersion": "3.7.0",
+ "firstVersion": "4.3.0",
"label": "language",
- "javaType": "org.apache.camel.language.joor.JoorLanguage",
- "supportLevel": "Stable",
+ "javaType": "org.apache.camel.language.joor.JavaLanguage",
+ "supportLevel": "Preview",
"groupId": "org.apache.camel",
"artifactId": "camel-joor",
"version": "4.3.0-SNAPSHOT",
- "modelName": "joor",
- "modelJavaType": "org.apache.camel.model.language.JoorExpression"
+ "modelName": "java",
+ "modelJavaType": "org.apache.camel.model.language.JavaExpression"
},
"properties": {
"expression": { "index": 0, "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" },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/joor.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/joor.json
index c835d91fa2f..7556f9c571c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/joor.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/languages/joor.json
@@ -4,7 +4,7 @@
"name": "joor",
"title": "jOOR",
"description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
- "deprecated": false,
+ "deprecated": true,
"firstVersion": "3.7.0",
"label": "language",
"javaType": "org.apache.camel.language.joor.JoorLanguage",
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
index e968ce6cc84..9bf6f27390b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
@@ -68,6 +68,7 @@ intercept
interceptFrom
interceptSendToEndpoint
jacksonXml
+java
jaxb
joor
jq
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
index e293421e8d2..2e6e8ce267e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
@@ -12,10 +12,10 @@
"output": true
},
"properties": {
- "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowir [...]
- "completionPredicate": { "index": 1, "kind": "expression", "displayName": "Completion Predicate", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated [...]
- "completionTimeoutExpression": { "index": 2, "kind": "expression", "displayName": "Completion Timeout Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokeniz [...]
- "completionSizeExpression": { "index": 3, "kind": "expression", "displayName": "Completion Size Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], [...]
+ "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
+ "completionPredicate": { "index": 1, "kind": "expression", "displayName": "Completion Predicate", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "de [...]
+ "completionTimeoutExpression": { "index": 2, "kind": "expression", "displayName": "Completion Timeout Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", " [...]
+ "completionSizeExpression": { "index": 3, "kind": "expression", "displayName": "Completion Size Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtoken [...]
"optimisticLockRetryPolicy": { "index": 4, "kind": "element", "displayName": "Optimistic Lock Retry Policy", "label": "advanced", "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": { "index": 5, "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 t [...]
"optimisticLocking": { "index": 6, "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json
index 17ec8b880eb..1e7a5500a07 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"asyncDelayed": { "index": 1, "kind": "attribute", "displayName": "Async Delayed", "label": "advanced", "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": { "index": 2, "kind": "attribute", "displayName": "Caller Runs When Rejected", "label": "advanced", "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" },
"executorService": { "index": 3, "kind": "attribute", "displayName": "Executor Service", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom Thread Pool if asyncDelay has been enabled." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json
index 24fd66c4ce8..e8b29aceb3a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"uriDelimiter": { "index": 1, "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": { "index": 2, "kind": "attribute", "displayName": "Ignore Invalid Endpoints", "label": "advanced", "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": { "index": 3, "kind": "attribute", "displayName": "Cache Size", "label": "advanced", "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 [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json
index 150af5f85ff..0ea0f3b57e8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"aggregationStrategy": { "index": 1, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the 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." },
"aggregationStrategyMethodName": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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." },
"aggregationStrategyMethodAllowNull": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Allow Null", "label": "advanced", "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 us [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
index a5c53d1e918..8c0c8286d41 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"statusPropertyName": { "index": 1, "kind": "attribute", "displayName": "Status Property Name", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of exchange property to use for storing the status of the filtering. Setting this allows to know if the filter predicate evaluated as true or false." },
"outputs": { "index": 2, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", " [...]
"disabled": { "index": 3, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
index 0e88e1644ff..358802000ed 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"idempotentRepository": { "index": 1, "kind": "attribute", "displayName": "Idempotent Repository", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the reference name of the message id repository" },
"eager": { "index": 2, "kind": "attribute", "displayName": "Eager", "label": "advanced", "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": { "index": 3, "kind": "attribute", "displayName": "Completion Eager", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 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 [...]
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/java.json
similarity index 91%
copy from core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json
copy to catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/java.json
index 4fbfb28adb5..da7666ff41f 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/java.json
@@ -1,13 +1,13 @@
{
"model": {
"kind": "model",
- "name": "joor",
- "title": "jOOR",
- "description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
+ "name": "java",
+ "title": "Java",
+ "description": "Evaluates a Java (Java compiled once at runtime) expression.",
"deprecated": false,
- "firstVersion": "3.7.0",
+ "firstVersion": "4.3.0",
"label": "language",
- "javaType": "org.apache.camel.model.language.JoorExpression",
+ "javaType": "org.apache.camel.model.language.JavaExpression",
"abstract": false,
"input": false,
"output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/joor.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/joor.json
index 4fbfb28adb5..f3b1abbcb76 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/joor.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/joor.json
@@ -4,7 +4,7 @@
"name": "joor",
"title": "jOOR",
"description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
- "deprecated": false,
+ "deprecated": true,
"firstVersion": "3.7.0",
"label": "language",
"javaType": "org.apache.camel.model.language.JoorExpression",
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
index 1d071a5ff84..5d4f9883d47 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"copy": { "index": 1, "kind": "attribute", "displayName": "Copy", "label": "advanced", "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 [...]
"doWhile": { "index": 2, "kind": "attribute", "displayName": "Do While", "label": "advanced", "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." },
"breakOnShutdown": { "index": 3, "kind": "attribute", "displayName": "Break On Shutdown", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json
index dfb06a9c580..5b6e2fcd2dc 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onException.json
@@ -14,11 +14,11 @@
"properties": {
"exception": { "index": 0, "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": { "index": 1, "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": { "index": 2, "kind": "expression", "displayName": "Retry While", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowir [...]
+ "retryWhile": { "index": 2, "kind": "expression", "displayName": "Retry While", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
"redeliveryPolicy": { "index": 3, "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": { "index": 4, "kind": "attribute", "displayName": "Redelivery Policy Ref", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets a reference to a redelivery policy to lookup in the org.apache.camel.spi.Registry to be used." },
- "handled": { "index": 5, "kind": "expression", "displayName": "Handled", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": false, [...]
- "continued": { "index": 6, "kind": "expression", "displayName": "Continued", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired" [...]
+ "handled": { "index": 5, "kind": "expression", "displayName": "Handled", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret" [...]
+ "continued": { "index": 6, "kind": "expression", "displayName": "Continued", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "au [...]
"onRedeliveryRef": { "index": 7, "kind": "attribute", "displayName": "On Redelivery Ref", "label": "advanced", "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": { "index": 8, "kind": "attribute", "displayName": "On Exception Occurred Ref", "label": "advanced", "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 throw [...]
"useOriginalMessage": { "index": 9, "kind": "attribute", "displayName": "Use Original Message", "label": "advanced", "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 attem [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json
index 77e007904c0..d2af518a020 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"aggregationStrategy": { "index": 1, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the 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." },
"aggregationStrategyMethodName": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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." },
"aggregationStrategyMethodAllowNull": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Allow Null", "label": "advanced", "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 us [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/propertyExpression.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/propertyExpression.json
index 929d3caa5f5..ab1f52b9f9e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/propertyExpression.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/propertyExpression.json
@@ -13,6 +13,6 @@
},
"properties": {
"key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Property key" },
- "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
}
}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/recipientList.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/recipientList.json
index ae0358dec52..84e906cb606 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/recipientList.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/recipientList.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"delimiter": { "index": 1, "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 ," },
"aggregationStrategy": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets 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 POJ [...]
"aggregationStrategyMethodName": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json
index b8154035434..ee28995a66d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/resequence.json
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"resequencerConfig": { "index": 1, "kind": "element", "displayName": "Resequencer Config", "required": true, "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." },
"outputs": { "index": 2, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "marshal", "multicast", "onCompletion", "onException", "onFallb [...]
"disabled": { "index": 3, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/routingSlip.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/routingSlip.json
index 46145367d34..4311afb2d8f 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/routingSlip.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/routingSlip.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"uriDelimiter": { "index": 1, "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": { "index": 2, "kind": "attribute", "displayName": "Ignore Invalid Endpoints", "label": "advanced", "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": { "index": 3, "kind": "attribute", "displayName": "Cache Size", "label": "advanced", "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 b [...]
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/script.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/script.json
index f3d19bef241..ac1cf1c30b8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/script.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/script.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 1, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 2, "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": { "index": 3, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json
index 60f1f3d8779..4cdcf0815e8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 1, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 2, "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": { "index": 3, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setHeader.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setHeader.json
index d69de7ae394..6ed3370be09 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setHeader.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setHeader.json
@@ -13,7 +13,7 @@
},
"properties": {
"name": { "index": 0, "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." },
- "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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": { "index": 4, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setProperty.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setProperty.json
index dd456234337..222c0586e22 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setProperty.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setProperty.json
@@ -13,7 +13,7 @@
},
"properties": {
"name": { "index": 0, "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." },
- "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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": { "index": 4, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the description of this node" }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sort.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sort.json
index 8fe55d0490e..40847b7dd4d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sort.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sort.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"comparator": { "index": 1, "kind": "attribute", "displayName": "Comparator", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Comparator", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the comparator to use for sorting" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
index ff6a938a15d..175c8078e91 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"delimiter": { "index": 1, "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 ," },
"aggregationStrategy": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets a reference to the AggregationStrategy to be used to assemble the replies from the split messages, into a single outgoing message from the Splitter. By default Camel will use the original incoming message to the splitter (l [...]
"aggregationStrategyMethodName": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sticky.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sticky.json
index 4226caad71d..3b104e487ca 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sticky.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sticky.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowir [...]
+ "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
"id": { "index": 1, "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json
index c397759fd72..c9eaae7ee68 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json
@@ -12,8 +12,8 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
- "correlationExpression": { "index": 1, "kind": "expression", "displayName": "Correlation Expression", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowi [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
+ "correlationExpression": { "index": 1, "kind": "expression", "displayName": "Correlation Expression", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
"executorService": { "index": 2, "kind": "attribute", "displayName": "Executor Service", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom thread pool (ScheduledExecutorService) by the throttler." },
"timePeriodMillis": { "index": 3, "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": { "index": 4, "kind": "attribute", "displayName": "Async Delayed", "label": "advanced", "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json
index 04019961fe2..ae6cd2de965 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"fromType": { "index": 1, "kind": "attribute", "displayName": "From Type", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "From type used in data type transformation." },
"toType": { "index": 2, "kind": "attribute", "displayName": "To Type", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To type used as a target data type in the transformation." },
"disabled": { "index": 3, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json
index 7a13b64e563..d68ab5c826e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"predicateExceptionFactory": { "index": 1, "kind": "attribute", "displayName": "Predicate Exception Factory", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PredicateExceptionFactory", "deprecated": false, "autowired": false, "secret": false, "description": "The bean id of custom PredicateExceptionFactory to use for creating the exception when the validation fails. By default, Camel will throw PredicateValidationException. By using a custo [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json
index 31a02dd098c..aabf8973d02 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/when.json
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"outputs": { "index": 1, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", " [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json
index 6483afdcdf0..3f479662033 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/whenSkipSendToEndpoint.json
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"outputs": { "index": 1, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", " [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index ab4504017b4..ecdc5ffb115 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -680,6 +680,15 @@ Intercepts messages being sent to an endpoint
<xs:documentation xml:lang="en">
<![CDATA[
Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="java" type="tns:javaExpression">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Evaluates a Java (Java compiled once at runtime) expression.
]]>
</xs:documentation>
</xs:annotation>
@@ -706,7 +715,7 @@ JMX configuration.
<xs:annotation>
<xs:documentation xml:lang="en">
<![CDATA[
-Evaluates a jOOR (Java compiled once at runtime) expression.
+Deprecated: Evaluates a jOOR (Java compiled once at runtime) expression.
]]>
</xs:documentation>
</xs:annotation>
@@ -3750,6 +3759,7 @@ complete all those exchanges before its stopped, when stopping CamelContext or t
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -4071,6 +4081,7 @@ controlling whether a thrown exception should be intercepted by this exception t
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -4948,6 +4959,7 @@ To use a specific charset when converting.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -5008,6 +5020,7 @@ To use a custom Thread Pool if asyncDelay has been enabled.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -5075,6 +5088,7 @@ reduce memory usage to avoid storing too many non frequent used producers.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -5682,6 +5696,7 @@ Sets the logging level to use for logging transactional rollback. This option is
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -5912,6 +5927,7 @@ Global option value.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -6666,6 +6682,7 @@ To refer to a custom logger instance to lookup from the registry.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -10806,6 +10823,7 @@ Sets a reference to use for lookup the policy in the registry.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -10941,6 +10959,7 @@ type in the registry by prefixing with #type: syntax, eg #type:com.foo.MyClassTy
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -10980,6 +10999,7 @@ Property key.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -11272,6 +11292,7 @@ Name of property to remove.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -11946,6 +11967,7 @@ Description of the parameter.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -12210,6 +12232,7 @@ Sets the sample message count which only a single Exchange will pass through aft
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -12242,6 +12265,7 @@ Sets the sample message count which only a single Exchange will pass through aft
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -12290,6 +12314,7 @@ Sets the new exchange pattern of the Exchange to be used from this point forward
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -12341,6 +12366,7 @@ be used. Otherwise a constant name will be used.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -12383,6 +12409,7 @@ property name to be used. Otherwise a constant name will be used.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -12425,6 +12452,7 @@ Sets the comparator to use for sorting.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -13024,6 +13052,7 @@ handler. Is by default true. Default value: true
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -13319,6 +13348,7 @@ Sets a reference to use for lookup the policy in the registry.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -13504,6 +13534,7 @@ Indicates whether null is allowed as value of a body to unmarshall. Default valu
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -14252,6 +14283,7 @@ Set the base path to store in ZK.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
@@ -14578,6 +14610,32 @@ set.
<![CDATA[
Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are
set.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="javaExpression">
+ <xs:simpleContent>
+ <xs:extension base="tns:typedExpressionDefinition">
+ <xs:attribute name="preCompile" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Whether the expression should be pre compiled once during initialization phase. If this is turned off, then the
+expression is reloaded and compiled on each evaluation. Default value: true
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="singleQuotes" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Whether single quotes can be used as replacement for double quotes. This is convenient when you need to work with
+strings inside strings. Default value: true
]]>
</xs:documentation>
</xs:annotation>
@@ -16384,6 +16442,7 @@ To configure a special tag for the operations within this rest definition.
<xs:element ref="tns:groovy"/>
<xs:element ref="tns:header"/>
<xs:element ref="tns:hl7terser"/>
+ <xs:element ref="tns:java"/>
<xs:element ref="tns:js"/>
<xs:element ref="tns:joor"/>
<xs:element ref="tns:jq"/>
diff --git a/components/camel-controlbus/src/generated/resources/org/apache/camel/component/controlbus/controlbus.json b/components/camel-controlbus/src/generated/resources/org/apache/camel/component/controlbus/controlbus.json
index 4d2b9b96b47..382e3ad6bb2 100644
--- a/components/camel-controlbus/src/generated/resources/org/apache/camel/component/controlbus/controlbus.json
+++ b/components/camel-controlbus/src/generated/resources/org/apache/camel/component/controlbus/controlbus.json
@@ -27,7 +27,7 @@
},
"properties": {
"command": { "index": 0, "kind": "path", "displayName": "Command", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "route", "language" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Command can be either route or language" },
- "language": { "index": 1, "kind": "path", "displayName": "Language", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.spi.Language", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "joor", "jq", "jsonpath", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": false, "descr [...]
+ "language": { "index": 1, "kind": "path", "displayName": "Language", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.spi.Language", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "java", "joor", "jq", "jsonpath", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": false [...]
"action": { "index": 2, "kind": "parameter", "displayName": "Action", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "start", "stop", "fail", "suspend", "resume", "restart", "status", "stats" ], "deprecated": false, "autowired": false, "secret": false, "description": "To denote an action that can be either: start, stop, or status. To either start or stop a route, or to get the status of the route as output in the messa [...]
"async": { "index": 3, "kind": "parameter", "displayName": "Async", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to execute the control bus task asynchronously. Important: If this option is enabled, then any result from the task is not set on the Exchange. This is only possible if executing tasks synchronously." },
"loggingLevel": { "index": 4, "kind": "parameter", "displayName": "Logging Level", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "INFO", "description": "Logging level used for logging when task is done, or if any exceptions occurred during processing the task." },
diff --git a/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java b/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
index 8fe718b5dc0..fc6730efd07 100644
--- a/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
+++ b/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
@@ -44,7 +44,7 @@ public class ControlBusEndpoint extends DefaultEndpoint {
@UriPath(description = "Command can be either route or language", enums = "route,language")
@Metadata(required = true)
private String command;
- @UriPath(enums = "bean,constant,csimple,datasonnet,exchangeProperty,file,groovy,header,hl7terser,joor,jq,jsonpath,mvel,ognl,python,ref,simple,spel,tokenize,xpath,xquery,xtokenize")
+ @UriPath(enums = "bean,constant,csimple,datasonnet,exchangeProperty,file,groovy,header,hl7terser,java,joor,jq,jsonpath,mvel,ognl,python,ref,simple,spel,tokenize,xpath,xquery,xtokenize")
private Language language;
@UriParam
private String routeId;
diff --git a/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/language.properties b/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/language.properties
index 49bc4619602..6c48bf7f2ad 100644
--- a/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/language.properties
+++ b/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/language.properties
@@ -1,5 +1,5 @@
# Generated by camel build tools - do NOT edit this file!
-languages=joor
+languages=java joor
groupId=org.apache.camel
artifactId=camel-joor
version=4.3.0-SNAPSHOT
diff --git a/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/language/java b/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/language/java
new file mode 100644
index 00000000000..48f525ecbd0
--- /dev/null
+++ b/components/camel-joor/src/generated/resources/META-INF/services/org/apache/camel/language/java
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.language.joor.JavaLanguage
diff --git a/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json b/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/java.json
similarity index 87%
copy from components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json
copy to components/camel-joor/src/generated/resources/org/apache/camel/language/joor/java.json
index c835d91fa2f..68dfd333cfe 100644
--- a/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json
+++ b/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/java.json
@@ -1,19 +1,19 @@
{
"language": {
"kind": "language",
- "name": "joor",
- "title": "jOOR",
- "description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
+ "name": "java",
+ "title": "Java",
+ "description": "Evaluates a Java (Java compiled once at runtime) expression.",
"deprecated": false,
- "firstVersion": "3.7.0",
+ "firstVersion": "4.3.0",
"label": "language",
- "javaType": "org.apache.camel.language.joor.JoorLanguage",
- "supportLevel": "Stable",
+ "javaType": "org.apache.camel.language.joor.JavaLanguage",
+ "supportLevel": "Preview",
"groupId": "org.apache.camel",
"artifactId": "camel-joor",
"version": "4.3.0-SNAPSHOT",
- "modelName": "joor",
- "modelJavaType": "org.apache.camel.model.language.JoorExpression"
+ "modelName": "java",
+ "modelJavaType": "org.apache.camel.model.language.JavaExpression"
},
"properties": {
"expression": { "index": 0, "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" },
diff --git a/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json b/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json
index c835d91fa2f..7556f9c571c 100644
--- a/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json
+++ b/components/camel-joor/src/generated/resources/org/apache/camel/language/joor/joor.json
@@ -4,7 +4,7 @@
"name": "joor",
"title": "jOOR",
"description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
- "deprecated": false,
+ "deprecated": true,
"firstVersion": "3.7.0",
"label": "language",
"javaType": "org.apache.camel.language.joor.JoorLanguage",
diff --git a/components/camel-joor/src/main/docs/joor-language.adoc b/components/camel-joor/src/main/docs/java-language.adoc
similarity index 79%
copy from components/camel-joor/src/main/docs/joor-language.adoc
copy to components/camel-joor/src/main/docs/java-language.adoc
index 2d20947305c..339c3cdeba8 100644
--- a/components/camel-joor/src/main/docs/joor-language.adoc
+++ b/components/camel-joor/src/main/docs/java-language.adoc
@@ -1,24 +1,22 @@
-= jOOR Language
-:doctitle: jOOR
-:shortname: joor
+= Java Language
+:doctitle: Java
+:shortname: java
:artifactid: camel-joor
-:description: Evaluates a jOOR (Java compiled once at runtime) expression.
-:since: 3.7
-:supportlevel: Stable
+:description: Evaluates a Java (Java compiled once at runtime) expression.
+:since: 4.3
+:supportlevel: Preview
:tabs-sync-option:
//Manually maintained attributes
:camel-spring-boot-name: joor
*Since Camel {since}*
-The jOOR language allows using Java code in your Camel expression, with some limitations.
+The Java language (uses jOOR library to compile Java code) allows using Java code in your Camel expression, with some limitations.
The jOOR library integrates with the Java compiler and performs runtime compilation of Java code.
-NOTE: Java 8 is not supported. Java 11 is required.
-
-== jOOR Options
+== Java Options
// language options: START
@@ -27,7 +25,7 @@ include::partial$language-options.adoc[]
== Variables
-The jOOR language allows the following variables to be used in the script:
+The Java language allows the following variables to be used in the script:
[width="100%",cols="2,1m,7",options="header"]
|===
@@ -41,7 +39,7 @@ The jOOR language allows the following variables to be used in the script:
== Functions
-The jOOR language allows the following functions to be used in the script:
+The Java language allows the following functions to be used in the script:
[width="100%",cols="2,8",options="header"]
|===
@@ -91,11 +89,11 @@ var user = bodyAs(MyUser);
== Dependency Injection
-The Camel jOOR language allows dependency injection by referring to beans by their id from the Camel registry.
+The Camel Java language allows dependency injection by referring to beans by their id from the Camel registry.
For optimization purposes then the beans are injected once in the constructor and the scopes are _singleton_.
This requires the injected beans to be _thread safe_ as they will be reused for all processing.
-In the jOOR script you declare the injected beans using the syntax `#bean:beanId`.
+In the Java code you declare the injected beans using the syntax `#bean:beanId`.
For example suppose we have the following bean
@@ -115,18 +113,18 @@ public class MyEchoBean {
And this bean is registered with the name `myEcho` in the Camel registry.
-The jOOR script can then inject this bean directly in the script where the bean is in use:
+The Java code can then inject this bean directly in the script where the bean is in use:
[source,java]
----
from("direct:start")
- .transform().joor("'Hello ' + #bean:myEcho.echo(bodyAs(String))")
+ .transform().java("'Hello ' + #bean:myEcho.echo(bodyAs(String))")
.to("mock:result");
----
Now this code may seem a bit magically, but what happens is that the `myEcho` bean is injected via a constructor, and then called directly in the script, so it is as fast as possible.
-Under the hood, Camel jOOR generates the following source code that is compiled once:
+Under the hood, Camel Java generates the following source code that is compiled once:
[source,java]
----
@@ -150,7 +148,7 @@ You can also store a reference to the bean in a variable which would more resemb
[source,java]
----
from("direct:start")
- .transform().joor("var bean = #bean:myEcho; return 'Hello ' + bean.echo(bodyAs(String))")
+ .transform().java("var bean = #bean:myEcho; return 'Hello ' + bean.echo(bodyAs(String))")
.to("mock:result");
----
@@ -159,7 +157,7 @@ When doing this we must use a different name as `myEcho` is the variable used by
== Auto imports
-The jOOR language will automatic import from:
+The Java language will automatically import from:
[source,java]
----
@@ -173,9 +171,9 @@ import org.apache.camel.util.*;
== Configuration file
You can configure the jOOR language in the `camel-joor.properties` file which by default is loaded from the root classpath.
-You can specify a different location with the `configResource` option on the jOOR language.
+You can specify a different location with the `configResource` option on the Java language.
-For example you can add additional imports in the `camel-joor.properties` file by adding:
+For example, you can add additional imports in the `camel-joor.properties` file by adding:
[source,properties]
----
@@ -196,7 +194,7 @@ Which allows using _echo()_ in the jOOR language script such as:
[source,java]
----
from("direct:hello")
- .transform(joor("'Hello ' + echo()"))
+ .transform(java("'Hello ' + echo()"))
.log("You said ${body}");
----
@@ -204,15 +202,15 @@ The _echo()_ alias will be replaced with its value resulting in a script as:
[source,java]
----
-.transform(joor("'Hello ' + bodyAs(String) + bodyAs(String)"))
+.transform(java("'Hello ' + bodyAs(String) + bodyAs(String)"))
----
You can configure a custom configuration location for the `camel-joor.properties` file or reference to a bean in the registry:
[source,java]
----
-JoorLanguage joor = (JoorLanguage) context.resolveLanguage("joor");
-joor.setConfigResource("ref:MyJoorConfig");
+JavaLanguage joor = (JavaLanguage) context.resolveLanguage("java");
+java.setConfigResource("ref:MyJoorConfig");
----
And then register a bean in the registry with id `MyJoorConfig` that is a String value with the content.
@@ -230,7 +228,7 @@ For example to transform the message using jOOR language to upper case
[source,java]
----
from("seda:orders")
- .transform().joor("message.getBody(String.class).toUpperCase()")
+ .transform().java("message.getBody(String.class).toUpperCase()")
.to("seda:upper");
----
@@ -241,7 +239,7 @@ And in XML DSL:
<route>
<from uri="seda:orders"/>
<transform>
- <joor>message.getBody(String.class).toUpperCase()</joor>
+ <java>message.getBody(String.class).toUpperCase()</joor>
</transform>
<to uri="seda:upper"/>
</route>
@@ -256,7 +254,7 @@ And then, in a second statement we return a value whether the user is `null` or
[source,java]
----
from("seda:orders")
- .transform().joor("var user = message.getHeader(\"user\"); return user != null ? \"User: \" + user : \"No user exists\";")
+ .transform().java("var user = message.getHeader(\"user\"); return user != null ? \"User: \" + user : \"No user exists\";")
.to("seda:user");
----
@@ -265,35 +263,35 @@ Notice how we have to quote strings in strings, and that is annoying, so instead
[source,java]
----
from("seda:orders")
- .transform().joor("var user = message.getHeader('user'); return user != null ? 'User: ' + user : 'No user exists';")
+ .transform().java("var user = message.getHeader('user'); return user != null ? 'User: ' + user : 'No user exists';")
.to("seda:user");
----
== Hot re-load
-You can turn off pre compilation for the jOOR language and then Camel will recompile the script for each message.
+You can turn off pre compilation for the Java language and then Camel will recompile the script for each message.
You can externalize the code into a resource file, which will be reloaded on each message as shown:
[source,java]
----
-JoorLanguage joor = (JoorLanguage) context.resolveLanguage("joor");
-joor.setPreCompile(false);
+JavaLanguage java = (JavaLanguage) context.resolveLanguage("java");
+java.setPreCompile(false);
from("jms:incoming")
- .transform().joor("resource:file:src/main/resources/orders.joor")
+ .transform().java("resource:file:src/main/resources/orders.java")
.to("jms:orders");
----
-Here the jOOR script is externalized into the file `src/main/resources/orders.joor` which allows you to edit this source file while running the Camel application and try the changes with hot-reloading.
+Here the Java code is externalized into the file `src/main/resources/orders.java` which allows you to edit this source file while running the Camel application and try the changes with hot-reloading.
-In XML DSL it's easier because you can turn off pre-compilation in the `<joor>` XML element:
+In XML DSL it's easier because you can turn off pre-compilation in the `<java>` XML element:
[source,xml]
----
<route>
<from uri="jms:incoming"/>
<transform>
- <joor preCompile="false">resource:file:src/main/resources/orders.joor</joor>
+ <java preCompile="false">resource:file:src/main/resources/orders.java</java>
</transform>
<to uri="jms:orders"/>
</route>
@@ -301,10 +299,10 @@ In XML DSL it's easier because you can turn off pre-compilation in the `<joor>`
== Lambda based AggregationStrategy
-The jOOR language have special support for defining an `org.apache.camel.AggregationStrategy` as a lambda expression.
+The Java language have special support for defining an `org.apache.camel.AggregationStrategy` as a lambda expression.
This is useful when using EIP patterns that uses aggregation such as the Aggregator, Splitter, Recipient List, Enrich, and others.
-To use this then the jOOR language script must be in the following syntax:
+To use this then the Java language script must be in the following syntax:
----
(e1, e2) -> { }
@@ -328,13 +326,13 @@ For example to aggregate message bodies together we can do this as shown:
== Limitations
-The jOOR Camel language is only supported as a block of Java code that gets compiled into a Java class with a single method.
+The Java Camel language is only supported as a block of Java code that gets compiled into a Java class with a single method.
The code that you can write is therefore limited to a number of Java statements.
The supported runtime is intended for Java standalone, Spring Boot, Camel Quarkus and other microservices runtimes.
It is not supported in OSGi, Camel Karaf or any kind of Java Application Server runtime.
-jOOR does not support runtime compilation with Spring Boot using _fat jar_ packaging (https://github.com/jOOQ/jOOR/issues/69), it works with exploded classpath.
+Java does not support runtime compilation with Spring Boot using _fat jar_ packaging (https://github.com/jOOQ/jOOR/issues/69), it works with exploded classpath.
== Dependencies
diff --git a/components/camel-joor/src/main/docs/joor-language.adoc b/components/camel-joor/src/main/docs/joor-language.adoc
index 2d20947305c..5ff6564fdb2 100644
--- a/components/camel-joor/src/main/docs/joor-language.adoc
+++ b/components/camel-joor/src/main/docs/joor-language.adoc
@@ -1,10 +1,11 @@
-= jOOR Language
+= jOOR Language (deprecated)
:doctitle: jOOR
:shortname: joor
:artifactid: camel-joor
:description: Evaluates a jOOR (Java compiled once at runtime) expression.
:since: 3.7
-:supportlevel: Stable
+:supportlevel: Stable-deprecated
+:deprecated: *deprecated*
:tabs-sync-option:
//Manually maintained attributes
:camel-spring-boot-name: joor
@@ -15,6 +16,8 @@ The jOOR language allows using Java code in your Camel expression, with some lim
The jOOR library integrates with the Java compiler and performs runtime compilation of Java code.
+NOTE: The jOOR language is actually Java code and therefore `joor` has been deprecated in favour of using `java` as the language name in Camel.
+
NOTE: Java 8 is not supported. Java 11 is required.
== jOOR Options
diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/Joor.java b/components/camel-joor/src/main/java/org/apache/camel/language/joor/Java.java
similarity index 89%
copy from components/camel-joor/src/main/java/org/apache/camel/language/joor/Joor.java
copy to components/camel-joor/src/main/java/org/apache/camel/language/joor/Java.java
index 599d31d4a46..5792fc673da 100644
--- a/components/camel-joor/src/main/java/org/apache/camel/language/joor/Joor.java
+++ b/components/camel-joor/src/main/java/org/apache/camel/language/joor/Java.java
@@ -25,13 +25,13 @@ import java.lang.annotation.Target;
import org.apache.camel.support.language.LanguageAnnotation;
/**
- * Used to inject a joor expression into a field, property, method or parameter when using Bean Integration.
+ * Used to inject a Java (joor) expression into a field, property, method or parameter when using Bean Integration.
*/
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
-@LanguageAnnotation(language = "joor", factory = JoorAnnotationExpressionFactory.class)
-public @interface Joor {
+@LanguageAnnotation(language = "java", factory = JavaAnnotationExpressionFactory.class)
+public @interface Java {
String value();
diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
new file mode 100644
index 00000000000..ed013ce72b1
--- /dev/null
+++ b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaAnnotationExpressionFactory.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.language.joor;
+
+import java.lang.annotation.Annotation;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Expression;
+import org.apache.camel.support.language.DefaultAnnotationExpressionFactory;
+import org.apache.camel.support.language.LanguageAnnotation;
+
+public class JavaAnnotationExpressionFactory extends DefaultAnnotationExpressionFactory {
+
+ @Override
+ public Expression createExpression(
+ CamelContext camelContext, Annotation annotation,
+ LanguageAnnotation languageAnnotation, Class<?> expressionReturnType) {
+
+ Object[] params = new Object[3];
+ Class<?> resultType = getResultType(annotation);
+ if (resultType.equals(Object.class)) {
+ resultType = expressionReturnType;
+ }
+ params[1] = resultType;
+ if (annotation instanceof Java) {
+ Java joorAnnotation = (Java) annotation;
+ params[0] = joorAnnotation.preCompile();
+ params[2] = joorAnnotation.singleQuotes();
+ }
+ String expression = getExpressionFromAnnotation(annotation);
+ return camelContext.resolveLanguage("java").createExpression(expression, params);
+ }
+
+ private Class<?> getResultType(Annotation annotation) {
+ return (Class<?>) getAnnotationObjectValue(annotation, "resultType");
+ }
+}
diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorLanguage.java b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaLanguage.java
similarity index 96%
copy from components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorLanguage.java
copy to components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaLanguage.java
index fe271ca4159..faca700f6db 100644
--- a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorLanguage.java
+++ b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JavaLanguage.java
@@ -35,12 +35,11 @@ import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Language("joor")
-public class JoorLanguage extends TypedLanguageSupport implements ScriptingLanguage, StaticService {
+@Language("java")
+public class JavaLanguage extends TypedLanguageSupport implements ScriptingLanguage, StaticService {
- private static final Logger LOG = LoggerFactory.getLogger(JoorLanguage.class);
+ private static final Logger LOG = LoggerFactory.getLogger(JavaLanguage.class);
- private static Boolean java8;
private final JoorCompiler compiler;
private final JoorScriptingCompiler scriptingCompiler;
private final Set<String> imports = new TreeSet<>();
@@ -50,11 +49,11 @@ public class JoorLanguage extends TypedLanguageSupport implements ScriptingLangu
private boolean preCompile = true;
private boolean singleQuotes = true;
- public JoorLanguage() {
+ public JavaLanguage() {
this(new JoorCompiler(), new JoorScriptingCompiler());
}
- public JoorLanguage(JoorCompiler compiler, JoorScriptingCompiler scriptingCompiler) {
+ public JavaLanguage(JoorCompiler compiler, JoorScriptingCompiler scriptingCompiler) {
this.compiler = compiler;
this.scriptingCompiler = scriptingCompiler;
}
diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/Joor.java b/components/camel-joor/src/main/java/org/apache/camel/language/joor/Joor.java
index 599d31d4a46..5bdaf7c806e 100644
--- a/components/camel-joor/src/main/java/org/apache/camel/language/joor/Joor.java
+++ b/components/camel-joor/src/main/java/org/apache/camel/language/joor/Joor.java
@@ -31,6 +31,7 @@ import org.apache.camel.support.language.LanguageAnnotation;
@Documented
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
@LanguageAnnotation(language = "joor", factory = JoorAnnotationExpressionFactory.class)
+@Deprecated
public @interface Joor {
String value();
diff --git a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorLanguage.java b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorLanguage.java
index fe271ca4159..b043a0f4b6f 100644
--- a/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorLanguage.java
+++ b/components/camel-joor/src/main/java/org/apache/camel/language/joor/JoorLanguage.java
@@ -16,204 +16,10 @@
*/
package org.apache.camel.language.joor;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.apache.camel.Expression;
-import org.apache.camel.Predicate;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.StaticService;
-import org.apache.camel.spi.ScriptingLanguage;
import org.apache.camel.spi.annotations.Language;
-import org.apache.camel.support.ExpressionToPredicateAdapter;
-import org.apache.camel.support.ScriptHelper;
-import org.apache.camel.support.TypedLanguageSupport;
-import org.apache.camel.support.service.ServiceHelper;
-import org.apache.camel.util.StringHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
@Language("joor")
-public class JoorLanguage extends TypedLanguageSupport implements ScriptingLanguage, StaticService {
-
- private static final Logger LOG = LoggerFactory.getLogger(JoorLanguage.class);
-
- private static Boolean java8;
- private final JoorCompiler compiler;
- private final JoorScriptingCompiler scriptingCompiler;
- private final Set<String> imports = new TreeSet<>();
- private final Map<String, String> aliases = new HashMap<>();
-
- private String configResource = "classpath:camel-joor.properties?optional=true";
- private boolean preCompile = true;
- private boolean singleQuotes = true;
-
- public JoorLanguage() {
- this(new JoorCompiler(), new JoorScriptingCompiler());
- }
-
- public JoorLanguage(JoorCompiler compiler, JoorScriptingCompiler scriptingCompiler) {
- this.compiler = compiler;
- this.scriptingCompiler = scriptingCompiler;
- }
-
- public JoorCompiler getCompiler() {
- return compiler;
- }
-
- public JoorScriptingCompiler getScriptingCompiler() {
- return scriptingCompiler;
- }
-
- public String getConfigResource() {
- return configResource;
- }
-
- public void setConfigResource(String configResource) {
- this.configResource = configResource;
- // trigger configuration to be re-loaded
- loadConfiguration();
- }
-
- public boolean isPreCompile() {
- return preCompile;
- }
-
- public void setPreCompile(boolean preCompile) {
- this.preCompile = preCompile;
- }
-
- public boolean isSingleQuotes() {
- return singleQuotes;
- }
-
- public void setSingleQuotes(boolean singleQuotes) {
- this.singleQuotes = singleQuotes;
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public <T> T evaluate(String script, Map<String, Object> bindings, Class<T> resultType) {
- Object out;
- JoorScriptingMethod target = scriptingCompiler.compile(getCamelContext(), script, bindings, singleQuotes);
- try {
- out = target.evaluate(bindings);
- } catch (Exception e) {
- throw RuntimeCamelException.wrapRuntimeException(e);
- }
- if (out != null && resultType != null) {
- return getCamelContext().getTypeConverter().convertTo(resultType, out);
- } else {
- return (T) out;
- }
- }
-
- @Override
- public Predicate createPredicate(String expression) {
- return ExpressionToPredicateAdapter.toPredicate(createExpression(expression));
- }
-
- @Override
- public Expression createExpression(String expression) {
- JoorExpression exp = new JoorExpression(expression);
- exp.setCompiler(compiler);
- exp.setResultType(getResultType());
- exp.setSingleQuotes(singleQuotes);
- exp.init(getCamelContext());
- return exp;
- }
-
- @Override
- public Predicate createPredicate(String expression, Object[] properties) {
- return (JoorExpression) createExpression(expression, properties);
- }
-
- @Override
- public Expression createExpression(String expression, Object[] properties) {
- JoorExpression exp = new JoorExpression(expression);
- exp.setCompiler(compiler);
- exp.setPreCompile(property(boolean.class, properties, 0, preCompile));
- exp.setResultType(property(Class.class, properties, 1, getResultType()));
- exp.setSingleQuotes(property(boolean.class, properties, 2, singleQuotes));
- exp.init(getCamelContext());
- return exp;
- }
-
- @Override
- public void init() {
- // attempt to load optional configuration from classpath
- loadConfiguration();
- }
-
- @Override
- public void start() {
- ServiceHelper.startService(compiler);
- }
-
- @Override
- public void stop() {
- ServiceHelper.stopService(compiler);
- }
+@Deprecated
+public class JoorLanguage extends JavaLanguage {
- private void loadConfiguration() {
- // attempt to load configuration
- String loaded = ScriptHelper.resolveOptionalExternalScript(getCamelContext(), "resource:" + configResource);
- int counter1 = 0;
- int counter2 = 0;
- if (loaded != null) {
- String[] lines = loaded.split("\n");
- for (String line : lines) {
- line = line.trim();
- // skip comments
- if (line.startsWith("#")) {
- continue;
- }
- // imports
- if (line.startsWith("import ")) {
- imports.add(line);
- counter1++;
- continue;
- }
- // aliases as key=value
- String key = StringHelper.before(line, "=");
- String value = StringHelper.after(line, "=");
- if (key != null) {
- key = key.trim();
- }
- if (value != null) {
- value = value.trim();
- }
- if (key != null && value != null) {
- this.aliases.put(key, value);
- counter2++;
- }
- }
- }
- if (counter1 > 0 || counter2 > 0) {
- LOG.info("Loaded jOOR language imports: {} and aliases: {} from configuration: {}", counter1, counter2,
- configResource);
- }
- if (compiler.getAliases() == null) {
- compiler.setAliases(aliases);
- } else {
- compiler.getAliases().putAll(aliases);
- }
- if (compiler.getImports() == null) {
- compiler.setImports(imports);
- } else {
- compiler.getImports().addAll(imports);
- }
- if (scriptingCompiler.getAliases() == null) {
- scriptingCompiler.setAliases(aliases);
- } else {
- scriptingCompiler.getAliases().putAll(aliases);
- }
- if (scriptingCompiler.getImports() == null) {
- scriptingCompiler.setImports(imports);
- } else {
- scriptingCompiler.getImports().addAll(imports);
- }
- }
}
diff --git a/components/camel-joor/src/test/java/org/apache/camel/language/JavaLanguageTest.java b/components/camel-joor/src/test/java/org/apache/camel/language/JavaLanguageTest.java
new file mode 100644
index 00000000000..71379ef23c5
--- /dev/null
+++ b/components/camel-joor/src/test/java/org/apache/camel/language/JavaLanguageTest.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.language;
+
+import org.apache.camel.builder.LanguageBuilderFactory;
+import org.apache.camel.model.language.JavaExpression;
+
+/**
+ * Ensures that the "java" language is compliant with the typed language expectations.
+ */
+class JavaLanguageTest extends AbstractTypedLanguageTest<JavaExpression.Builder, JavaExpression> {
+
+ JavaLanguageTest() {
+ super("return exchange.getIn().getBody();", LanguageBuilderFactory::java);
+ }
+}
diff --git a/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaBeanTest.java b/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaBeanTest.java
new file mode 100644
index 00000000000..2f3569ad7d0
--- /dev/null
+++ b/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaBeanTest.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.language.java;
+
+import org.apache.camel.Header;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.language.joor.Java;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+
+public class JavaBeanTest extends CamelTestSupport {
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ @Override
+ public void configure() {
+ from("direct:start")
+ .transform().method(JavaBeanTest.class, "priority")
+ .to("mock:result");
+ }
+ };
+ }
+
+ @Test
+ public void testBean() throws Exception {
+ getMockEndpoint("mock:result").expectedBodiesReceived("User tony is a high roller", "Regular user",
+ "User scott is a high roller");
+
+ template.sendBodyAndHeader("direct:start", 123, "user", "tony");
+ template.sendBodyAndHeader("direct:start", 18, "user", "mickey");
+ template.sendBodyAndHeader("direct:start", 44, "user", "scott");
+
+ MockEndpoint.assertIsSatisfied(context);
+ }
+
+ public static String priority(@Java("((int) body) / 2 > 10") boolean high, @Header("user") String user) {
+ if (high) {
+ return "User " + user + " is a high roller";
+ } else {
+ return "Regular user";
+ }
+ }
+
+}
diff --git a/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaLanguageTest.java b/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaLanguageTest.java
new file mode 100644
index 00000000000..1b6ddff7dbd
--- /dev/null
+++ b/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaLanguageTest.java
@@ -0,0 +1,236 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.language.java;
+
+import org.apache.camel.test.junit5.LanguageTestSupport;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class JavaLanguageTest extends LanguageTestSupport {
+
+ @Override
+ protected String getLanguageName() {
+ return "java";
+ }
+
+ @Test
+ public void testJoorExpressions() {
+ assertExpression("return \"Hello World 1\";", "Hello World 1");
+ assertExpression("return \"Hello World 2\"", "Hello World 2");
+ assertExpression("\"Hello World 3\"", "Hello World 3");
+
+ assertExpression("return 'Hello World 1';", "Hello World 1");
+ assertExpression("return 'Hello World 2'", "Hello World 2");
+ assertExpression("'Hello World 3'", "Hello World 3");
+ }
+
+ @Test
+ public void testExchange() {
+ exchange.getIn().setBody("World");
+
+ assertExpression("return \"Hello \" + exchange.getIn().getBody();", "Hello World");
+ assertExpression("return \"Hello \" + exchange.getIn().getBody()", "Hello World");
+ assertExpression("\"Hello \" + exchange.getIn().getBody()", "Hello World");
+
+ assertExpression("return 'Hello ' + exchange.getIn().getBody();", "Hello World");
+ assertExpression("return 'Hello ' + exchange.getIn().getBody()", "Hello World");
+ assertExpression("'Hello ' + exchange.getIn().getBody()", "Hello World");
+ }
+
+ @Test
+ public void testExchangeHeader() {
+ exchange.getIn().setHeader("foo", 22);
+
+ assertExpression("return 2 * exchange.getIn().getHeader(\"foo\", int.class);", "44");
+ assertExpression("return 3 * exchange.getIn().getHeader(\"foo\", int.class);", "66");
+ assertExpression("4 * exchange.getIn().getHeader(\"foo\", int.class)", "88");
+
+ assertExpression("return 2 * exchange.getIn().getHeader('foo', int.class);", "44");
+ assertExpression("return 3 * exchange.getIn().getHeader('foo', int.class);", "66");
+ assertExpression("4 * exchange.getIn().getHeader('foo', int.class)", "88");
+ }
+
+ @Test
+ public void testExchangeBody() {
+ exchange.getIn().setBody("Hello big world how are you");
+
+ assertExpression("message.getBody(String.class).toUpperCase()", "HELLO BIG WORLD HOW ARE YOU");
+ assertExpression("bodyAs(String).toLowerCase()", "hello big world how are you");
+ }
+
+ @Test
+ public void testMultiStatements() {
+ assertExpression("exchange.getIn().setHeader(\"tiger\", \"Tony\"); return null;", null);
+ assertExpression("exchange.getIn().setHeader('tiger', 'Tony'); return null;", null);
+ assertEquals("Tony", exchange.getIn().getHeader("tiger"));
+
+ exchange.getIn().setHeader("user", "Donald");
+ assertExpression("Object user = message.getHeader('user'); return user != null ? 'User: ' + user : 'No user exists';",
+ "User: Donald");
+ assertExpression("var user = message.getHeader('user'); return user != null ? 'User: ' + user : 'No user exists';",
+ "User: Donald");
+ exchange.getIn().removeHeader("user");
+ assertExpression("Object user = message.getHeader('user'); return user != null ? 'User: ' + user : 'No user exists';",
+ "No user exists");
+ }
+
+ @Test
+ public void testOptionalBody() {
+ exchange.getIn().setBody("22");
+ assertExpression("optionalBody.isPresent()", true);
+ assertExpression("optionalBody.get()", "22");
+
+ exchange.getIn().setBody(null);
+ assertExpression("optionalBody.isPresent()", false);
+ }
+
+ @Test
+ public void testExchangeBodyAs() {
+ exchange.getIn().setBody("22");
+
+ assertExpression("2 * bodyAs(int.class)", "44");
+ assertExpression("2 * bodyAs(int)", "44");
+ assertExpression("3 * bodyAs(Integer.class)", "66");
+ assertExpression("3 * bodyAs(Integer)", "66");
+ assertExpression("3 * bodyAs(java.lang.Integer.class)", "66");
+ assertExpression("3 * bodyAs(java.lang.Integer)", "66");
+ assertExpression("var num = bodyAs(int); return num * 4", "88");
+ }
+
+ @Test
+ public void testExchangeOptionalBodyAs() {
+ exchange.getIn().setBody("22");
+
+ assertExpression("2 * optionalBodyAs(int.class).get()", "44");
+ assertExpression("2 * optionalBodyAs(int).get()", "44");
+ assertExpression("3 * optionalBodyAs(Integer.class).get()", "66");
+ assertExpression("3 * optionalBodyAs(Integer).get()", "66");
+ assertExpression("3 * optionalBodyAs(java.lang.Integer.class).get()", "66");
+ assertExpression("3 * optionalBodyAs(java.lang.Integer).get()", "66");
+ assertExpression("var num = optionalBodyAs(int).get(); return num * 4", "88");
+ }
+
+ @Test
+ public void testExchangeHeaderAs() {
+ exchange.getIn().setHeader("foo", 22);
+
+ assertExpression("2 * headerAs('foo', int.class)", "44");
+ assertExpression("2 * headerAs('foo', int)", "44");
+ assertExpression("3 * headerAs('foo', Integer.class)", "66");
+ assertExpression("3 * headerAs('foo', Integer)", "66");
+ assertExpression("3 * headerAs('foo', java.lang.Integer.class)", "66");
+ assertExpression("3 * headerAs('foo', java.lang.Integer)", "66");
+ assertExpression("var num = headerAs('foo', int); return num * 4", "88");
+
+ assertExpression("2 * headerAs(\"foo\", int.class)", "44");
+ assertExpression("2 * headerAs(\"foo\", int)", "44");
+ assertExpression("3 * headerAs(\"foo\", Integer.class)", "66");
+ assertExpression("3 * headerAs(\"foo\", Integer)", "66");
+ assertExpression("3 * headerAs(\"foo\", java.lang.Integer.class)", "66");
+ assertExpression("3 * headerAs(\"foo\", java.lang.Integer)", "66");
+ assertExpression("var num = headerAs(\"foo\", int); return num * 4", "88");
+ }
+
+ @Test
+ public void testExchangeHeaderAsDefaultValue() {
+ exchange.getIn().setHeader("foo", 22);
+
+ assertExpression("2 * headerAs('dog', 33, int.class)", "66");
+ assertExpression("3 * headerAs('dog', 33, Integer.class)", "99");
+ assertExpression("2 * headerAs('dog', 33, int)", "66");
+ assertExpression("3 * headerAs('dog', 33, Integer)", "99");
+
+ assertExpression("'Hello ' + headerAs('dog', 'World', String)", "Hello World");
+ }
+
+ @Test
+ public void testExchangeOptionalHeaderAs() {
+ exchange.getIn().setHeader("foo", 22);
+
+ assertExpression("2 * optionalHeaderAs('foo', int.class).get()", "44");
+ assertExpression("2 * optionalHeaderAs('foo', int).get()", "44");
+ assertExpression("3 * optionalHeaderAs('foo', Integer.class).get()", "66");
+ assertExpression("3 * optionalHeaderAs('foo', Integer).get()", "66");
+ assertExpression("3 * optionalHeaderAs('foo', java.lang.Integer.class).get()", "66");
+ assertExpression("3 * optionalHeaderAs('foo', java.lang.Integer).get()", "66");
+ assertExpression("var num = optionalHeaderAs('foo', int).get(); return num * 4", "88");
+
+ assertExpression("2 * optionalHeaderAs(\"foo\", int.class).get()", "44");
+ assertExpression("2 * optionalHeaderAs(\"foo\", int).get()", "44");
+ assertExpression("3 * optionalHeaderAs(\"foo\", Integer.class).get()", "66");
+ assertExpression("3 * optionalHeaderAs(\"foo\", Integer).get()", "66");
+ assertExpression("3 * optionalHeaderAs(\"foo\", java.lang.Integer.class).get()", "66");
+ assertExpression("3 * optionalHeaderAs(\"foo\", java.lang.Integer).get()", "66");
+ assertExpression("var num = optionalHeaderAs(\"foo\", int).get(); return num * 4", "88");
+ }
+
+ @Test
+ public void testExchangePropertyAs() {
+ exchange.setProperty("bar", 22);
+
+ assertExpression("2 * exchangePropertyAs('bar', int.class)", "44");
+ assertExpression("2 * exchangePropertyAs('bar', int)", "44");
+ assertExpression("3 * exchangePropertyAs('bar', Integer.class)", "66");
+ assertExpression("3 * exchangePropertyAs('bar', Integer)", "66");
+ assertExpression("3 * exchangePropertyAs('bar', java.lang.Integer.class)", "66");
+ assertExpression("3 * exchangePropertyAs('bar', java.lang.Integer)", "66");
+ assertExpression("var num = exchangePropertyAs('bar', int); return num * 4", "88");
+
+ assertExpression("2 * exchangePropertyAs(\"bar\", int.class)", "44");
+ assertExpression("2 * exchangePropertyAs(\"bar\", int)", "44");
+ assertExpression("3 * exchangePropertyAs(\"bar\", Integer.class)", "66");
+ assertExpression("3 * exchangePropertyAs(\"bar\", Integer)", "66");
+ assertExpression("3 * exchangePropertyAs(\"bar\", java.lang.Integer.class)", "66");
+ assertExpression("3 * exchangePropertyAs(\"bar\", java.lang.Integer)", "66");
+ assertExpression("var num = exchangePropertyAs(\"bar\", int); return num * 4", "88");
+ }
+
+ @Test
+ public void testExchangePropertyDefaultValueAs() {
+ exchange.setProperty("bar", 22);
+
+ assertExpression("2 * exchangePropertyAs('dog', 33, int.class)", "66");
+ assertExpression("3 * exchangePropertyAs('dog', 33, Integer.class)", "99");
+ assertExpression("2 * exchangePropertyAs('dog', 33, int)", "66");
+ assertExpression("3 * exchangePropertyAs('dog', 33, Integer)", "99");
+
+ assertExpression("'Hello ' + exchangePropertyAs('dog', 'World', String)", "Hello World");
+ }
+
+ @Test
+ public void testOptionalExchangePropertyAs() {
+ exchange.setProperty("bar", 22);
+
+ assertExpression("2 * optionalExchangePropertyAs('bar', int.class).get()", "44");
+ assertExpression("2 * optionalExchangePropertyAs('bar', int).get()", "44");
+ assertExpression("3 * optionalExchangePropertyAs('bar', Integer.class).get()", "66");
+ assertExpression("3 * optionalExchangePropertyAs('bar', Integer).get()", "66");
+ assertExpression("3 * optionalExchangePropertyAs('bar', java.lang.Integer.class).get()", "66");
+ assertExpression("3 * optionalExchangePropertyAs('bar', java.lang.Integer).get()", "66");
+ assertExpression("var num = optionalExchangePropertyAs('bar', int).get(); return num * 4", "88");
+
+ assertExpression("2 * optionalExchangePropertyAs(\"bar\", int.class).get()", "44");
+ assertExpression("2 * optionalExchangePropertyAs(\"bar\", int).get()", "44");
+ assertExpression("3 * optionalExchangePropertyAs(\"bar\", Integer.class).get()", "66");
+ assertExpression("3 * optionalExchangePropertyAs(\"bar\", Integer).get()", "66");
+ assertExpression("3 * optionalExchangePropertyAs(\"bar\", java.lang.Integer.class).get()", "66");
+ assertExpression("3 * optionalExchangePropertyAs(\"bar\", java.lang.Integer).get()", "66");
+ assertExpression("var num = optionalExchangePropertyAs(\"bar\", int).get(); return num * 4", "88");
+ }
+
+}
diff --git a/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaTransformTest.java b/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaTransformTest.java
new file mode 100644
index 00000000000..8a89ad0e430
--- /dev/null
+++ b/components/camel-joor/src/test/java/org/apache/camel/language/java/JavaTransformTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.language.java;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+
+public class JavaTransformTest extends CamelTestSupport {
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ @Override
+ public void configure() {
+ from("direct:start")
+ .transform().java("'Hello ' + body")
+ .to("mock:result");
+ }
+ };
+ }
+
+ @Test
+ public void testHello() throws Exception {
+ getMockEndpoint("mock:result").expectedBodiesReceived("Hello World", "Hello Camel");
+
+ template.sendBody("direct:start", "World");
+ template.sendBody("direct:start", "Camel");
+
+ MockEndpoint.assertIsSatisfied(context);
+ }
+
+}
diff --git a/components/camel-language/src/generated/resources/org/apache/camel/component/language/language.json b/components/camel-language/src/generated/resources/org/apache/camel/component/language/language.json
index fa1e131e10b..87aac774694 100644
--- a/components/camel-language/src/generated/resources/org/apache/camel/component/language/language.json
+++ b/components/camel-language/src/generated/resources/org/apache/camel/component/language/language.json
@@ -29,7 +29,7 @@
"CamelLanguageScript": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String or Expression", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The script to execute provided in the header. Takes precedence over script configured on the endpoint.", "constantName": "org.apache.camel.component.language.LanguageConstants#LANGUAGE_SCRIPT" }
},
"properties": {
- "languageName": { "index": 0, "kind": "path", "displayName": "Language Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "joor", "jq", "jsonpath", "mvel", "ognl", "ref", "simple", "spel", "sql", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret" [...]
+ "languageName": { "index": 0, "kind": "path", "displayName": "Language Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "enum": [ "bean", "constant", "csimple", "datasonnet", "exchangeProperty", "file", "groovy", "header", "hl7terser", "java", "joor", "jq", "jsonpath", "mvel", "ognl", "ref", "simple", "spel", "sql", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "deprecationNote": "", "autowired": false, [...]
"resourceUri": { "index": 1, "kind": "path", "displayName": "Resource Uri", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "description": "Path to the resource, or a reference to lookup a bean in the Registry to use as the resource" },
"allowContextMapAll": { "index": 2, "kind": "parameter", "displayName": "Allow Context Map All", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and C [...]
"binary": { "index": 3, "kind": "parameter", "displayName": "Binary", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the script is binary content or text content. By default the script is read as text content (eg java.lang.String)" },
diff --git a/components/camel-language/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java b/components/camel-language/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
index c236cb4e671..7348c8f987b 100644
--- a/components/camel-language/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
+++ b/components/camel-language/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
@@ -53,7 +53,7 @@ public class LanguageEndpoint extends ResourceEndpoint {
private Language language;
private Expression expression;
private boolean contentResolvedFromResource;
- @UriPath(enums = "bean,constant,csimple,datasonnet,exchangeProperty,file,groovy,header,hl7terser,joor,jq,jsonpath"
+ @UriPath(enums = "bean,constant,csimple,datasonnet,exchangeProperty,file,groovy,header,hl7terser,java,joor,jq,jsonpath"
+ ",mvel,ognl,ref,simple,spel,sql,tokenize,xpath,xquery,xtokenize")
@Metadata(required = true)
private String languageName;
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 1540a3d8786..3effa108542 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
@@ -69,6 +69,7 @@ intercept
interceptFrom
interceptSendToEndpoint
jacksonXml
+java
jaxb
joor
jq
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 e293421e8d2..2e6e8ce267e 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
@@ -12,10 +12,10 @@
"output": true
},
"properties": {
- "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowir [...]
- "completionPredicate": { "index": 1, "kind": "expression", "displayName": "Completion Predicate", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated [...]
- "completionTimeoutExpression": { "index": 2, "kind": "expression", "displayName": "Completion Timeout Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokeniz [...]
- "completionSizeExpression": { "index": 3, "kind": "expression", "displayName": "Completion Size Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], [...]
+ "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
+ "completionPredicate": { "index": 1, "kind": "expression", "displayName": "Completion Predicate", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "de [...]
+ "completionTimeoutExpression": { "index": 2, "kind": "expression", "displayName": "Completion Timeout Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", " [...]
+ "completionSizeExpression": { "index": 3, "kind": "expression", "displayName": "Completion Size Expression", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtoken [...]
"optimisticLockRetryPolicy": { "index": 4, "kind": "element", "displayName": "Optimistic Lock Retry Policy", "label": "advanced", "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": { "index": 5, "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 t [...]
"optimisticLocking": { "index": 6, "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 17ec8b880eb..1e7a5500a07 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"asyncDelayed": { "index": 1, "kind": "attribute", "displayName": "Async Delayed", "label": "advanced", "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": { "index": 2, "kind": "attribute", "displayName": "Caller Runs When Rejected", "label": "advanced", "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" },
"executorService": { "index": 3, "kind": "attribute", "displayName": "Executor Service", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom Thread Pool if asyncDelay has been enabled." },
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 24fd66c4ce8..e8b29aceb3a 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"uriDelimiter": { "index": 1, "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": { "index": 2, "kind": "attribute", "displayName": "Ignore Invalid Endpoints", "label": "advanced", "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": { "index": 3, "kind": "attribute", "displayName": "Cache Size", "label": "advanced", "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 [...]
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 150af5f85ff..0ea0f3b57e8 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"aggregationStrategy": { "index": 1, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the 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." },
"aggregationStrategyMethodName": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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." },
"aggregationStrategyMethodAllowNull": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Allow Null", "label": "advanced", "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 us [...]
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 a5c53d1e918..8c0c8286d41 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
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"statusPropertyName": { "index": 1, "kind": "attribute", "displayName": "Status Property Name", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of exchange property to use for storing the status of the filtering. Setting this allows to know if the filter predicate evaluated as true or false." },
"outputs": { "index": 2, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", " [...]
"disabled": { "index": 3, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
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 0e88e1644ff..358802000ed 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
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"idempotentRepository": { "index": 1, "kind": "attribute", "displayName": "Idempotent Repository", "required": false, "type": "object", "javaType": "org.apache.camel.spi.IdempotentRepository", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the reference name of the message id repository" },
"eager": { "index": 2, "kind": "attribute", "displayName": "Eager", "label": "advanced", "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": { "index": 3, "kind": "attribute", "displayName": "Completion Eager", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 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 [...]
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/java.json
similarity index 91%
copy from core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json
copy to core/camel-core-model/src/generated/resources/org/apache/camel/model/language/java.json
index 4fbfb28adb5..da7666ff41f 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/java.json
@@ -1,13 +1,13 @@
{
"model": {
"kind": "model",
- "name": "joor",
- "title": "jOOR",
- "description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
+ "name": "java",
+ "title": "Java",
+ "description": "Evaluates a Java (Java compiled once at runtime) expression.",
"deprecated": false,
- "firstVersion": "3.7.0",
+ "firstVersion": "4.3.0",
"label": "language",
- "javaType": "org.apache.camel.model.language.JoorExpression",
+ "javaType": "org.apache.camel.model.language.JavaExpression",
"abstract": false,
"input": false,
"output": false
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 8a5570b76c8..27225bc9c20 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
@@ -7,6 +7,7 @@ ExpressionDefinition
GroovyExpression
HeaderExpression
Hl7TerserExpression
+JavaExpression
JavaScriptExpression
JoorExpression
JqExpression
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json
index 4fbfb28adb5..f3b1abbcb76 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/language/joor.json
@@ -4,7 +4,7 @@
"name": "joor",
"title": "jOOR",
"description": "Evaluates a jOOR (Java compiled once at runtime) expression.",
- "deprecated": false,
+ "deprecated": true,
"firstVersion": "3.7.0",
"label": "language",
"javaType": "org.apache.camel.model.language.JoorExpression",
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 4226caad71d..3b104e487ca 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowir [...]
+ "correlationExpression": { "index": 0, "kind": "expression", "displayName": "Correlation Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
"id": { "index": 1, "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 1d071a5ff84..5d4f9883d47 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
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"copy": { "index": 1, "kind": "attribute", "displayName": "Copy", "label": "advanced", "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 [...]
"doWhile": { "index": 2, "kind": "attribute", "displayName": "Do While", "label": "advanced", "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." },
"breakOnShutdown": { "index": 3, "kind": "attribute", "displayName": "Break On Shutdown", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down." },
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 dfb06a9c580..5b6e2fcd2dc 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
@@ -14,11 +14,11 @@
"properties": {
"exception": { "index": 0, "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": { "index": 1, "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": { "index": 2, "kind": "expression", "displayName": "Retry While", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowir [...]
+ "retryWhile": { "index": 2, "kind": "expression", "displayName": "Retry While", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
"redeliveryPolicy": { "index": 3, "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": { "index": 4, "kind": "attribute", "displayName": "Redelivery Policy Ref", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets a reference to a redelivery policy to lookup in the org.apache.camel.spi.Registry to be used." },
- "handled": { "index": 5, "kind": "expression", "displayName": "Handled", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": false, [...]
- "continued": { "index": 6, "kind": "expression", "displayName": "Continued", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired" [...]
+ "handled": { "index": 5, "kind": "expression", "displayName": "Handled", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret" [...]
+ "continued": { "index": 6, "kind": "expression", "displayName": "Continued", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "au [...]
"onRedeliveryRef": { "index": 7, "kind": "attribute", "displayName": "On Redelivery Ref", "label": "advanced", "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": { "index": 8, "kind": "attribute", "displayName": "On Exception Occurred Ref", "label": "advanced", "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 throw [...]
"useOriginalMessage": { "index": 9, "kind": "attribute", "displayName": "Use Original Message", "label": "advanced", "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 attem [...]
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 77e007904c0..d2af518a020 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"aggregationStrategy": { "index": 1, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the 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." },
"aggregationStrategyMethodName": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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." },
"aggregationStrategyMethodAllowNull": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Allow Null", "label": "advanced", "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 us [...]
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/propertyExpression.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/propertyExpression.json
index 929d3caa5f5..ab1f52b9f9e 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/propertyExpression.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/propertyExpression.json
@@ -13,6 +13,6 @@
},
"properties": {
"key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Property key" },
- "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
}
}
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 ae0358dec52..84e906cb606 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"delimiter": { "index": 1, "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 ," },
"aggregationStrategy": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets 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 POJ [...]
"aggregationStrategyMethodName": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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/resequence.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/resequence.json
index b8154035434..ee28995a66d 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
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"resequencerConfig": { "index": 1, "kind": "element", "displayName": "Resequencer Config", "required": true, "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." },
"outputs": { "index": 2, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", "marshal", "multicast", "onCompletion", "onException", "onFallb [...]
"disabled": { "index": 3, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
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 46145367d34..4311afb2d8f 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"uriDelimiter": { "index": 1, "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": { "index": 2, "kind": "attribute", "displayName": "Ignore Invalid Endpoints", "label": "advanced", "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": { "index": 3, "kind": "attribute", "displayName": "Cache Size", "label": "advanced", "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 b [...]
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 f3d19bef241..ac1cf1c30b8 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 1, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 2, "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": { "index": 3, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "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 60f1f3d8779..4cdcf0815e8 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 1, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 2, "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": { "index": 3, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "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 d69de7ae394..6ed3370be09 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
@@ -13,7 +13,7 @@
},
"properties": {
"name": { "index": 0, "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." },
- "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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": { "index": 4, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "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 dd456234337..222c0586e22 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
@@ -13,7 +13,7 @@
},
"properties": {
"name": { "index": 0, "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." },
- "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 1, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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": { "index": 4, "kind": "element", "displayName": "Description", "required": false, "type": "string", "javaType": "java.lang.String", "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 8fe55d0490e..40847b7dd4d 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"comparator": { "index": 1, "kind": "attribute", "displayName": "Comparator", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Comparator", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the comparator to use for sorting" },
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/split.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/split.json
index ff6a938a15d..175c8078e91 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
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"delimiter": { "index": 1, "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 ," },
"aggregationStrategy": { "index": 2, "kind": "attribute", "displayName": "Aggregation Strategy", "required": false, "type": "object", "javaType": "org.apache.camel.AggregationStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "Sets a reference to the AggregationStrategy to be used to assemble the replies from the split messages, into a single outgoing message from the Splitter. By default Camel will use the original incoming message to the splitter (l [...]
"aggregationStrategyMethodName": { "index": 3, "kind": "attribute", "displayName": "Aggregation Strategy Method Name", "label": "advanced", "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/throttle.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/throttle.json
index c397759fd72..c9eaae7ee68 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
@@ -12,8 +12,8 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
- "correlationExpression": { "index": 1, "kind": "expression", "displayName": "Correlation Expression", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowi [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
+ "correlationExpression": { "index": 1, "kind": "expression", "displayName": "Correlation Expression", "required": false, "type": "object", "javaType": "org.apache.camel.model.ExpressionSubElementDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, [...]
"executorService": { "index": 2, "kind": "attribute", "displayName": "Executor Service", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom thread pool (ScheduledExecutorService) by the throttler." },
"timePeriodMillis": { "index": 3, "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": { "index": 4, "kind": "attribute", "displayName": "Async Delayed", "label": "advanced", "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 04019961fe2..ae6cd2de965 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"fromType": { "index": 1, "kind": "attribute", "displayName": "From Type", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "From type used in data type transformation." },
"toType": { "index": 2, "kind": "attribute", "displayName": "To Type", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To type used as a target data type in the transformation." },
"disabled": { "index": 3, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
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 7a13b64e563..d68ab5c826e 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
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"predicateExceptionFactory": { "index": 1, "kind": "attribute", "displayName": "Predicate Exception Factory", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PredicateExceptionFactory", "deprecated": false, "autowired": false, "secret": false, "description": "The bean id of custom PredicateExceptionFactory to use for creating the exception when the validation fails. By default, Camel will throw PredicateValidationException. By using a custo [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/when.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/when.json
index 31a02dd098c..aabf8973d02 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
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"outputs": { "index": 1, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", " [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/whenSkipSendToEndpoint.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/whenSkipSendToEndpoint.json
index 6483afdcdf0..3f479662033 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
@@ -12,7 +12,7 @@
"output": true
},
"properties": {
- "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "secret": fa [...]
+ "expression": { "index": 0, "kind": "expression", "displayName": "Expression", "required": true, "type": "object", "javaType": "org.apache.camel.model.language.ExpressionDefinition", "oneOf": [ "constant", "csimple", "datasonnet", "exchangeProperty", "groovy", "header", "hl7terser", "java", "joor", "jq", "js", "jsonpath", "language", "method", "mvel", "ognl", "python", "ref", "simple", "spel", "tokenize", "xpath", "xquery", "xtokenize" ], "deprecated": false, "autowired": false, "sec [...]
"outputs": { "index": 1, "kind": "element", "displayName": "Outputs", "required": true, "type": "array", "javaType": "java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", "delay", "doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", "kamelet", "loadBalance", "log", "loop", " [...]
"disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", "label": "advanced", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime." },
"id": { "index": 3, "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/main/java/org/apache/camel/builder/Builder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/Builder.java
index c72810e5a7b..2da14f1acb4 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/Builder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/Builder.java
@@ -21,6 +21,7 @@ import org.apache.camel.model.language.CSimpleExpression;
import org.apache.camel.model.language.ConstantExpression;
import org.apache.camel.model.language.ExchangePropertyExpression;
import org.apache.camel.model.language.HeaderExpression;
+import org.apache.camel.model.language.JavaExpression;
import org.apache.camel.model.language.JoorExpression;
import org.apache.camel.model.language.JqExpression;
import org.apache.camel.model.language.JsonPathExpression;
@@ -171,6 +172,7 @@ public final class Builder {
/**
* Returns a JOOR expression value builder
*/
+ @Deprecated
public static ValueBuilder joor(String value) {
JoorExpression exp = new JoorExpression(value);
return new ValueBuilder(exp);
@@ -179,12 +181,30 @@ public final class Builder {
/**
* Returns a JOOR expression value builder
*/
+ @Deprecated
public static ValueBuilder joor(String value, Class<?> resultType) {
JoorExpression exp = new JoorExpression(value);
exp.setResultType(resultType);
return new ValueBuilder(exp);
}
+ /**
+ * Returns a Java expression value builder
+ */
+ public static ValueBuilder java(String value) {
+ JavaExpression exp = new JavaExpression(value);
+ return new ValueBuilder(exp);
+ }
+
+ /**
+ * Returns a Java expression value builder
+ */
+ public static ValueBuilder java(String value, Class<?> resultType) {
+ JavaExpression exp = new JavaExpression(value);
+ exp.setResultType(resultType);
+ return new ValueBuilder(exp);
+ }
+
/**
* Returns a JQ expression value builder
*/
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
index 5b15e6569f6..d4f31f78682 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java
@@ -367,6 +367,7 @@ public class ExpressionClause<T> implements Expression, Predicate {
/**
* Returns a JOOR expression value builder
*/
+ @Deprecated
public T joor(String value) {
return delegate.joor(value);
}
@@ -374,10 +375,25 @@ public class ExpressionClause<T> implements Expression, Predicate {
/**
* Returns a JOOR expression value builder
*/
+ @Deprecated
public T joor(String value, Class<?> resultType) {
return delegate.joor(value, resultType);
}
+ /**
+ * Returns a Java expression value builder
+ */
+ public T java(String value) {
+ return delegate.java(value);
+ }
+
+ /**
+ * Returns a Java expression value builder
+ */
+ public T java(String value, Class<?> resultType) {
+ return delegate.java(value, resultType);
+ }
+
/**
* Evaluates a <a href="http://camel.apache.org/jq.html">JQ expression</a>
*
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
index 299b81a7076..ff3b81c421b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
@@ -30,6 +30,7 @@ import org.apache.camel.model.language.ExchangePropertyExpression;
import org.apache.camel.model.language.GroovyExpression;
import org.apache.camel.model.language.HeaderExpression;
import org.apache.camel.model.language.Hl7TerserExpression;
+import org.apache.camel.model.language.JavaExpression;
import org.apache.camel.model.language.JavaScriptExpression;
import org.apache.camel.model.language.JoorExpression;
import org.apache.camel.model.language.JqExpression;
@@ -380,6 +381,7 @@ public class ExpressionClauseSupport<T> implements ExpressionFactoryAware, Predi
* @param text the expression to be evaluated
* @return the builder to continue processing the DSL
*/
+ @Deprecated
public T joor(String text) {
return expression(new JoorExpression(text));
}
@@ -391,12 +393,36 @@ public class ExpressionClauseSupport<T> implements ExpressionFactoryAware, Predi
* @param resultType the return type expected by the expression
* @return the builder to continue processing the DSL
*/
+ @Deprecated
public T joor(String text, Class<?> resultType) {
JoorExpression exp = new JoorExpression(text);
exp.setResultType(resultType);
return expression(exp);
}
+ /**
+ * Evaluates an Java expression
+ *
+ * @param text the expression to be evaluated
+ * @return the builder to continue processing the DSL
+ */
+ public T java(String text) {
+ return expression(new JavaExpression(text));
+ }
+
+ /**
+ * Evaluates an Java expression
+ *
+ * @param text the expression to be evaluated
+ * @param resultType the return type expected by the expression
+ * @return the builder to continue processing the DSL
+ */
+ public T java(String text, Class<?> resultType) {
+ JavaExpression exp = new JavaExpression(text);
+ exp.setResultType(resultType);
+ return expression(exp);
+ }
+
/**
* Evaluates <a href="http://camel.apache.org/jq.html">JQ expression</a>
*
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/LanguageBuilderFactory.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/LanguageBuilderFactory.java
index 3f391a904ac..a70a584f942 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/LanguageBuilderFactory.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/LanguageBuilderFactory.java
@@ -23,6 +23,7 @@ import org.apache.camel.model.language.ExchangePropertyExpression;
import org.apache.camel.model.language.GroovyExpression;
import org.apache.camel.model.language.HeaderExpression;
import org.apache.camel.model.language.Hl7TerserExpression;
+import org.apache.camel.model.language.JavaExpression;
import org.apache.camel.model.language.JavaScriptExpression;
import org.apache.camel.model.language.JoorExpression;
import org.apache.camel.model.language.JqExpression;
@@ -102,14 +103,22 @@ public final class LanguageBuilderFactory {
}
/**
- * Uses the Joor language
+ * Uses the Java language
*/
+ public JavaExpression.Builder java() {
+ return new JavaExpression.Builder();
+ }
+
+ /**
+ * Uses the JOOR language
+ */
+ @Deprecated
public JoorExpression.Builder joor() {
return new JoorExpression.Builder();
}
/**
- * Uses the Jq language
+ * Uses the JQ language
*/
public JqExpression.Builder jq() {
return new JqExpression.Builder();
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/language/JoorExpression.java b/core/camel-core-model/src/main/java/org/apache/camel/model/language/JavaExpression.java
similarity index 88%
copy from core/camel-core-model/src/main/java/org/apache/camel/model/language/JoorExpression.java
copy to core/camel-core-model/src/main/java/org/apache/camel/model/language/JavaExpression.java
index f3d9975d8e7..84417a0b5f3 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/language/JoorExpression.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/language/JavaExpression.java
@@ -21,16 +21,15 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlTransient;
-
import org.apache.camel.spi.Metadata;
/**
- * Evaluates a jOOR (Java compiled once at runtime) expression.
+ * Evaluates a Java (Java compiled once at runtime) expression.
*/
-@Metadata(firstVersion = "3.7.0", label = "language", title = "jOOR")
-@XmlRootElement(name = "joor")
+@Metadata(firstVersion = "4.3.0", label = "language", title = "Java")
+@XmlRootElement(name = "java")
@XmlAccessorType(XmlAccessType.FIELD)
-public class JoorExpression extends TypedExpressionDefinition {
+public class JavaExpression extends TypedExpressionDefinition {
@XmlAttribute
@Metadata(label = "advanced", defaultValue = "true", javaType = "java.lang.Boolean")
@@ -39,14 +38,14 @@ public class JoorExpression extends TypedExpressionDefinition {
@Metadata(label = "advanced", defaultValue = "true", javaType = "java.lang.Boolean")
private String singleQuotes;
- public JoorExpression() {
+ public JavaExpression() {
}
- public JoorExpression(String expression) {
+ public JavaExpression(String expression) {
super(expression);
}
- private JoorExpression(Builder builder) {
+ private JavaExpression(Builder builder) {
super(builder);
this.preCompile = builder.preCompile;
this.singleQuotes = builder.singleQuotes;
@@ -54,7 +53,7 @@ public class JoorExpression extends TypedExpressionDefinition {
@Override
public String getLanguage() {
- return "joor";
+ return "java";
}
public String getPreCompile() {
@@ -82,10 +81,10 @@ public class JoorExpression extends TypedExpressionDefinition {
}
/**
- * {@code Builder} is a specific builder for {@link JoorExpression}.
+ * {@code Builder} is a specific builder for {@link JavaExpression}.
*/
@XmlTransient
- public static class Builder extends AbstractBuilder<Builder, JoorExpression> {
+ public static class Builder extends AbstractBuilder<Builder, JavaExpression> {
private String preCompile;
private String singleQuotes;
@@ -127,8 +126,8 @@ public class JoorExpression extends TypedExpressionDefinition {
}
@Override
- public JoorExpression end() {
- return new JoorExpression(this);
+ public JavaExpression end() {
+ return new JavaExpression(this);
}
}
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/language/JoorExpression.java b/core/camel-core-model/src/main/java/org/apache/camel/model/language/JoorExpression.java
index f3d9975d8e7..cd8ba78d05b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/language/JoorExpression.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/language/JoorExpression.java
@@ -30,6 +30,7 @@ import org.apache.camel.spi.Metadata;
@Metadata(firstVersion = "3.7.0", label = "language", title = "jOOR")
@XmlRootElement(name = "joor")
@XmlAccessorType(XmlAccessType.FIELD)
+@Deprecated
public class JoorExpression extends TypedExpressionDefinition {
@XmlAttribute
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java
index 4cd5778faf0..0660f805978 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java
@@ -32,6 +32,7 @@ import org.apache.camel.model.ExpressionSubElementDefinition;
import org.apache.camel.model.language.CSimpleExpression;
import org.apache.camel.model.language.DatasonnetExpression;
import org.apache.camel.model.language.ExpressionDefinition;
+import org.apache.camel.model.language.JavaExpression;
import org.apache.camel.model.language.JoorExpression;
import org.apache.camel.model.language.JqExpression;
import org.apache.camel.model.language.JsonPathExpression;
@@ -107,6 +108,8 @@ public class ExpressionReifier<T extends ExpressionDefinition> extends AbstractR
return new CSimpleExpressionReifier(camelContext, definition);
} else if (definition instanceof DatasonnetExpression) {
return new DatasonnetExpressionReifier(camelContext, definition);
+ } else if (definition instanceof JavaExpression) {
+ return new JavaExpressionReifier(camelContext, definition);
} else if (definition instanceof JoorExpression) {
return new JoorExpressionReifier(camelContext, definition);
} else if (definition instanceof JqExpression) {
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JoorExpressionReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JavaExpressionReifier.java
similarity index 83%
copy from core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JoorExpressionReifier.java
copy to core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JavaExpressionReifier.java
index ec996ad0dfa..d48571dfb64 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JoorExpressionReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JavaExpressionReifier.java
@@ -18,11 +18,11 @@ package org.apache.camel.reifier.language;
import org.apache.camel.CamelContext;
import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.camel.model.language.JoorExpression;
+import org.apache.camel.model.language.JavaExpression;
-public class JoorExpressionReifier extends TypedExpressionReifier<JoorExpression> {
+public class JavaExpressionReifier extends TypedExpressionReifier<JavaExpression> {
- public JoorExpressionReifier(CamelContext camelContext, ExpressionDefinition definition) {
+ public JavaExpressionReifier(CamelContext camelContext, ExpressionDefinition definition) {
super(camelContext, definition);
}
@@ -37,7 +37,7 @@ public class JoorExpressionReifier extends TypedExpressionReifier<JoorExpression
@Override
public boolean isResolveOptionalExternalScriptEnabled() {
- // we handle this in camel-joor
+ // we handle this in camel-joor (joor is used for compiling java source at runtime)
return false;
}
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JoorExpressionReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JoorExpressionReifier.java
index ec996ad0dfa..c986b64535a 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JoorExpressionReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/JoorExpressionReifier.java
@@ -20,6 +20,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.model.language.JoorExpression;
+@Deprecated
public class JoorExpressionReifier extends TypedExpressionReifier<JoorExpression> {
public JoorExpressionReifier(CamelContext camelContext, ExpressionDefinition definition) {
diff --git a/core/camel-main/src/generated/resources/org/apache/camel/main/languages.properties b/core/camel-main/src/generated/resources/org/apache/camel/main/languages.properties
index 8aa9f4d1a08..86fcea79981 100644
--- a/core/camel-main/src/generated/resources/org/apache/camel/main/languages.properties
+++ b/core/camel-main/src/generated/resources/org/apache/camel/main/languages.properties
@@ -7,6 +7,7 @@ file
groovy
header
hl7terser
+java
joor
jq
js
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 863b7371650..c4557ab90b5 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
@@ -2820,6 +2820,16 @@ public class ModelParser extends BaseParser {
return true;
};
}
+ protected JavaExpression doParseJavaExpression() throws IOException, XmlPullParserException {
+ return doParse(new JavaExpression(), (def, key, val) -> {
+ switch (key) {
+ case "preCompile": def.setPreCompile(val); break;
+ case "singleQuotes": def.setSingleQuotes(val); break;
+ default: return typedExpressionDefinitionAttributeHandler().accept(def, key, val);
+ }
+ return true;
+ }, noElementHandler(), expressionDefinitionValueHandler());
+ }
protected JavaScriptExpression doParseJavaScriptExpression() throws IOException, XmlPullParserException {
return doParse(new JavaScriptExpression(),
typedExpressionDefinitionAttributeHandler(), noElementHandler(), expressionDefinitionValueHandler());
@@ -3484,6 +3494,7 @@ public class ModelParser extends BaseParser {
case "groovy": return doParseGroovyExpression();
case "header": return doParseHeaderExpression();
case "hl7terser": return doParseHl7TerserExpression();
+ case "java": return doParseJavaExpression();
case "js": return doParseJavaScriptExpression();
case "joor": return doParseJoorExpression();
case "jq": return doParseJqExpression();
diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
index c77a4b7ce63..ab3770e1d5e 100644
--- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
+++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
@@ -822,6 +822,9 @@ public class ModelWriter extends BaseWriter {
throws IOException {
doWriteHl7TerserExpression("hl7terser", def);
}
+ public void writeJavaExpression(JavaExpression def) throws IOException {
+ doWriteJavaExpression("java", def);
+ }
public void writeJavaScriptExpression(
JavaScriptExpression def)
throws IOException {
@@ -3882,6 +3885,17 @@ public class ModelWriter extends BaseWriter {
doWriteValue(def.getExpression());
endElement(name);
}
+ protected void doWriteJavaExpression(
+ String name,
+ JavaExpression def)
+ throws IOException {
+ startElement(name);
+ doWriteTypedExpressionDefinitionAttributes(def);
+ doWriteAttribute("preCompile", def.getPreCompile());
+ doWriteAttribute("singleQuotes", def.getSingleQuotes());
+ doWriteValue(def.getExpression());
+ endElement(name);
+ }
protected void doWriteJavaScriptExpression(
String name,
JavaScriptExpression def)
@@ -4976,6 +4990,7 @@ public class ModelWriter extends BaseWriter {
case "GroovyExpression" -> doWriteGroovyExpression("groovy", (GroovyExpression) v);
case "HeaderExpression" -> doWriteHeaderExpression("header", (HeaderExpression) v);
case "Hl7TerserExpression" -> doWriteHl7TerserExpression("hl7terser", (Hl7TerserExpression) v);
+ case "JavaExpression" -> doWriteJavaExpression("java", (JavaExpression) v);
case "JavaScriptExpression" -> doWriteJavaScriptExpression("js", (JavaScriptExpression) v);
case "JoorExpression" -> doWriteJoorExpression("joor", (JoorExpression) v);
case "JqExpression" -> doWriteJqExpression("jq", (JqExpression) v);
diff --git a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
index ef65f7267bd..06bd9313014 100644
--- a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
+++ b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
@@ -822,6 +822,9 @@ public class ModelWriter extends BaseWriter {
throws IOException {
doWriteHl7TerserExpression("hl7terser", def);
}
+ public void writeJavaExpression(JavaExpression def) throws IOException {
+ doWriteJavaExpression("java", def);
+ }
public void writeJavaScriptExpression(
JavaScriptExpression def)
throws IOException {
@@ -3882,6 +3885,17 @@ public class ModelWriter extends BaseWriter {
doWriteValue(def.getExpression());
endElement(name);
}
+ protected void doWriteJavaExpression(
+ String name,
+ JavaExpression def)
+ throws IOException {
+ startElement(name);
+ doWriteTypedExpressionDefinitionAttributes(def);
+ doWriteAttribute("preCompile", def.getPreCompile());
+ doWriteAttribute("singleQuotes", def.getSingleQuotes());
+ doWriteValue(def.getExpression());
+ endElement(name);
+ }
protected void doWriteJavaScriptExpression(
String name,
JavaScriptExpression def)
@@ -4976,6 +4990,7 @@ public class ModelWriter extends BaseWriter {
case "GroovyExpression" -> doWriteGroovyExpression("groovy", (GroovyExpression) v);
case "HeaderExpression" -> doWriteHeaderExpression("header", (HeaderExpression) v);
case "Hl7TerserExpression" -> doWriteHl7TerserExpression("hl7terser", (Hl7TerserExpression) v);
+ case "JavaExpression" -> doWriteJavaExpression("java", (JavaExpression) v);
case "JavaScriptExpression" -> doWriteJavaScriptExpression("js", (JavaScriptExpression) v);
case "JoorExpression" -> doWriteJoorExpression("joor", (JoorExpression) v);
case "JqExpression" -> doWriteJqExpression("jq", (JqExpression) v);
diff --git a/docs/components/modules/languages/examples/json/java.json b/docs/components/modules/languages/examples/json/java.json
new file mode 120000
index 00000000000..2eb7824d389
--- /dev/null
+++ b/docs/components/modules/languages/examples/json/java.json
@@ -0,0 +1 @@
+../../../../../../components/camel-joor/src/generated/resources/org/apache/camel/language/joor/java.json
\ No newline at end of file
diff --git a/docs/components/modules/languages/nav.adoc b/docs/components/modules/languages/nav.adoc
index ebd713e3bf7..fa140f5e631 100644
--- a/docs/components/modules/languages/nav.adoc
+++ b/docs/components/modules/languages/nav.adoc
@@ -11,6 +11,7 @@
** xref:groovy-language.adoc[Groovy]
** xref:header-language.adoc[Header]
** xref:hl7terser-language.adoc[HL7 Terser]
+** xref:java-language.adoc[Java]
** xref:js-language.adoc[JavaScript]
** xref:joor-language.adoc[jOOR]
** xref:jq-language.adoc[JQ]
diff --git a/docs/components/modules/languages/pages/java-language.adoc b/docs/components/modules/languages/pages/java-language.adoc
new file mode 120000
index 00000000000..b9ee2d99706
--- /dev/null
+++ b/docs/components/modules/languages/pages/java-language.adoc
@@ -0,0 +1 @@
+../../../../../components/camel-joor/src/main/docs/java-language.adoc
\ No newline at end of file
diff --git a/docs/user-manual/modules/ROOT/pages/route-template.adoc b/docs/user-manual/modules/ROOT/pages/route-template.adoc
index 2f24d69dbda..cc69b41861a 100644
--- a/docs/user-manual/modules/ROOT/pages/route-template.adoc
+++ b/docs/user-manual/modules/ROOT/pages/route-template.adoc
@@ -613,7 +613,7 @@ In XML DSL you would do:
=== Binding beans to route templates using scripting languages
-You can use scripting languages like groovy, joor, mvel to create the bean.
+You can use scripting languages like groovy, java, mvel to create the bean.
This allows to define route templates with the scripting language built-in (such as groovy).
For example creating the AWS S3 client can be done as shown in Java (with inlined groovy code):
@@ -707,7 +707,7 @@ The languages supported are:
| Type | Description
| bean | Calling a method on a Java class to create the bean.
| groovy | Using groovy script to create the bean.
-| joor | Using joor (Java code which are runtime compiled) to create the bean.
+| java | Java code which are runtime compiled (using jOOR library) to create the bean.
| mvel | To use Mvel template script to create the bean.
| ognl | To use OGNL template script to create the bean.
| _name_ | To use a 3rd party language by the given _name_ to create the bean.
@@ -730,10 +730,10 @@ To get access to `CamelContext` you can do:
var cn = rtc.getCamelContext().getName()
----
-The most powerful languages to use are groovy and joor. The other languages are limited in flexibility
+The most powerful languages to use are groovy and java. The other languages are limited in flexibility
as they are not complete programming languages, but are more suited for templating needs.
-It is recommended to either use groovy or joor, if creating the local bean requires coding,
+It is recommended to either use groovy or java, if creating the local bean requires coding,
and the route templates are not defined using Java code.
The bean language can be used when creating the local bean from an existing Java method (static or not-static method),
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
index dee85002fee..be26230ee71 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
@@ -250,12 +250,16 @@ public interface KafkaComponentBuilderFactory {
* This options controls what happens when a consumer is processing an
* exchange and it fails. If the option is false then the consumer
* continues to the next message and processes it. If the option is true
- * then the consumer breaks out, and will seek back to offset of the
- * message that caused a failure, and then re-attempt to process this
- * message. However this can lead to endless processing of the same
- * message if its bound to fail every time, eg a poison message.
- * Therefore it is recommended to deal with that for example by using
- * Camel's error handler.
+ * then the consumer breaks out. Using the default NoopCommitManager
+ * will cause the consumer to not commit the offset so that the message
+ * is re-attempted. The consumer should use the KafkaManualCommit to
+ * determine the best way to handle the message. Using either the
+ * SynchCommitManager or the AsynchCommitManager the consumer will seek
+ * back to the offset of the message that caused a failure, and then
+ * re-attempt to process this message. However this can lead to endless
+ * processing of the same message if its bound to fail every time, eg a
+ * poison message. Therefore its recommended to deal with that for
+ * example by using Camel's error handler.
*
* The option is a: <code>boolean</code> type.
*
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index e23d9ed31cb..8cbb435ae82 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -2799,10 +2799,10 @@ public class StaticEndpointBuilders {
* Allows you to specify the name of a Language to use for evaluating the
* message body. If there is any result from the evaluation, then the result
* is put in the message body.
- * There are 22 enums and the value can be one of: bean, constant, csimple,
- * datasonnet, exchangeProperty, file, groovy, header, hl7terser, joor, jq,
- * jsonpath, mvel, ognl, python, ref, simple, spel, tokenize, xpath, xquery,
- * xtokenize
+ * There are 23 enums and the value can be one of: bean, constant, csimple,
+ * datasonnet, exchangeProperty, file, groovy, header, hl7terser, java,
+ * joor, jq, jsonpath, mvel, ognl, python, ref, simple, spel, tokenize,
+ * xpath, xquery, xtokenize
*
* @param path command:language
* @return the dsl builder
@@ -2829,10 +2829,10 @@ public class StaticEndpointBuilders {
* Allows you to specify the name of a Language to use for evaluating the
* message body. If there is any result from the evaluation, then the result
* is put in the message body.
- * There are 22 enums and the value can be one of: bean, constant, csimple,
- * datasonnet, exchangeProperty, file, groovy, header, hl7terser, joor, jq,
- * jsonpath, mvel, ognl, python, ref, simple, spel, tokenize, xpath, xquery,
- * xtokenize
+ * There are 23 enums and the value can be one of: bean, constant, csimple,
+ * datasonnet, exchangeProperty, file, groovy, header, hl7terser, java,
+ * joor, jq, jsonpath, mvel, ognl, python, ref, simple, spel, tokenize,
+ * xpath, xquery, xtokenize
*
* @param componentName to use a custom component name for the endpoint
* instead of the default name
@@ -9368,10 +9368,10 @@ public class StaticEndpointBuilders {
*
* Path parameter: languageName (required)
* Sets the name of the language to use
- * There are 22 enums and the value can be one of: bean, constant, csimple,
- * datasonnet, exchangeProperty, file, groovy, header, hl7terser, joor, jq,
- * jsonpath, mvel, ognl, ref, simple, spel, sql, tokenize, xpath, xquery,
- * xtokenize
+ * There are 23 enums and the value can be one of: bean, constant, csimple,
+ * datasonnet, exchangeProperty, file, groovy, header, hl7terser, java,
+ * joor, jq, jsonpath, mvel, ognl, ref, simple, spel, sql, tokenize, xpath,
+ * xquery, xtokenize
*
* Path parameter: resourceUri
* Path to the resource, or a reference to lookup a bean in the Registry to
@@ -9398,10 +9398,10 @@ public class StaticEndpointBuilders {
*
* Path parameter: languageName (required)
* Sets the name of the language to use
- * There are 22 enums and the value can be one of: bean, constant, csimple,
- * datasonnet, exchangeProperty, file, groovy, header, hl7terser, joor, jq,
- * jsonpath, mvel, ognl, ref, simple, spel, sql, tokenize, xpath, xquery,
- * xtokenize
+ * There are 23 enums and the value can be one of: bean, constant, csimple,
+ * datasonnet, exchangeProperty, file, groovy, header, hl7terser, java,
+ * joor, jq, jsonpath, mvel, ognl, ref, simple, spel, sql, tokenize, xpath,
+ * xquery, xtokenize
*
* Path parameter: resourceUri
* Path to the resource, or a reference to lookup a bean in the Registry to
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java
index 940084d1914..95cf41bd163 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ControlBusEndpointBuilderFactory.java
@@ -261,10 +261,10 @@ public interface ControlBusEndpointBuilderFactory {
* Allows you to specify the name of a Language to use for evaluating
* the message body. If there is any result from the evaluation, then
* the result is put in the message body.
- * There are 22 enums and the value can be one of: bean, constant,
+ * There are 23 enums and the value can be one of: bean, constant,
* csimple, datasonnet, exchangeProperty, file, groovy, header,
- * hl7terser, joor, jq, jsonpath, mvel, ognl, python, ref, simple, spel,
- * tokenize, xpath, xquery, xtokenize
+ * hl7terser, java, joor, jq, jsonpath, mvel, ognl, python, ref, simple,
+ * spel, tokenize, xpath, xquery, xtokenize
*
* @param path command:language
* @return the dsl builder
@@ -290,10 +290,10 @@ public interface ControlBusEndpointBuilderFactory {
* Allows you to specify the name of a Language to use for evaluating
* the message body. If there is any result from the evaluation, then
* the result is put in the message body.
- * There are 22 enums and the value can be one of: bean, constant,
+ * There are 23 enums and the value can be one of: bean, constant,
* csimple, datasonnet, exchangeProperty, file, groovy, header,
- * hl7terser, joor, jq, jsonpath, mvel, ognl, python, ref, simple, spel,
- * tokenize, xpath, xquery, xtokenize
+ * hl7terser, java, joor, jq, jsonpath, mvel, ognl, python, ref, simple,
+ * spel, tokenize, xpath, xquery, xtokenize
*
* @param componentName to use a custom component name for the endpoint
* instead of the default name
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
index 5dbf575ab8d..d2df515f2c6 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
@@ -372,12 +372,16 @@ public interface KafkaEndpointBuilderFactory {
* This options controls what happens when a consumer is processing an
* exchange and it fails. If the option is false then the consumer
* continues to the next message and processes it. If the option is true
- * then the consumer breaks out, and will seek back to offset of the
- * message that caused a failure, and then re-attempt to process this
- * message. However this can lead to endless processing of the same
- * message if its bound to fail every time, eg a poison message.
- * Therefore it is recommended to deal with that for example by using
- * Camel's error handler.
+ * then the consumer breaks out. Using the default NoopCommitManager
+ * will cause the consumer to not commit the offset so that the message
+ * is re-attempted. The consumer should use the KafkaManualCommit to
+ * determine the best way to handle the message. Using either the
+ * SynchCommitManager or the AsynchCommitManager the consumer will seek
+ * back to the offset of the message that caused a failure, and then
+ * re-attempt to process this message. However this can lead to endless
+ * processing of the same message if its bound to fail every time, eg a
+ * poison message. Therefore its recommended to deal with that for
+ * example by using Camel's error handler.
*
* The option is a: <code>boolean</code> type.
*
@@ -396,12 +400,16 @@ public interface KafkaEndpointBuilderFactory {
* This options controls what happens when a consumer is processing an
* exchange and it fails. If the option is false then the consumer
* continues to the next message and processes it. If the option is true
- * then the consumer breaks out, and will seek back to offset of the
- * message that caused a failure, and then re-attempt to process this
- * message. However this can lead to endless processing of the same
- * message if its bound to fail every time, eg a poison message.
- * Therefore it is recommended to deal with that for example by using
- * Camel's error handler.
+ * then the consumer breaks out. Using the default NoopCommitManager
+ * will cause the consumer to not commit the offset so that the message
+ * is re-attempted. The consumer should use the KafkaManualCommit to
+ * determine the best way to handle the message. Using either the
+ * SynchCommitManager or the AsynchCommitManager the consumer will seek
+ * back to the offset of the message that caused a failure, and then
+ * re-attempt to process this message. However this can lead to endless
+ * processing of the same message if its bound to fail every time, eg a
+ * poison message. Therefore its recommended to deal with that for
+ * example by using Camel's error handler.
*
* The option will be converted to a <code>boolean</code>
* type.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LanguageEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LanguageEndpointBuilderFactory.java
index f435cc0e498..1e3ee135994 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LanguageEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/LanguageEndpointBuilderFactory.java
@@ -330,10 +330,10 @@ public interface LanguageEndpointBuilderFactory {
*
* Path parameter: languageName (required)
* Sets the name of the language to use
- * There are 22 enums and the value can be one of: bean, constant,
+ * There are 23 enums and the value can be one of: bean, constant,
* csimple, datasonnet, exchangeProperty, file, groovy, header,
- * hl7terser, joor, jq, jsonpath, mvel, ognl, ref, simple, spel, sql,
- * tokenize, xpath, xquery, xtokenize
+ * hl7terser, java, joor, jq, jsonpath, mvel, ognl, ref, simple, spel,
+ * sql, tokenize, xpath, xquery, xtokenize
*
* Path parameter: resourceUri
* Path to the resource, or a reference to lookup a bean in the Registry
@@ -359,10 +359,10 @@ public interface LanguageEndpointBuilderFactory {
*
* Path parameter: languageName (required)
* Sets the name of the language to use
- * There are 22 enums and the value can be one of: bean, constant,
+ * There are 23 enums and the value can be one of: bean, constant,
* csimple, datasonnet, exchangeProperty, file, groovy, header,
- * hl7terser, joor, jq, jsonpath, mvel, ognl, ref, simple, spel, sql,
- * tokenize, xpath, xquery, xtokenize
+ * hl7terser, java, joor, jq, jsonpath, mvel, ognl, ref, simple, spel,
+ * sql, tokenize, xpath, xquery, xtokenize
*
* Path parameter: resourceUri
* Path to the resource, or a reference to lookup a bean in the Registry
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ExpressionDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ExpressionDeserializers.java
index fa9b73cc985..af9b2a2cb34 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ExpressionDeserializers.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ExpressionDeserializers.java
@@ -62,6 +62,9 @@ public final class ExpressionDeserializers extends YamlDeserializerSupport {
case "hl7terser": {
return asType(node, org.apache.camel.model.language.Hl7TerserExpression.class);
}
+ case "java": {
+ return asType(node, org.apache.camel.model.language.JavaExpression.class);
+ }
case "joor": {
return asType(node, org.apache.camel.model.language.JoorExpression.class);
}
@@ -135,6 +138,7 @@ public final class ExpressionDeserializers extends YamlDeserializerSupport {
@YamlProperty(name = "groovy", type = "object:org.apache.camel.model.language.GroovyExpression", oneOf = "expression"),
@YamlProperty(name = "header", type = "object:org.apache.camel.model.language.HeaderExpression", oneOf = "expression"),
@YamlProperty(name = "hl7terser", type = "object:org.apache.camel.model.language.Hl7TerserExpression", oneOf = "expression"),
+ @YamlProperty(name = "java", type = "object:org.apache.camel.model.language.JavaExpression", oneOf = "expression"),
@YamlProperty(name = "joor", type = "object:org.apache.camel.model.language.JoorExpression", oneOf = "expression"),
@YamlProperty(name = "jq", type = "object:org.apache.camel.model.language.JqExpression", oneOf = "expression"),
@YamlProperty(name = "js", type = "object:org.apache.camel.model.language.JavaScriptExpression", oneOf = "expression"),
@@ -172,6 +176,7 @@ public final class ExpressionDeserializers extends YamlDeserializerSupport {
@YamlProperty(name = "groovy", type = "object:org.apache.camel.model.language.GroovyExpression", oneOf = "expression"),
@YamlProperty(name = "header", type = "object:org.apache.camel.model.language.HeaderExpression", oneOf = "expression"),
@YamlProperty(name = "hl7terser", type = "object:org.apache.camel.model.language.Hl7TerserExpression", oneOf = "expression"),
+ @YamlProperty(name = "java", type = "object:org.apache.camel.model.language.JavaExpression", oneOf = "expression"),
@YamlProperty(name = "joor", type = "object:org.apache.camel.model.language.JoorExpression", oneOf = "expression"),
@YamlProperty(name = "jq", type = "object:org.apache.camel.model.language.JqExpression", oneOf = "expression"),
@YamlProperty(name = "js", type = "object:org.apache.camel.model.language.JavaScriptExpression", oneOf = "expression"),
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index 43a1d5b79db..e6bc1336d0d 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -184,6 +184,7 @@ import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.model.language.GroovyExpression;
import org.apache.camel.model.language.HeaderExpression;
import org.apache.camel.model.language.Hl7TerserExpression;
+import org.apache.camel.model.language.JavaExpression;
import org.apache.camel.model.language.JavaScriptExpression;
import org.apache.camel.model.language.JoorExpression;
import org.apache.camel.model.language.JqExpression;
@@ -7135,6 +7136,89 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
}
}
+ @YamlType(
+ nodes = "java",
+ inline = true,
+ types = org.apache.camel.model.language.JavaExpression.class,
+ order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
+ displayName = "Java",
+ description = "Evaluates a Java (Java compiled once at runtime) expression.",
+ deprecated = false,
+ properties = {
+ @YamlProperty(name = "expression", type = "string", required = true, description = "The expression value in your chosen language syntax", displayName = "Expression"),
+ @YamlProperty(name = "id", type = "string", description = "Sets the id of this node", displayName = "Id"),
+ @YamlProperty(name = "pre-compile", type = "boolean", description = "Whether the expression should be pre compiled once during initialization phase. If this is turned off, then the expression is reloaded and compiled on each evaluation.", displayName = "Pre Compile"),
+ @YamlProperty(name = "result-type", type = "string", description = "Sets the class of the result type (type from output)", displayName = "Result Type"),
+ @YamlProperty(name = "single-quotes", type = "boolean", description = "Whether single quotes can be used as replacement for double quotes. This is convenient when you need to work with strings inside strings.", displayName = "Single Quotes"),
+ @YamlProperty(name = "trim", type = "boolean", description = "Whether to trim the value to remove leading and trailing whitespaces and line breaks", displayName = "Trim")
+ }
+ )
+ public static class JavaExpressionDeserializer extends YamlDeserializerBase<JavaExpression> {
+ public JavaExpressionDeserializer() {
+ super(JavaExpression.class);
+ }
+
+ @Override
+ protected JavaExpression newInstance() {
+ return new JavaExpression();
+ }
+
+ @Override
+ protected JavaExpression newInstance(String value) {
+ return new JavaExpression(value);
+ }
+
+ @Override
+ protected boolean setProperty(JavaExpression target, String propertyKey,
+ String propertyName, Node node) {
+ switch(propertyKey) {
+ case "expression": {
+ String val = asText(node);
+ target.setExpression(val);
+ break;
+ }
+ case "id": {
+ String val = asText(node);
+ target.setId(val);
+ break;
+ }
+ case "pre-compile": {
+ String val = asText(node);
+ target.setPreCompile(val);
+ break;
+ }
+ case "result-type": {
+ String val = asText(node);
+ target.setResultTypeName(val);
+ break;
+ }
+ case "single-quotes": {
+ String val = asText(node);
+ target.setSingleQuotes(val);
+ break;
+ }
+ case "trim": {
+ String val = asText(node);
+ target.setTrim(val);
+ break;
+ }
+ default: {
+ ExpressionDefinition ed = target.getExpressionType();
+ if (ed != null) {
+ throw new org.apache.camel.dsl.yaml.common.exception.DuplicateFieldException(node, propertyName, "as an expression");
+ }
+ ed = ExpressionDeserializers.constructExpressionType(propertyKey, node);
+ if (ed != null) {
+ target.setExpressionType(ed);
+ } else {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+ }
+
@YamlType(
nodes = "js",
inline = true,
@@ -7371,7 +7455,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
displayName = "jOOR",
description = "Evaluates a jOOR (Java compiled once at runtime) expression.",
- deprecated = false,
+ deprecated = true,
properties = {
@YamlProperty(name = "expression", type = "string", required = true, description = "The expression value in your chosen language syntax", displayName = "Expression"),
@YamlProperty(name = "id", type = "string", description = "Sets the id of this node", displayName = "Id"),
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
index 5877fdff829..78afc720e67 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
@@ -196,6 +196,8 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve
case "jackson-xml": return new ModelDeserializers.JacksonXMLDataFormatDeserializer();
case "jacksonXml": return new ModelDeserializers.JacksonXMLDataFormatDeserializer();
case "org.apache.camel.model.dataformat.JacksonXMLDataFormat": return new ModelDeserializers.JacksonXMLDataFormatDeserializer();
+ case "java": return new ModelDeserializers.JavaExpressionDeserializer();
+ case "org.apache.camel.model.language.JavaExpression": return new ModelDeserializers.JavaExpressionDeserializer();
case "js": return new ModelDeserializers.JavaScriptExpressionDeserializer();
case "org.apache.camel.model.language.JavaScriptExpression": return new ModelDeserializers.JavaScriptExpressionDeserializer();
case "jaxb": return new ModelDeserializers.JaxbDataFormatDeserializer();
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
index f9312855368..82cfe6f5ee7 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
@@ -855,6 +855,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -942,6 +944,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -987,6 +990,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -1075,6 +1080,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -1120,6 +1126,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -1232,6 +1240,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -1354,6 +1363,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -1436,6 +1447,14 @@
"$ref" : "#/items/definitions/org.apache.camel.model.language.Hl7TerserExpression"
}
}
+ }, {
+ "type" : "object",
+ "required" : [ "java" ],
+ "properties" : {
+ "java" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.language.JavaExpression"
+ }
+ }
}, {
"type" : "object",
"required" : [ "joor" ],
@@ -1574,6 +1593,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -1704,6 +1724,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -1787,6 +1809,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -1924,6 +1947,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -2027,6 +2052,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -2429,6 +2455,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -2522,6 +2550,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -3588,6 +3617,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -3696,6 +3727,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -3826,6 +3858,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -3975,6 +4009,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -4314,6 +4349,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -4418,6 +4455,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -4976,6 +5014,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -5064,6 +5104,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -5254,6 +5295,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -5326,6 +5369,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -5371,6 +5415,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -5443,6 +5489,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -5524,6 +5571,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -5601,6 +5650,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -5679,6 +5729,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -5756,6 +5808,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -5802,6 +5855,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -5879,6 +5934,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -5924,6 +5980,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -6069,6 +6127,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -6387,6 +6446,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -6490,6 +6551,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -6723,6 +6785,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -6805,6 +6869,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -7369,6 +7434,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -7446,6 +7513,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -7508,6 +7576,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -7586,6 +7656,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -7631,6 +7702,8 @@
"required" : [ "header" ]
}, {
"required" : [ "hl7terser" ]
+ }, {
+ "required" : [ "java" ]
}, {
"required" : [ "joor" ]
}, {
@@ -7709,6 +7782,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -12218,6 +12292,14 @@
"$ref" : "#/items/definitions/org.apache.camel.model.language.Hl7TerserExpression"
}
}
+ }, {
+ "type" : "object",
+ "required" : [ "java" ],
+ "properties" : {
+ "java" : {
+ "$ref" : "#/items/definitions/org.apache.camel.model.language.JavaExpression"
+ }
+ }
}, {
"type" : "object",
"required" : [ "joor" ],
@@ -12356,6 +12438,7 @@
"groovy" : { },
"header" : { },
"hl7terser" : { },
+ "java" : { },
"joor" : { },
"jq" : { },
"js" : { },
@@ -12478,6 +12561,49 @@
} ],
"required" : [ "expression" ]
},
+ "org.apache.camel.model.language.JavaExpression" : {
+ "title" : "Java",
+ "description" : "Evaluates a Java (Java compiled once at runtime) expression.",
+ "oneOf" : [ {
+ "type" : "string"
+ }, {
+ "type" : "object",
+ "additionalProperties" : false,
+ "properties" : {
+ "expression" : {
+ "type" : "string",
+ "title" : "Expression",
+ "description" : "The expression value in your chosen language syntax"
+ },
+ "id" : {
+ "type" : "string",
+ "title" : "Id",
+ "description" : "Sets the id of this node"
+ },
+ "preCompile" : {
+ "type" : "boolean",
+ "title" : "Pre Compile",
+ "description" : "Whether the expression should be pre compiled once during initialization phase. If this is turned off, then the expression is reloaded and compiled on each evaluation."
+ },
+ "resultType" : {
+ "type" : "string",
+ "title" : "Result Type",
+ "description" : "Sets the class of the result type (type from output)"
+ },
+ "singleQuotes" : {
+ "type" : "boolean",
+ "title" : "Single Quotes",
+ "description" : "Whether single quotes can be used as replacement for double quotes. This is convenient when you need to work with strings inside strings."
+ },
+ "trim" : {
+ "type" : "boolean",
+ "title" : "Trim",
+ "description" : "Whether to trim the value to remove leading and trailing whitespaces and line breaks"
+ }
+ }
+ } ],
+ "required" : [ "expression" ]
+ },
"org.apache.camel.model.language.JavaScriptExpression" : {
"title" : "JavaScript",
"description" : "Evaluates a JavaScript expression.",
@@ -12514,6 +12640,7 @@
"org.apache.camel.model.language.JoorExpression" : {
"title" : "jOOR",
"description" : "Evaluates a jOOR (Java compiled once at runtime) expression.",
+ "deprecated" : true,
"oneOf" : [ {
"type" : "string"
}, {