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

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

commit 5cce44245d28ec1c29738632ae82716d3e66ca2f
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Jan 15 16:17:08 2025 +0100

    CAMEL-21620: camel-core - Fix onWhen to not include outputs in model
---
 .../META-INF/org/apache/camel/model/aggregate.json |  2 +-
 .../org/apache/camel/model/circuitBreaker.json     |  2 +-
 .../META-INF/org/apache/camel/model/doCatch.json   |  2 +-
 .../META-INF/org/apache/camel/model/doFinally.json |  2 +-
 .../META-INF/org/apache/camel/model/doTry.json     |  2 +-
 .../META-INF/org/apache/camel/model/filter.json    |  2 +-
 .../org/apache/camel/model/idempotentConsumer.json |  2 +-
 .../META-INF/org/apache/camel/model/intercept.json |  2 +-
 .../org/apache/camel/model/interceptFrom.json      |  2 +-
 .../camel/model/interceptSendToEndpoint.json       |  2 +-
 .../META-INF/org/apache/camel/model/kamelet.json   |  2 +-
 .../org/apache/camel/model/loadBalance.json        |  2 +-
 .../META-INF/org/apache/camel/model/loop.json      |  2 +-
 .../META-INF/org/apache/camel/model/multicast.json |  2 +-
 .../org/apache/camel/model/onCompletion.json       |  2 +-
 .../org/apache/camel/model/onException.json        |  2 +-
 .../org/apache/camel/model/onFallback.json         |  2 +-
 .../META-INF/org/apache/camel/model/otherwise.json |  2 +-
 .../META-INF/org/apache/camel/model/pipeline.json  |  2 +-
 .../org/apache/camel/model/resequence.json         |  2 +-
 .../META-INF/org/apache/camel/model/route.json     |  2 +-
 .../META-INF/org/apache/camel/model/saga.json      |  2 +-
 .../META-INF/org/apache/camel/model/split.json     |  2 +-
 .../META-INF/org/apache/camel/model/step.json      |  2 +-
 .../META-INF/org/apache/camel/model/when.json      |  2 +-
 .../model/WhenSkipSendToEndpointDefinition.java    | 62 ----------------------
 .../org/apache/camel/reifier/ProcessorReifier.java |  3 --
 .../reifier/WhenSkipSendToEndpointReifier.java     | 59 --------------------
 28 files changed, 25 insertions(+), 149 deletions(-)

diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
index 5662e542afb..86810bd3af6 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
@@ -42,7 +42,7 @@
     "discardOnAggregationFailure": { "index": 27, "kind": "attribute", 
"displayName": "Discard On Aggregation Failure", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Discards the aggregated message when 
aggregation failed (an exception was thrown from AggregationStrategy . This 
means the partly aggregated message is dropped an [...]
     "forceCompletionOnStop": { "index": 28, "kind": "attribute", 
"displayName": "Force Completion On Stop", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Indicates to complete all current 
aggregated exchanges when the context is stopped" },
     "completeAllOnStop": { "index": 29, "kind": "attribute", "displayName": 
"Complete All On Stop", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Indicates to wait to complete all current and partial (pending) aggregated 
exchanges when the context is stopped. This also means that we will wait for 
all pending exchanges which ar [...]
-    "outputs": { "index": 30, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
+    "outputs": { "index": 30, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
   },
   "exchangeProperties": {
     "CamelAggregatedSize": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Aggregated Size", "label": "producer", "required": false, 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"description": "Number of exchanges that was grouped together." },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
index 11faa228498..8cd54e0ad4b 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
@@ -19,7 +19,7 @@
     "resilience4jConfiguration": { "index": 4, "kind": "element", 
"displayName": "Resilience4j Configuration", "group": "common", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.model.Resilience4jConfigurationDefinition", "deprecated": 
false, "autowired": false, "secret": false, "description": "Configures the 
circuit breaker to use Resilience4j with the given configuration." },
     "faultToleranceConfiguration": { "index": 5, "kind": "element", 
"displayName": "Fault Tolerance Configuration", "group": "common", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.model.FaultToleranceConfigurationDefinition", "deprecated": 
false, "autowired": false, "secret": false, "description": "Configures the 
circuit breaker to use MicroProfile Fault Tolerance with the given 
configuration." },
     "onFallback": { "index": 6, "kind": "element", "displayName": "On 
Fallback", "group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.OnFallbackDefinition", "deprecated": false, 
"autowired": false, "secret": false, "description": "The fallback route path to 
execute that does not go over the network. This should be a static or cached 
result that can immediately be returned upon failure. If the fallback requires 
network connection then use onFallbackV [...]
-    "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   },
   "exchangeProperties": {
     "CamelResponseSuccessfulExecution": { "index": 0, "kind": 
"exchangeProperty", "displayName": "Response Successful Execution", "label": 
"producer", "required": false, "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "description": "Whether the exchange was 
processed successfully by the circuit breaker" },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json
index 5ae5e9b988d..4bdf2a5ae24 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doCatch.json
@@ -17,7 +17,7 @@
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "exception": { "index": 3, "kind": "element", "displayName": "Exception", 
"group": "common", "required": false, "type": "array", "javaType": 
"java.util.List<java.lang.String>", "deprecated": false, "autowired": false, 
"secret": false, "description": "The exception(s) to catch." },
     "onWhen": { "index": 4, "kind": "element", "displayName": "On When", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.OnWhenDefinition", "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Sets an additional 
predicate that should be true before the onCatch is triggered. To be used for 
fine grained controlling whether a thrown exception should be intercepted by 
this exception type or not." },
-    "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   },
   "exchangeProperties": {
     "CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Exception Caught", "label": "producer", "required": false, 
"javaType": "java.lang.Exception", "deprecated": false, "autowired": false, 
"secret": false, "description": "Stores the caught exception due to a 
processing error of the current Exchange" },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json
index 0ba0807a8b2..ae5d55d3973 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doFinally.json
@@ -15,7 +15,7 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
-    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   },
   "exchangeProperties": {
     "CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Exception Caught", "label": "producer", "required": false, 
"javaType": "java.lang.Exception", "deprecated": false, "autowired": false, 
"secret": false, "description": "Stores the caught exception due to a 
processing error of the current Exchange" },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
index a568468e2f2..2bf738ec8e1 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
@@ -15,7 +15,7 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
-    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
     "doCatch": { "index": 4, "kind": "element", "displayName": "Do Catch", 
"group": "common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.CatchDefinition>", "oneOf": [ "doCatch" 
], "deprecated": false, "autowired": false, "secret": false, "description": 
"Catches exceptions as part of a try, catch, finally block" },
     "doFinally": { "index": 5, "kind": "element", "displayName": "Do Finally", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.FinallyDefinition", "deprecated": false, "autowired": 
false, "secret": false, "description": "Path traversed when a try, catch, 
finally block exits" }
   }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
index 2d6f1116565..c7a55e065ba 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
@@ -17,6 +17,6 @@
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "expression": { "index": 3, "kind": "expression", "displayName": 
"Expression", "group": "common", "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", "variable", 
"wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
     "statusPropertyName": { "index": 4, "kind": "attribute", "displayName": 
"Status Property Name", "group": "advanced", "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": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+    "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
index 90683ca1936..d673b333e64 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
@@ -21,7 +21,7 @@
     "completionEager": { "index": 6, "kind": "attribute", "displayName": 
"Completion Eager", "group": "advanced", "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  [...]
     "skipDuplicate": { "index": 7, "kind": "attribute", "displayName": "Skip 
Duplicate", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": "Sets 
whether to skip duplicates or not. The default behavior is to skip duplicates. 
A duplicate message would have the Exchange property 
org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Bool [...]
     "removeOnFailure": { "index": 8, "kind": "attribute", "displayName": 
"Remove On Failure", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": "Sets 
whether to remove or keep the key on failure. The default behavior is to remove 
the key on failure." },
-    "outputs": { "index": 9, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+    "outputs": { "index": 9, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
   },
   "exchangeProperties": {
     "CamelDuplicateMessage": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Duplicate Message", "label": "producer", "required": false, 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "description": "Whether this exchange is a duplicate detected by the 
Idempotent Consumer EIP" }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json
index 90f665da8c9..b4a1e4bc79d 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/intercept.json
@@ -16,6 +16,6 @@
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "onWhen": { "index": 3, "kind": "element", "displayName": "On When", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.OnWhenDefinition", "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Applies this 
interceptor only if the given predicate is true" },
-    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json
index fae75a8ffdf..8cc1a1350e1 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptFrom.json
@@ -17,7 +17,7 @@
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "uri": { "index": 3, "kind": "attribute", "displayName": "Uri", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Intercept incoming messages from the uri or uri pattern. If this option is not 
configured, then all incoming messages is intercepted." },
     "onWhen": { "index": 4, "kind": "element", "displayName": "On When", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.OnWhenDefinition", "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Applies this 
interceptor only if the given predicate is true" },
-    "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   },
   "exchangeProperties": {
     "CamelInterceptedEndpoint": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Intercepted Endpoint", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "autowired": false, "secret": false, 
"description": "The endpoint URI that was intercepted" }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json
index 9723273c4d5..c080b008e76 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/interceptSendToEndpoint.json
@@ -19,7 +19,7 @@
     "skipSendToOriginalEndpoint": { "index": 4, "kind": "attribute", 
"displayName": "Skip Send To Original Endpoint", "group": "common", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "If set to true then the 
message is not sent to the original endpoint. By default (false) the message is 
both intercepted and then sent to the original endpoint." },
     "afterUri": { "index": 5, "kind": "attribute", "displayName": "After Uri", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "After sending to the endpoint then send the 
message to this uri which allows to process its result." },
     "onWhen": { "index": 6, "kind": "element", "displayName": "On When", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.OnWhenDefinition", "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Applies this 
interceptor only if the given predicate is true" },
-    "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   },
   "exchangeProperties": {
     "CamelInterceptedEndpoint": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Intercepted Endpoint", "label": "producer", "required": false, 
"javaType": "String", "deprecated": false, "autowired": false, "secret": false, 
"description": "The endpoint URI that was intercepted" }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json
index cacd4edab56..5bfc7cf0a2d 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/kamelet.json
@@ -16,6 +16,6 @@
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "name": { "index": 3, "kind": "attribute", "displayName": "Name", "group": 
"common", "required": true, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Name 
of the Kamelet (templateId\/routeId) to call. Options for the kamelet can be 
specified using uri syntax, eg mynamecount=4&type=gold." },
-    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
index ad78b35bc2c..856bd130e73 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
@@ -16,7 +16,7 @@
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "loadBalancerType": { "index": 3, "kind": "element", "displayName": "Load 
Balancer Type", "group": "common", "required": true, "type": "object", 
"javaType": "org.apache.camel.model.LoadBalancerDefinition", "oneOf": [ 
"customLoadBalancer", "failoverLoadBalancer", "randomLoadBalancer", 
"roundRobinLoadBalancer", "stickyLoadBalancer", "topicLoadBalancer", 
"weightedLoadBalancer" ], "deprecated": false, "autowired": false, "secret": 
false, "description": "The load balancer to be used" },
-    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
     "inheritErrorHandler": { "index": 5, "kind": "attribute", "displayName": 
"Inherit Error Handler", "group": "common", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Sets whether or 
not to inherit the configured error handler. The default value is true. You can 
use this to disable using the inherited error handler for a given DSL such as a 
load balancer where you wan [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
index 8e6f971c122..deaac378216 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
@@ -19,7 +19,7 @@
     "copy": { "index": 4, "kind": "attribute", "displayName": "Copy", "group": 
"advanced", "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,  [...]
     "doWhile": { "index": 5, "kind": "attribute", "displayName": "Do While", 
"group": "advanced", "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": 6, "kind": "attribute", "displayName": 
"Break On Shutdown", "group": "advanced", "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." },
-    "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+    "outputs": { "index": 7, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
   },
   "exchangeProperties": {
     "CamelLoopIndex": { "index": 0, "kind": "exchangeProperty", "displayName": 
"Loop Index", "label": "producer", "required": false, "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "description": "Index 
of the current iteration (0 based)." },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
index 0297527c2c5..47b586af48b 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
@@ -27,7 +27,7 @@
     "executorService": { "index": 12, "kind": "attribute", "displayName": 
"Executor Service", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Refers to a custom Thread Pool to be used for parallel processing. Notice if 
you set this option, then parallel processing is automatic implied, and you do 
not have to enable that option as well." },
     "onPrepare": { "index": 13, "kind": "attribute", "displayName": "On 
Prepare", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "org.apache.camel.Processor", "deprecated": false, 
"autowired": false, "secret": false, "description": "Uses the Processor when 
preparing the org.apache.camel.Exchange to be send. This can be used to 
deep-clone messages that should be send, or any custom logic needed before the 
exchange is send." },
     "shareUnitOfWork": { "index": 14, "kind": "attribute", "displayName": 
"Share Unit Of Work", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub 
messages. Multicast will by default not share unit of work between the parent 
exchange and each multicasted [...]
-    "outputs": { "index": 15, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
+    "outputs": { "index": 15, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
   },
   "exchangeProperties": {
     "CamelMulticastIndex": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Multicast Index", "label": "producer", "required": false, 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"description": "An index counter that increases for each Exchange being 
multicasted. The counter starts from 0." },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json
index 376b100c972..dd09ea35f93 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onCompletion.json
@@ -22,7 +22,7 @@
     "executorService": { "index": 7, "kind": "attribute", "displayName": 
"Executor Service", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom Thread Pool to be used for parallel processing. Notice if you set 
this option, then parallel processing is automatic implied, and you do not have 
to enable that option as well." },
     "useOriginalMessage": { "index": 8, "kind": "attribute", "displayName": 
"Use Original Message", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Will use the original input message body when an org.apache.camel.Exchange for 
this on completion. The original input message is defensively copied, and the 
copied message body is co [...]
     "onWhen": { "index": 9, "kind": "element", "displayName": "On When", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.OnWhenDefinition", "deprecated": false, "autowired": 
false, "secret": false, "asPredicate": true, "description": "Sets an additional 
predicate that should be true before the onCompletion is triggered. To be used 
for fine grained controlling whether a completion callback should be invoked or 
not" },
-    "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
+    "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
   },
   "exchangeProperties": {
     "CamelOnCompletion": { "index": 0, "kind": "exchangeProperty", 
"displayName": "On Completion", "label": "producer", "required": false, 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "description": "Flag to mark that this exchange is currently being 
executed as onCompletion" }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json
index 6c2ebb93a29..a741df892a5 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onException.json
@@ -26,7 +26,7 @@
     "onExceptionOccurredRef": { "index": 11, "kind": "attribute", 
"displayName": "On Exception Occurred Ref", "group": "advanced", "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. Importan [...]
     "useOriginalMessage": { "index": 12, "kind": "attribute", "displayName": 
"Use Original Message", "group": "advanced", "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  [...]
     "useOriginalBody": { "index": 13, "kind": "attribute", "displayName": "Use 
Original Body", "group": "advanced", "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 body (original body only) 
when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: 
this only applies when all rede [...]
-    "outputs": { "index": 14, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
+    "outputs": { "index": 14, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
   },
   "exchangeProperties": {
     "CamelExceptionCaught": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Exception Caught", "label": "producer", "required": false, 
"javaType": "java.lang.Exception", "deprecated": false, "autowired": false, 
"secret": false, "description": "Stores the caught exception due to a 
processing error of the current Exchange" },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
index 8eb389ebd57..fc9188cddfa 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
@@ -16,6 +16,6 @@
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "fallbackViaNetwork": { "index": 3, "kind": "attribute", "displayName": 
"Fallback Via Network", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the fallback goes over the network. If the fallback will go over the 
network it is another possible point of failure. It is important to execute the 
fallback command on a sep [...]
-    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json
index 0a5f33d1406..8aa3863dc37 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/otherwise.json
@@ -15,6 +15,6 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
-    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
index 47d4631e2b3..0726f7ec59e 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
@@ -15,6 +15,6 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
-    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json
index ec47e4c4963..14e794c4c53 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/resequence.json
@@ -17,6 +17,6 @@
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "expression": { "index": 3, "kind": "expression", "displayName": 
"Expression", "group": "common", "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", "variable", 
"wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
     "resequencerConfig": { "index": 4, "kind": "element", "displayName": 
"Resequencer Config", "group": "common", "required": true, "type": "object", 
"javaType": "org.apache.camel.model.config.ResequencerConfig", "oneOf": [ 
"batchConfig", "streamConfig" ], "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": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 5, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json
index a851adfca18..3c59b5497b3 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/route.json
@@ -33,6 +33,6 @@
     "inputType": { "index": 18, "kind": "element", "displayName": "Input 
Type", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "org.apache.camel.model.InputTypeDefinition", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Declare the expected data type of the input message. If the actual message 
type is different at runtime, camel look for a required 
org.apache.camel.spi.Transformer and apply if exists. The type name co [...]
     "outputType": { "index": 19, "kind": "element", "displayName": "Output 
Type", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "org.apache.camel.model.OutputTypeDefinition", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Declare the expected data type of the output message. If the actual message 
type is different at runtime, camel look for a required 
org.apache.camel.spi.Transformer and apply if exists. The type nam [...]
     "input": { "index": 20, "kind": "element", "displayName": "Input", 
"group": "common", "required": true, "type": "object", "javaType": 
"org.apache.camel.model.FromDefinition", "oneOf": [ "from" ], "deprecated": 
false, "autowired": false, "secret": false, "description": "Input to the 
route." },
-    "outputs": { "index": 21, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", "oneOf": [ 
"aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", 
"convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", 
"doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", 
"intercept", "interceptFrom", "interceptSendToEndpoint [...]
+    "outputs": { "index": 21, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<?>>", "oneOf": [ 
"aggregate", "bean", "choice", "circuitBreaker", "claimCheck", "convertBodyTo", 
"convertHeaderTo", "convertVariableTo", "delay", "doCatch", "doFinally", 
"doTry", "dynamicRouter", "enrich", "filter", "idempotentConsumer", 
"intercept", "interceptFrom", "interceptSendToEndpoint [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
index 99b1df58da2..b62c1417527 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
@@ -22,6 +22,6 @@
     "compensation": { "index": 7, "kind": "element", "displayName": 
"Compensation", "group": "common", "required": false, "type": "object", 
"javaType": "org.apache.camel.model.SagaActionUriDefinition", "deprecated": 
false, "autowired": false, "secret": false, "description": "The compensation 
endpoint URI that must be called to compensate all changes done in the route. 
The route corresponding to the compensation URI must perform compensation and 
complete without error. If errors occur dur [...]
     "completion": { "index": 8, "kind": "element", "displayName": 
"Completion", "group": "common", "required": false, "type": "object", 
"javaType": "org.apache.camel.model.SagaActionUriDefinition", "deprecated": 
false, "autowired": false, "secret": false, "description": "The completion 
endpoint URI that will be called when the Saga is completed successfully. The 
route corresponding to the completion URI must perform completion tasks and 
terminate without error. If errors occur during com [...]
     "option": { "index": 9, "kind": "element", "displayName": "Option", 
"group": "advanced", "label": "advanced", "required": false, "type": "array", 
"javaType": 
"java.util.List<org.apache.camel.model.PropertyExpressionDefinition>", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to save properties of the current exchange in order to re-use them in a 
compensation\/completion callback route. Options are usually helpful e.g. to 
store and retrieve identifier [...]
-    "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
+    "outputs": { "index": 10, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "ma [...]
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
index ddf8ee3100e..45a7bdb188b 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
@@ -29,7 +29,7 @@
     "executorService": { "index": 14, "kind": "attribute", "displayName": 
"Executor Service", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.concurrent.ExecutorService", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a custom Thread Pool to be used for parallel processing. Notice if you set 
this option, then parallel processing is automatically implied, and you do not 
have to enable that option as well." },
     "onPrepare": { "index": 15, "kind": "attribute", "displayName": "On 
Prepare", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "org.apache.camel.Processor", "deprecated": false, 
"autowired": false, "secret": false, "description": "Uses the Processor when 
preparing the org.apache.camel.Exchange to be sent. This can be used to 
deep-clone messages that should be sent, or any custom logic needed before the 
exchange is sent." },
     "shareUnitOfWork": { "index": 16, "kind": "attribute", "displayName": 
"Share Unit Of Work", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub 
messages. Splitter will by default not share unit of work between the parent 
exchange and each split exchan [...]
-    "outputs": { "index": 17, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercep [...]
+    "outputs": { "index": 17, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercep [...]
   },
   "exchangeProperties": {
     "CamelSplitIndex": { "index": 0, "kind": "exchangeProperty", 
"displayName": "Split Index", "label": "producer", "required": false, 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"description": "A split counter that increases for each Exchange being split. 
The counter starts from 0." },
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json
index c50e69e299e..62d701f4df8 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/step.json
@@ -15,7 +15,7 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
-    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
   },
   "exchangeProperties": {
     "CamelStepId": { "index": 0, "kind": "exchangeProperty", "displayName": 
"Step Id", "label": "producer", "required": false, "javaType": "String", 
"deprecated": false, "autowired": false, "secret": false, "description": "The 
id of the Step EIP" }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json
index 3bac7c0d2bd..2013254fcb5 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/when.json
@@ -16,6 +16,6 @@
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "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." },
     "expression": { "index": 3, "kind": "expression", "displayName": 
"Expression", "group": "common", "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", "variable", 
"wasm", "xpath", "xquery", "xtokenize" ], "depre [...]
-    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
+    "outputs": { "index": 4, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.ProcessorDefinition<java.lang.Object>>", 
"oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", "claimCheck", 
"convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", "doCatch", 
"doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "intercept [...]
   }
 }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/WhenSkipSendToEndpointDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/WhenSkipSendToEndpointDefinition.java
deleted file mode 100644
index a4c3362b054..00000000000
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/WhenSkipSendToEndpointDefinition.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.model;
-
-import jakarta.xml.bind.annotation.XmlRootElement;
-import jakarta.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.camel.spi.AsPredicate;
-import org.apache.camel.spi.Metadata;
-
-/**
- * Predicate to determine if the message should be sent or not to the 
endpoint, when using interceptSentToEndpoint.
- */
-@Metadata(label = "configuration")
-@AsPredicate
-@XmlRootElement(name = "whenSkipSendToEndpoint")
-@XmlTransient // do not output in XSD as this is only used in a special "hack" 
for intercept
-@Deprecated
-public class WhenSkipSendToEndpointDefinition extends OnWhenDefinition {
-
-    public WhenSkipSendToEndpointDefinition() {
-    }
-
-    protected 
WhenSkipSendToEndpointDefinition(WhenSkipSendToEndpointDefinition source) {
-        super(source);
-    }
-
-    @Override
-    public WhenSkipSendToEndpointDefinition copyDefinition() {
-        return new WhenSkipSendToEndpointDefinition(this);
-    }
-
-    @Override
-    public String getShortName() {
-        return "whenSkipSendToEndpoint";
-    }
-
-    /**
-     * Expression used as the predicate to evaluate whether the message should 
be sent or not to the endpoint
-     */
-    @Override
-    public void setExpression(ExpressionDefinition expression) {
-        // override to include javadoc what the expression is used for
-        super.setExpression(expression);
-    }
-
-}
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 1eb9bfd8a30..4b8a7e4b0a6 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -112,7 +112,6 @@ import org.apache.camel.model.TryDefinition;
 import org.apache.camel.model.UnmarshalDefinition;
 import org.apache.camel.model.ValidateDefinition;
 import org.apache.camel.model.WhenDefinition;
-import org.apache.camel.model.WhenSkipSendToEndpointDefinition;
 import org.apache.camel.model.WireTapDefinition;
 import org.apache.camel.model.cloud.ServiceCallDefinition;
 import org.apache.camel.processor.InterceptEndpointProcessor;
@@ -360,8 +359,6 @@ public abstract class ProcessorReifier<T extends 
ProcessorDefinition<?>> extends
             return new UnmarshalReifier(route, definition);
         } else if (definition instanceof ValidateDefinition) {
             return new ValidateReifier(route, definition);
-        } else if (definition instanceof WhenSkipSendToEndpointDefinition) {
-            return new WhenSkipSendToEndpointReifier(route, definition);
         } else if (definition instanceof WhenDefinition) {
             return new WhenReifier(route, definition);
         } else if (definition instanceof OnWhenDefinition) {
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/WhenSkipSendToEndpointReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/WhenSkipSendToEndpointReifier.java
deleted file mode 100644
index 4821a3d3988..00000000000
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/WhenSkipSendToEndpointReifier.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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.reifier;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePropertyKey;
-import org.apache.camel.Predicate;
-import org.apache.camel.Route;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.WhenSkipSendToEndpointDefinition;
-import org.apache.camel.processor.FilterProcessor;
-
-@Deprecated
-public class WhenSkipSendToEndpointReifier extends 
ExpressionReifier<WhenSkipSendToEndpointDefinition> {
-
-    public WhenSkipSendToEndpointReifier(Route route, ProcessorDefinition<?> 
definition) {
-        super(route, (WhenSkipSendToEndpointDefinition) definition);
-    }
-
-    @Override
-    public FilterProcessor createProcessor() throws Exception {
-        return createFilterProcessor();
-    }
-
-    @Override
-    protected Predicate createPredicate() {
-        // we need to keep track whether the when matches or not, so delegate
-        // the predicate and add the matches result as a property on the
-        // exchange
-        final Predicate delegate = super.createPredicate();
-        return new Predicate() {
-            @Override
-            public boolean matches(Exchange exchange) {
-                boolean matches = delegate.matches(exchange);
-                
exchange.setProperty(ExchangePropertyKey.INTERCEPT_SEND_TO_ENDPOINT_WHEN_MATCHED,
 matches);
-                return matches;
-            }
-
-            @Override
-            public String toString() {
-                return delegate.toString();
-            }
-        };
-    }
-}

Reply via email to