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

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

commit 58584f7f6d616a251f7462c20cd567c600146bd7
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Oct 30 10:03:48 2024 +0100

    CAMEL-21398: Smooks is only a producer.
---
 .../apache/camel/catalog/components/smooks.json    |  32 +-
 .../apache/camel/catalog/dataformats/smooks.json   |   4 +-
 .../org/apache/camel/catalog/models/smooks.json    |   4 +-
 components/camel-smooks/pom.xml                    |   1 +
 .../smooks/SmooksComponentConfigurer.java          |   6 -
 .../smooks/SmooksDataFormatConfigurer.java         |  27 -
 .../component/smooks/SmooksEndpointConfigurer.java | 114 ----
 .../component/smooks/SmooksEndpointUriFactory.java |  25 +-
 .../org/apache/camel/component/smooks/smooks.json  |  32 +-
 .../org/apache/camel/dataformat/smooks/smooks.json |   4 +-
 .../src/main/docs/smooks-component.adoc            |   4 +-
 .../src/main/docs/smooks-dataformat.adoc           |   2 +-
 .../camel/component/smooks/SmooksEndpoint.java     |  21 +-
 .../camel/component/smooks/SmooksProcessor.java    |   8 +-
 .../camel/component/smooks/SmooksProducer.java     |  36 +
 .../org/apache/camel/model/dataformat/smooks.json  |   4 +-
 .../camel/model/dataformat/SmooksDataFormat.java   |   4 +-
 .../dsl/SmooksComponentBuilderFactory.java         |  29 -
 .../endpoint/dsl/SmooksEndpointBuilderFactory.java | 748 +--------------------
 .../dsl/yaml/deserializers/ModelDeserializers.java |   2 +-
 .../generated/resources/schema/camelYamlDsl.json   |   2 +-
 21 files changed, 102 insertions(+), 1007 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smooks.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smooks.json
index b105f895b02..29535b928ee 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smooks.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/smooks.json
@@ -18,38 +18,18 @@
     "async": false,
     "api": false,
     "consumerOnly": false,
-    "producerOnly": false,
+    "producerOnly": true,
     "lenientProperties": false,
     "browsable": false,
     "remote": true
   },
   "componentProperties": {
-    "bridgeErrorHandler": { "index": 0, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
-    "lazyStartProducer": { "index": 1, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 2, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "lazyStartProducer": { "index": 0, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
+    "autowiredEnabled": { "index": 1, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
   },
   "properties": {
-    "smooksConfig": { "index": 0, "kind": "path", "displayName": "Smooks 
Config", "group": "common", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "supportFileReference": true, 
"description": "Path to the Smooks configuration file" },
-    "reportPath": { "index": 1, "kind": "parameter", "displayName": "Report 
Path", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "File path to place the generated HTML 
execution report. The report is a useful tool in the developers arsenal for 
diagnosing issues or comprehending a transformation. Do not set in production 
since this is a major performance drain" },
-    "sendEmptyMessageWhenIdle": { "index": 2, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
-    "bridgeErrorHandler": { "index": 3, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
-    "exceptionHandler": { "index": 4, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By def [...]
-    "exchangePattern": { "index": 5, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "pollStrategy": { "index": 6, "kind": "parameter", "displayName": "Poll 
Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the pol 
[...]
-    "lazyStartProducer": { "index": 7, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "backoffErrorThreshold": { "index": 8, "kind": "parameter", "displayName": 
"Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
error polls (failed due some error) that should happen before the 
backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 9, "kind": "parameter", "displayName": 
"Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 10, "kind": "parameter", "displayName": 
"Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "To let the scheduled 
polling consumer backoff if there has been a number of subsequent idles\/errors 
in a row. The multiplier is then the number of polls that will be skipped 
before the next actual attempt is h [...]
-    "delay": { "index": 11, "kind": "parameter", "displayName": "Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 500, "description": "Milliseconds before the 
next poll." },
-    "greedy": { "index": 12, "kind": "parameter", "displayName": "Greedy", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If greedy is enabled, 
then the ScheduledPollConsumer will run immediately again, if the previous run 
polled 1 or more messages." },
-    "initialDelay": { "index": 13, "kind": "parameter", "displayName": 
"Initial Delay", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 1000, "description": 
"Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 14, "kind": "parameter", "displayName": "Repeat 
Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "description": "Specifies a maximum limit 
of number of fires. So if you set it to 1, the scheduler will only fire once. 
If you set it to 5, it will only fire five times. A value of zero or negative 
means fire forever." },
-    "runLoggingLevel": { "index": 15, "kind": "parameter", "displayName": "Run 
Logging Level", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", 
"ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "TRACE", "description": "The consumer logs a start\/complete 
log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 16, "kind": "parameter", 
"displayName": "Scheduled Executor Service", "group": "scheduler", "label": 
"consumer,scheduler", "required": false, "type": "object", "javaType": 
"java.util.concurrent.ScheduledExecutorService", "deprecated": false, 
"autowired": false, "secret": false, "description": "Allows for configuring a 
custom\/shared thread pool to use for the consumer. By default each consumer 
has its own single threaded thread pool." },
-    "scheduler": { "index": 17, "kind": "parameter", "displayName": 
"Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "none", "description": "To 
use a cron scheduler from either camel-spring or camel-quartz component. Use 
value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 18, "kind": "parameter", "displayName": 
"Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", 
"multiValue": true, "deprecated": false, "autowired": false, "secret": false, 
"description": "To configure additional properties when using a custom 
scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 19, "kind": "parameter", "displayName": 
"Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 20, "kind": "parameter", "displayName": "Time 
Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ 
"NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", 
"DAYS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and 
delay options." },
-    "useFixedDelay": { "index": 21, "kind": "parameter", "displayName": "Use 
Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in 
JDK for details." }
+    "smooksConfig": { "index": 0, "kind": "path", "displayName": "Smooks 
Config", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "supportFileReference": true, 
"description": "Path to the Smooks configuration file" },
+    "reportPath": { "index": 1, "kind": "parameter", "displayName": "Report 
Path", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "File path to place the generated HTML 
execution report. The report is a useful tool in the developers arsenal for 
diagnosing issues or comprehending a transformation. Do not set in production 
since this is a major performance drain" },
+    "lazyStartProducer": { "index": 2, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/smooks.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/smooks.json
index cb0c68a58c0..6aa58317f06 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/smooks.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/smooks.json
@@ -3,10 +3,10 @@
     "kind": "dataformat",
     "name": "smooks",
     "title": "Smooks",
-    "description": "Transform and bind XML as well as non-XML data using 
Smooks.",
+    "description": "Transform and bind XML as well as non-XML data, including 
EDI, CSV, JSON, and YAML using Smooks.",
     "deprecated": false,
     "firstVersion": "4.9.0",
-    "label": "dataformat,transformation,smooks",
+    "label": "dataformat,transformation",
     "javaType": "org.apache.camel.dataformat.smooks.SmooksDataFormat",
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/smooks.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/smooks.json
index 841de6ce94d..ac742e3e8f8 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/smooks.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/smooks.json
@@ -3,10 +3,10 @@
     "kind": "model",
     "name": "smooks",
     "title": "Smooks",
-    "description": "Transform and bind XML as well as non-XML data using 
Smooks.",
+    "description": "Transform and bind XML as well as non-XML data, including 
EDI, CSV, JSON, and YAML using Smooks.",
     "deprecated": false,
     "firstVersion": "4.9.0",
-    "label": "dataformat,transformation,smooks",
+    "label": "dataformat,transformation",
     "javaType": "org.apache.camel.model.dataformat.SmooksDataFormat",
     "abstract": false,
     "input": false,
diff --git a/components/camel-smooks/pom.xml b/components/camel-smooks/pom.xml
index d4d5d7709ca..e1706f16aa2 100644
--- a/components/camel-smooks/pom.xml
+++ b/components/camel-smooks/pom.xml
@@ -55,6 +55,7 @@
             <groupId>org.smooks</groupId>
             <artifactId>smooks-core</artifactId>
         </dependency>
+
         <dependency>
             <groupId>org.smooks.cartridges.edi</groupId>
             <artifactId>smooks-edi-cartridge</artifactId>
diff --git 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksComponentConfigurer.java
 
b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksComponentConfigurer.java
index dcc652ca67c..5ab86eb2b31 100644
--- 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksComponentConfigurer.java
+++ 
b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksComponentConfigurer.java
@@ -25,8 +25,6 @@ public class SmooksComponentConfigurer extends 
PropertyConfigurerSupport impleme
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": 
target.setAutowiredEnabled(property(camelContext, boolean.class, value)); 
return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         default: return false;
@@ -38,8 +36,6 @@ public class SmooksComponentConfigurer extends 
PropertyConfigurerSupport impleme
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": return boolean.class;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         default: return null;
@@ -52,8 +48,6 @@ public class SmooksComponentConfigurer extends 
PropertyConfigurerSupport impleme
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "autowiredenabled":
         case "autowiredEnabled": return target.isAutowiredEnabled();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         default: return null;
diff --git 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksDataFormatConfigurer.java
 
b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksDataFormatConfigurer.java
deleted file mode 100644
index 439af9d6e16..00000000000
--- 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksDataFormatConfigurer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.smooks;
-
-import javax.annotation.processing.Generated;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.dataformat.smooks.SmooksDataFormat;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.PackageDataFormatMojo")
-@SuppressWarnings("unchecked")
-public class SmooksDataFormatConfigurer extends PropertyConfigurerSupport 
implements GeneratedPropertyConfigurer {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object target, String 
name, Object value, boolean ignoreCase) {
-        SmooksDataFormat dataformat = (SmooksDataFormat) target;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        default: return false;
-        }
-    }
-
-}
-
diff --git 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointConfigurer.java
 
b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointConfigurer.java
index 65cd72d838f..74e8088e31d 100644
--- 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointConfigurer.java
+++ 
b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointConfigurer.java
@@ -23,45 +23,10 @@ public class SmooksEndpointConfigurer extends 
PropertyConfigurerSupport implemen
     public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
         SmooksEndpoint target = (SmooksEndpoint) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": 
target.setBackoffErrorThreshold(property(camelContext, int.class, value)); 
return true;
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": 
target.setBackoffIdleThreshold(property(camelContext, int.class, value)); 
return true;
-        case "backoffmultiplier":
-        case "backoffMultiplier": 
target.setBackoffMultiplier(property(camelContext, int.class, value)); return 
true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
-        case "delay": target.setDelay(property(camelContext, long.class, 
value)); return true;
-        case "exceptionhandler":
-        case "exceptionHandler": 
target.setExceptionHandler(property(camelContext, 
org.apache.camel.spi.ExceptionHandler.class, value)); return true;
-        case "exchangepattern":
-        case "exchangePattern": 
target.setExchangePattern(property(camelContext, 
org.apache.camel.ExchangePattern.class, value)); return true;
-        case "greedy": target.setGreedy(property(camelContext, boolean.class, 
value)); return true;
-        case "initialdelay":
-        case "initialDelay": target.setInitialDelay(property(camelContext, 
long.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
-        case "pollstrategy":
-        case "pollStrategy": target.setPollStrategy(property(camelContext, 
org.apache.camel.spi.PollingConsumerPollStrategy.class, value)); return true;
-        case "repeatcount":
-        case "repeatCount": target.setRepeatCount(property(camelContext, 
long.class, value)); return true;
         case "reportpath":
         case "reportPath": target.setReportPath(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "runlogginglevel":
-        case "runLoggingLevel": 
target.setRunLoggingLevel(property(camelContext, 
org.apache.camel.LoggingLevel.class, value)); return true;
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": 
target.setScheduledExecutorService(property(camelContext, 
java.util.concurrent.ScheduledExecutorService.class, value)); return true;
-        case "scheduler": target.setScheduler(property(camelContext, 
java.lang.Object.class, value)); return true;
-        case "schedulerproperties":
-        case "schedulerProperties": 
target.setSchedulerProperties(property(camelContext, java.util.Map.class, 
value)); return true;
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": 
target.setSendEmptyMessageWhenIdle(property(camelContext, boolean.class, 
value)); return true;
-        case "startscheduler":
-        case "startScheduler": target.setStartScheduler(property(camelContext, 
boolean.class, value)); return true;
-        case "timeunit":
-        case "timeUnit": target.setTimeUnit(property(camelContext, 
java.util.concurrent.TimeUnit.class, value)); return true;
-        case "usefixeddelay":
-        case "useFixedDelay": target.setUseFixedDelay(property(camelContext, 
boolean.class, value)); return true;
         default: return false;
         }
     }
@@ -69,45 +34,10 @@ public class SmooksEndpointConfigurer extends 
PropertyConfigurerSupport implemen
     @Override
     public Class<?> getOptionType(String name, boolean ignoreCase) {
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": return int.class;
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": return int.class;
-        case "backoffmultiplier":
-        case "backoffMultiplier": return int.class;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
-        case "delay": return long.class;
-        case "exceptionhandler":
-        case "exceptionHandler": return 
org.apache.camel.spi.ExceptionHandler.class;
-        case "exchangepattern":
-        case "exchangePattern": return org.apache.camel.ExchangePattern.class;
-        case "greedy": return boolean.class;
-        case "initialdelay":
-        case "initialDelay": return long.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
-        case "pollstrategy":
-        case "pollStrategy": return 
org.apache.camel.spi.PollingConsumerPollStrategy.class;
-        case "repeatcount":
-        case "repeatCount": return long.class;
         case "reportpath":
         case "reportPath": return java.lang.String.class;
-        case "runlogginglevel":
-        case "runLoggingLevel": return org.apache.camel.LoggingLevel.class;
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": return 
java.util.concurrent.ScheduledExecutorService.class;
-        case "scheduler": return java.lang.Object.class;
-        case "schedulerproperties":
-        case "schedulerProperties": return java.util.Map.class;
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": return boolean.class;
-        case "startscheduler":
-        case "startScheduler": return boolean.class;
-        case "timeunit":
-        case "timeUnit": return java.util.concurrent.TimeUnit.class;
-        case "usefixeddelay":
-        case "useFixedDelay": return boolean.class;
         default: return null;
         }
     }
@@ -116,54 +46,10 @@ public class SmooksEndpointConfigurer extends 
PropertyConfigurerSupport implemen
     public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
         SmooksEndpoint target = (SmooksEndpoint) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
-        case "backofferrorthreshold":
-        case "backoffErrorThreshold": return target.getBackoffErrorThreshold();
-        case "backoffidlethreshold":
-        case "backoffIdleThreshold": return target.getBackoffIdleThreshold();
-        case "backoffmultiplier":
-        case "backoffMultiplier": return target.getBackoffMultiplier();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
-        case "delay": return target.getDelay();
-        case "exceptionhandler":
-        case "exceptionHandler": return target.getExceptionHandler();
-        case "exchangepattern":
-        case "exchangePattern": return target.getExchangePattern();
-        case "greedy": return target.isGreedy();
-        case "initialdelay":
-        case "initialDelay": return target.getInitialDelay();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
-        case "pollstrategy":
-        case "pollStrategy": return target.getPollStrategy();
-        case "repeatcount":
-        case "repeatCount": return target.getRepeatCount();
         case "reportpath":
         case "reportPath": return target.getReportPath();
-        case "runlogginglevel":
-        case "runLoggingLevel": return target.getRunLoggingLevel();
-        case "scheduledexecutorservice":
-        case "scheduledExecutorService": return 
target.getScheduledExecutorService();
-        case "scheduler": return target.getScheduler();
-        case "schedulerproperties":
-        case "schedulerProperties": return target.getSchedulerProperties();
-        case "sendemptymessagewhenidle":
-        case "sendEmptyMessageWhenIdle": return 
target.isSendEmptyMessageWhenIdle();
-        case "startscheduler":
-        case "startScheduler": return target.isStartScheduler();
-        case "timeunit":
-        case "timeUnit": return target.getTimeUnit();
-        case "usefixeddelay":
-        case "useFixedDelay": return target.isUseFixedDelay();
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "schedulerproperties":
-        case "schedulerProperties": return java.lang.Object.class;
         default: return null;
         }
     }
diff --git 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointUriFactory.java
 
b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointUriFactory.java
index 7d0d8f80e25..f1d0e702ae0 100644
--- 
a/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointUriFactory.java
+++ 
b/components/camel-smooks/src/generated/java/org/apache/camel/component/smooks/SmooksEndpointUriFactory.java
@@ -23,34 +23,13 @@ public class SmooksEndpointUriFactory extends 
org.apache.camel.support.component
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(22);
-        props.add("backoffErrorThreshold");
-        props.add("backoffIdleThreshold");
-        props.add("backoffMultiplier");
-        props.add("bridgeErrorHandler");
-        props.add("delay");
-        props.add("exceptionHandler");
-        props.add("exchangePattern");
-        props.add("greedy");
-        props.add("initialDelay");
+        Set<String> props = new HashSet<>(3);
         props.add("lazyStartProducer");
-        props.add("pollStrategy");
-        props.add("repeatCount");
         props.add("reportPath");
-        props.add("runLoggingLevel");
-        props.add("scheduledExecutorService");
-        props.add("scheduler");
-        props.add("schedulerProperties");
-        props.add("sendEmptyMessageWhenIdle");
         props.add("smooksConfig");
-        props.add("startScheduler");
-        props.add("timeUnit");
-        props.add("useFixedDelay");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
         SECRET_PROPERTY_NAMES = Collections.emptySet();
-        Set<String> prefixes = new HashSet<>(1);
-        prefixes.add("scheduler.");
-        MULTI_VALUE_PREFIXES = Collections.unmodifiableSet(prefixes);
+        MULTI_VALUE_PREFIXES = Collections.emptySet();
     }
 
     @Override
diff --git 
a/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/component/smooks/smooks.json
 
b/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/component/smooks/smooks.json
index b105f895b02..29535b928ee 100644
--- 
a/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/component/smooks/smooks.json
+++ 
b/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/component/smooks/smooks.json
@@ -18,38 +18,18 @@
     "async": false,
     "api": false,
     "consumerOnly": false,
-    "producerOnly": false,
+    "producerOnly": true,
     "lenientProperties": false,
     "browsable": false,
     "remote": true
   },
   "componentProperties": {
-    "bridgeErrorHandler": { "index": 0, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
-    "lazyStartProducer": { "index": 1, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 2, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
+    "lazyStartProducer": { "index": 0, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
+    "autowiredEnabled": { "index": 1, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
   },
   "properties": {
-    "smooksConfig": { "index": 0, "kind": "path", "displayName": "Smooks 
Config", "group": "common", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "supportFileReference": true, 
"description": "Path to the Smooks configuration file" },
-    "reportPath": { "index": 1, "kind": "parameter", "displayName": "Report 
Path", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "File path to place the generated HTML 
execution report. The report is a useful tool in the developers arsenal for 
diagnosing issues or comprehending a transformation. Do not set in production 
since this is a major performance drain" },
-    "sendEmptyMessageWhenIdle": { "index": 2, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
-    "bridgeErrorHandler": { "index": 3, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
-    "exceptionHandler": { "index": 4, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By def [...]
-    "exchangePattern": { "index": 5, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
-    "pollStrategy": { "index": 6, "kind": "parameter", "displayName": "Poll 
Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your 
custom implementation to control error handling usually occurred during the pol 
[...]
-    "lazyStartProducer": { "index": 7, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
-    "backoffErrorThreshold": { "index": 8, "kind": "parameter", "displayName": 
"Backoff Error Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
error polls (failed due some error) that should happen before the 
backoffMultipler should kick-in." },
-    "backoffIdleThreshold": { "index": 9, "kind": "parameter", "displayName": 
"Backoff Idle Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
idle polls that should happen before the backoffMultipler should kick-in." },
-    "backoffMultiplier": { "index": 10, "kind": "parameter", "displayName": 
"Backoff Multiplier", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "To let the scheduled 
polling consumer backoff if there has been a number of subsequent idles\/errors 
in a row. The multiplier is then the number of polls that will be skipped 
before the next actual attempt is h [...]
-    "delay": { "index": 11, "kind": "parameter", "displayName": "Delay", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 500, "description": "Milliseconds before the 
next poll." },
-    "greedy": { "index": 12, "kind": "parameter", "displayName": "Greedy", 
"group": "scheduler", "label": "consumer,scheduler", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "If greedy is enabled, 
then the ScheduledPollConsumer will run immediately again, if the previous run 
polled 1 or more messages." },
-    "initialDelay": { "index": 13, "kind": "parameter", "displayName": 
"Initial Delay", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 1000, "description": 
"Milliseconds before the first poll starts." },
-    "repeatCount": { "index": 14, "kind": "parameter", "displayName": "Repeat 
Count", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "description": "Specifies a maximum limit 
of number of fires. So if you set it to 1, the scheduler will only fire once. 
If you set it to 5, it will only fire five times. A value of zero or negative 
means fire forever." },
-    "runLoggingLevel": { "index": 15, "kind": "parameter", "displayName": "Run 
Logging Level", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", 
"ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "TRACE", "description": "The consumer logs a start\/complete 
log line when it polls. This option allows you to configure the l [...]
-    "scheduledExecutorService": { "index": 16, "kind": "parameter", 
"displayName": "Scheduled Executor Service", "group": "scheduler", "label": 
"consumer,scheduler", "required": false, "type": "object", "javaType": 
"java.util.concurrent.ScheduledExecutorService", "deprecated": false, 
"autowired": false, "secret": false, "description": "Allows for configuring a 
custom\/shared thread pool to use for the consumer. By default each consumer 
has its own single threaded thread pool." },
-    "scheduler": { "index": 17, "kind": "parameter", "displayName": 
"Scheduler", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "none", "description": "To 
use a cron scheduler from either camel-spring or camel-quartz component. Use 
value spring or quartz for built in scheduler" },
-    "schedulerProperties": { "index": 18, "kind": "parameter", "displayName": 
"Scheduler Properties", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.Object>", "prefix": "scheduler.", 
"multiValue": true, "deprecated": false, "autowired": false, "secret": false, 
"description": "To configure additional properties when using a custom 
scheduler or any of the Quartz, Spring based scheduler." },
-    "startScheduler": { "index": 19, "kind": "parameter", "displayName": 
"Start Scheduler", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Whether the scheduler should be auto started." },
-    "timeUnit": { "index": 20, "kind": "parameter", "displayName": "Time 
Unit", "group": "scheduler", "label": "consumer,scheduler", "required": false, 
"type": "object", "javaType": "java.util.concurrent.TimeUnit", "enum": [ 
"NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", 
"DAYS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "MILLISECONDS", "description": "Time unit for initialDelay and 
delay options." },
-    "useFixedDelay": { "index": 21, "kind": "parameter", "displayName": "Use 
Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in 
JDK for details." }
+    "smooksConfig": { "index": 0, "kind": "path", "displayName": "Smooks 
Config", "group": "producer", "label": "", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "supportFileReference": true, 
"description": "Path to the Smooks configuration file" },
+    "reportPath": { "index": 1, "kind": "parameter", "displayName": "Report 
Path", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "File path to place the generated HTML 
execution report. The report is a useful tool in the developers arsenal for 
diagnosing issues or comprehending a transformation. Do not set in production 
since this is a major performance drain" },
+    "lazyStartProducer": { "index": 2, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produc [...]
   }
 }
diff --git 
a/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/dataformat/smooks/smooks.json
 
b/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/dataformat/smooks/smooks.json
index cb0c68a58c0..6aa58317f06 100644
--- 
a/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/dataformat/smooks/smooks.json
+++ 
b/components/camel-smooks/src/generated/resources/META-INF/org/apache/camel/dataformat/smooks/smooks.json
@@ -3,10 +3,10 @@
     "kind": "dataformat",
     "name": "smooks",
     "title": "Smooks",
-    "description": "Transform and bind XML as well as non-XML data using 
Smooks.",
+    "description": "Transform and bind XML as well as non-XML data, including 
EDI, CSV, JSON, and YAML using Smooks.",
     "deprecated": false,
     "firstVersion": "4.9.0",
-    "label": "dataformat,transformation,smooks",
+    "label": "dataformat,transformation",
     "javaType": "org.apache.camel.dataformat.smooks.SmooksDataFormat",
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
diff --git a/components/camel-smooks/src/main/docs/smooks-component.adoc 
b/components/camel-smooks/src/main/docs/smooks-component.adoc
index f1e5465ddc6..93f917a6e85 100644
--- a/components/camel-smooks/src/main/docs/smooks-component.adoc
+++ b/components/camel-smooks/src/main/docs/smooks-component.adoc
@@ -6,7 +6,7 @@
 :since: 4.7
 :supportlevel: Stable
 :tabs-sync-option:
-:component-header: Both producer and consumer are supported
+:component-header: Only producer is supported
 //Manually maintained attributes
 :camel-spring-boot-name: smooks
 
@@ -102,4 +102,4 @@ The Smooks component is configured with a mandatory 
configuration file, which is
 </smooks-resource-list>
 ----
 
-The example `<core:exports>` configures Smooks to export the execution result 
to Camel as a string. Keep in mind that exporting the result as string means 
that the whole result will be kept in-memory which could cause unexpected 
performance issues for large payloads.
\ No newline at end of file
+The example `<core:exports>` configures Smooks to export the execution result 
to Camel as a string. Keep in mind that exporting the result as string means 
that the whole result will be kept in-memory which could cause unexpected 
performance issues for large payloads.
diff --git a/components/camel-smooks/src/main/docs/smooks-dataformat.adoc 
b/components/camel-smooks/src/main/docs/smooks-dataformat.adoc
index d1b538f74b6..667bee73142 100644
--- a/components/camel-smooks/src/main/docs/smooks-dataformat.adoc
+++ b/components/camel-smooks/src/main/docs/smooks-dataformat.adoc
@@ -2,7 +2,7 @@
 :doctitle: Smooks
 :shortname: smooks
 :artifactid: camel-smooks
-:description: Transform and bind XML as well as non-XML data using Smooks.
+:description: Transform and bind XML as well as non-XML data, including EDI, 
CSV, JSON, and YAML using Smooks.
 :since: 4.9
 :supportlevel: Preview
 :tabs-sync-option:
diff --git 
a/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksEndpoint.java
 
b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksEndpoint.java
index 0a854ca1702..f001a506774 100644
--- 
a/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksEndpoint.java
+++ 
b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksEndpoint.java
@@ -18,34 +18,47 @@ package org.apache.camel.component.smooks;
 
 import org.apache.camel.Category;
 import org.apache.camel.Component;
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
-import org.apache.camel.support.ProcessorEndpoint;
+import org.apache.camel.support.DefaultEndpoint;
 import org.apache.camel.support.service.ServiceHelper;
 
 /**
  * Use Smooks to transform, route, and bind both XML and non-XML data, 
including EDI, CSV, JSON, and YAML.
  */
 @UriEndpoint(firstVersion = "4.7.0", scheme = "smooks", title = "Smooks", 
syntax = "smooks:smooksConfig",
+             producerOnly = true,
              category = { Category.TRANSFORMATION })
-public class SmooksEndpoint extends ProcessorEndpoint {
+public class SmooksEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "Path to the Smooks configuration file")
     @Metadata(required = true, supportFileReference = true)
     private String smooksConfig;
-
     @UriParam(description = "File path to place the generated HTML execution 
report. The report is a useful tool in the developer’s arsenal for diagnosing 
issues or comprehending a transformation. Do not set in production since this 
is a major performance drain")
     private String reportPath;
 
     private final SmooksProcessor smooksProcessor;
 
     public SmooksEndpoint(String endpointUri, Component component, 
SmooksProcessor processor) {
-        super(endpointUri, component, processor);
+        super(endpointUri, component);
         this.smooksProcessor = processor;
     }
 
+    @Override
+    public Producer createProducer() throws Exception {
+        return new SmooksProducer(this, smooksProcessor);
+    }
+
+    @Override
+    public Consumer createConsumer(Processor processor) throws Exception {
+        throw new IllegalArgumentException("Consumer is not supported");
+    }
+
     @Override
     protected void doStart() throws Exception {
         super.doStart();
diff --git 
a/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksProcessor.java
 
b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksProcessor.java
index adabbb6af43..36c298b9325 100644
--- 
a/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksProcessor.java
+++ 
b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksProcessor.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
 import java.io.Reader;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.nio.charset.Charset;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -42,6 +43,7 @@ import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.WrappedFile;
+import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.ResourceHelper;
 import org.apache.camel.support.builder.OutputStreamBuilder;
 import org.apache.camel.support.service.ServiceSupport;
@@ -110,10 +112,10 @@ public class SmooksProcessor extends ServiceSupport 
implements Processor, CamelC
         final ExecutionContext executionContext = 
smooks.createExecutionContext();
         try {
             executionContext.put(EXCHANGE_TYPED_KEY, exchange);
-            String charsetName = (String) 
exchange.getProperty(Exchange.CHARSET_NAME);
-            if (charsetName != null) {
+            Charset charset = ExchangeHelper.getCharset(exchange, false);
+            if (charset != null) {
                 // if provided use the came character encoding
-                executionContext.setContentEncoding(charsetName);
+                executionContext.setContentEncoding(charset.name());
             }
             exchange.getIn().setHeader(SMOOKS_EXECUTION_CONTEXT, 
executionContext);
             setupSmooksReporting(executionContext);
diff --git 
a/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksProducer.java
 
b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksProducer.java
new file mode 100644
index 00000000000..feb1f0b4e95
--- /dev/null
+++ 
b/components/camel-smooks/src/main/java/org/apache/camel/component/smooks/SmooksProducer.java
@@ -0,0 +1,36 @@
+/*
+ * 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.component.smooks;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.support.DefaultProducer;
+
+public class SmooksProducer extends DefaultProducer {
+
+    private final SmooksProcessor smooksProcessor;
+
+    public SmooksProducer(Endpoint endpoint, SmooksProcessor smooksProcessor) {
+        super(endpoint);
+        this.smooksProcessor = smooksProcessor;
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        smooksProcessor.process(exchange);
+    }
+}
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/smooks.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/smooks.json
index 841de6ce94d..ac742e3e8f8 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/smooks.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/smooks.json
@@ -3,10 +3,10 @@
     "kind": "model",
     "name": "smooks",
     "title": "Smooks",
-    "description": "Transform and bind XML as well as non-XML data using 
Smooks.",
+    "description": "Transform and bind XML as well as non-XML data, including 
EDI, CSV, JSON, and YAML using Smooks.",
     "deprecated": false,
     "firstVersion": "4.9.0",
-    "label": "dataformat,transformation,smooks",
+    "label": "dataformat,transformation",
     "javaType": "org.apache.camel.model.dataformat.SmooksDataFormat",
     "abstract": false,
     "input": false,
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SmooksDataFormat.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SmooksDataFormat.java
index 17290b58644..8e8b458277a 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SmooksDataFormat.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/SmooksDataFormat.java
@@ -27,9 +27,9 @@ import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.spi.Metadata;
 
 /**
- * Transform and bind XML as well as non-XML data using Smooks.
+ * Transform and bind XML as well as non-XML data, including EDI, CSV, JSON, 
and YAML using Smooks.
  */
-@Metadata(firstVersion = "4.9.0", label = "dataformat,transformation,smooks", 
title = "Smooks")
+@Metadata(firstVersion = "4.9.0", label = "dataformat,transformation", title = 
"Smooks")
 @XmlRootElement(name = "smooks")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class SmooksDataFormat extends DataFormatDefinition {
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmooksComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmooksComponentBuilderFactory.java
index 4360f2b1bf4..6de19d7fcf4 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmooksComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SmooksComponentBuilderFactory.java
@@ -53,34 +53,6 @@ public interface SmooksComponentBuilderFactory {
     interface SmooksComponentBuilder extends ComponentBuilder<SmooksComponent> 
{
     
         
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions (if possible) occurred while the Camel
-         * consumer is trying to pickup incoming messages, or the likes, will
-         * now be processed as a message and handled by the routing Error
-         * Handler. Important: This is only possible if the 3rd party component
-         * allows Camel to be alerted if an exception was thrown. Some
-         * components handle this internally only, and therefore
-         * bridgeErrorHandler is not possible. In other situations we may
-         * improve the Camel component to hook into the 3rd party component and
-         * make this possible for future releases. By default the consumer will
-         * use the org.apache.camel.spi.ExceptionHandler to deal with
-         * exceptions, that will be logged at WARN or ERROR level and ignored.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default SmooksComponentBuilder bridgeErrorHandler(boolean 
bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-    
-        
         /**
          * Whether the producer should be started lazy (on the first message).
          * By starting lazy you can use this to allow CamelContext and routes 
to
@@ -141,7 +113,6 @@ public interface SmooksComponentBuilderFactory {
                 String name,
                 Object value) {
             switch (name) {
-            case "bridgeErrorHandler": ((SmooksComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "lazyStartProducer": ((SmooksComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "autowiredEnabled": ((SmooksComponent) 
component).setAutowiredEnabled((boolean) value); return true;
             default: return false;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmooksEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmooksEndpointBuilderFactory.java
index 387e4e65def..3d31dcefdcd 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmooksEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SmooksEndpointBuilderFactory.java
@@ -36,692 +36,13 @@ import 
org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
 public interface SmooksEndpointBuilderFactory {
 
     /**
-     * Builder for endpoint consumers for the Smooks component.
-     */
-    public interface SmooksEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default AdvancedSmooksEndpointConsumerBuilder advanced() {
-            return (AdvancedSmooksEndpointConsumerBuilder) this;
-        }
-        /**
-         * File path to place the generated HTML execution report. The report 
is
-         * a useful tool in the developers arsenal for diagnosing issues or
-         * comprehending a transformation. Do not set in production since this
-         * is a major performance drain.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: common
-         * 
-         * @param reportPath the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder reportPath(String reportPath) {
-            doSetProperty("reportPath", reportPath);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param sendEmptyMessageWhenIdle the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder sendEmptyMessageWhenIdle(boolean 
sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", 
sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
-         * If the polling consumer did not poll any files, you can enable this
-         * option to send an empty message (no body) instead.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer
-         * 
-         * @param sendEmptyMessageWhenIdle the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder sendEmptyMessageWhenIdle(String 
sendEmptyMessageWhenIdle) {
-            doSetProperty("sendEmptyMessageWhenIdle", 
sendEmptyMessageWhenIdle);
-            return this;
-        }
-        /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffErrorThreshold the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder backoffErrorThreshold(int 
backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent error polls (failed due some error) that
-         * should happen before the backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffErrorThreshold the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder backoffErrorThreshold(String 
backoffErrorThreshold) {
-            doSetProperty("backoffErrorThreshold", backoffErrorThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffIdleThreshold the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder backoffIdleThreshold(int 
backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * The number of subsequent idle polls that should happen before the
-         * backoffMultipler should kick-in.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffIdleThreshold the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder backoffIdleThreshold(String 
backoffIdleThreshold) {
-            doSetProperty("backoffIdleThreshold", backoffIdleThreshold);
-            return this;
-        }
-        /**
-         * To let the scheduled polling consumer backoff if there has been a
-         * number of subsequent idles/errors in a row. The multiplier is then
-         * the number of polls that will be skipped before the next actual
-         * attempt is happening again. When this option is in use then
-         * backoffIdleThreshold and/or backoffErrorThreshold must also be
-         * configured.
-         * 
-         * The option is a: <code>int</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffMultiplier the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder backoffMultiplier(int 
backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * To let the scheduled polling consumer backoff if there has been a
-         * number of subsequent idles/errors in a row. The multiplier is then
-         * the number of polls that will be skipped before the next actual
-         * attempt is happening again. When this option is in use then
-         * backoffIdleThreshold and/or backoffErrorThreshold must also be
-         * configured.
-         * 
-         * The option will be converted to a <code>int</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param backoffMultiplier the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder backoffMultiplier(String 
backoffMultiplier) {
-            doSetProperty("backoffMultiplier", backoffMultiplier);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         * 
-         * @param delay the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder delay(long delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * Milliseconds before the next poll.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 500
-         * Group: scheduler
-         * 
-         * @param delay the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder delay(String delay) {
-            doSetProperty("delay", delay);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: scheduler
-         * 
-         * @param greedy the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder greedy(boolean greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * If greedy is enabled, then the ScheduledPollConsumer will run
-         * immediately again, if the previous run polled 1 or more messages.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: scheduler
-         * 
-         * @param greedy the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder greedy(String greedy) {
-            doSetProperty("greedy", greedy);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         * 
-         * @param initialDelay the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder initialDelay(long initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * Milliseconds before the first poll starts.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 1000
-         * Group: scheduler
-         * 
-         * @param initialDelay the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder initialDelay(String 
initialDelay) {
-            doSetProperty("initialDelay", initialDelay);
-            return this;
-        }
-        /**
-         * Specifies a maximum limit of number of fires. So if you set it to 1,
-         * the scheduler will only fire once. If you set it to 5, it will only
-         * fire five times. A value of zero or negative means fire forever.
-         * 
-         * The option is a: <code>long</code> type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         * 
-         * @param repeatCount the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder repeatCount(long repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * Specifies a maximum limit of number of fires. So if you set it to 1,
-         * the scheduler will only fire once. If you set it to 5, it will only
-         * fire five times. A value of zero or negative means fire forever.
-         * 
-         * The option will be converted to a <code>long</code> type.
-         * 
-         * Default: 0
-         * Group: scheduler
-         * 
-         * @param repeatCount the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder repeatCount(String repeatCount) {
-            doSetProperty("repeatCount", repeatCount);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option is a: <code>org.apache.camel.LoggingLevel</code> type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         * 
-         * @param runLoggingLevel the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder 
runLoggingLevel(org.apache.camel.LoggingLevel runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * The consumer logs a start/complete log line when it polls. This
-         * option allows you to configure the logging level for that.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.LoggingLevel</code> type.
-         * 
-         * Default: TRACE
-         * Group: scheduler
-         * 
-         * @param runLoggingLevel the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder runLoggingLevel(String 
runLoggingLevel) {
-            doSetProperty("runLoggingLevel", runLoggingLevel);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded 
thread
-         * pool.
-         * 
-         * The option is a:
-         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param scheduledExecutorService the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder 
scheduledExecutorService(ScheduledExecutorService scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", 
scheduledExecutorService);
-            return this;
-        }
-        /**
-         * Allows for configuring a custom/shared thread pool to use for the
-         * consumer. By default each consumer has its own single threaded 
thread
-         * pool.
-         * 
-         * The option will be converted to a
-         * <code>java.util.concurrent.ScheduledExecutorService</code> type.
-         * 
-         * Group: scheduler
-         * 
-         * @param scheduledExecutorService the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder scheduledExecutorService(String 
scheduledExecutorService) {
-            doSetProperty("scheduledExecutorService", 
scheduledExecutorService);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option is a: <code>java.lang.Object</code> type.
-         * 
-         * Default: none
-         * Group: scheduler
-         * 
-         * @param scheduler the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder scheduler(Object scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To use a cron scheduler from either camel-spring or camel-quartz
-         * component. Use value spring or quartz for built in scheduler.
-         * 
-         * The option will be converted to a <code>java.lang.Object</code> 
type.
-         * 
-         * Default: none
-         * Group: scheduler
-         * 
-         * @param scheduler the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder scheduler(String scheduler) {
-            doSetProperty("scheduler", scheduler);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * java.lang.Object&gt;</code> type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         * 
-         * @param key the option key
-         * @param value the option value
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder schedulerProperties(String key, 
Object value) {
-            doSetMultiValueProperty("schedulerProperties", "scheduler." + key, 
value);
-            return this;
-        }
-        /**
-         * To configure additional properties when using a custom scheduler or
-         * any of the Quartz, Spring based scheduler.
-         * 
-         * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * java.lang.Object&gt;</code> type.
-         * The option is multivalued, and you can use the
-         * schedulerProperties(String, Object) method to add a value (call the
-         * method multiple times to set more values).
-         * 
-         * Group: scheduler
-         * 
-         * @param values the values
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder schedulerProperties(Map values) {
-            doSetMultiValueProperties("schedulerProperties", "scheduler.", 
values);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param startScheduler the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder startScheduler(boolean 
startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Whether the scheduler should be auto started.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param startScheduler the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder startScheduler(String 
startScheduler) {
-            doSetProperty("startScheduler", startScheduler);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option is a: <code>java.util.concurrent.TimeUnit</code> type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         * 
-         * @param timeUnit the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder timeUnit(TimeUnit timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Time unit for initialDelay and delay options.
-         * 
-         * The option will be converted to a
-         * <code>java.util.concurrent.TimeUnit</code> type.
-         * 
-         * Default: MILLISECONDS
-         * Group: scheduler
-         * 
-         * @param timeUnit the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder timeUnit(String timeUnit) {
-            doSetProperty("timeUnit", timeUnit);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param useFixedDelay the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder useFixedDelay(boolean 
useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
-        /**
-         * Controls if fixed delay or fixed rate is used. See
-         * ScheduledExecutorService in JDK for details.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: scheduler
-         * 
-         * @param useFixedDelay the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointConsumerBuilder useFixedDelay(String 
useFixedDelay) {
-            doSetProperty("useFixedDelay", useFixedDelay);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint consumers for the Smooks component.
-     */
-    public interface AdvancedSmooksEndpointConsumerBuilder
-            extends
-                EndpointConsumerBuilder {
-        default SmooksEndpointConsumerBuilder basic() {
-            return (SmooksEndpointConsumerBuilder) this;
-        }
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions (if possible) occurred while the Camel
-         * consumer is trying to pickup incoming messages, or the likes, will
-         * now be processed as a message and handled by the routing Error
-         * Handler. Important: This is only possible if the 3rd party component
-         * allows Camel to be alerted if an exception was thrown. Some
-         * components handle this internally only, and therefore
-         * bridgeErrorHandler is not possible. In other situations we may
-         * improve the Camel component to hook into the 3rd party component and
-         * make this possible for future releases. By default the consumer will
-         * use the org.apache.camel.spi.ExceptionHandler to deal with
-         * exceptions, that will be logged at WARN or ERROR level and ignored.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder 
bridgeErrorHandler(boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * Allows for bridging the consumer to the Camel routing Error Handler,
-         * which mean any exceptions (if possible) occurred while the Camel
-         * consumer is trying to pickup incoming messages, or the likes, will
-         * now be processed as a message and handled by the routing Error
-         * Handler. Important: This is only possible if the 3rd party component
-         * allows Camel to be alerted if an exception was thrown. Some
-         * components handle this internally only, and therefore
-         * bridgeErrorHandler is not possible. In other situations we may
-         * improve the Camel component to hook into the 3rd party component and
-         * make this possible for future releases. By default the consumer will
-         * use the org.apache.camel.spi.ExceptionHandler to deal with
-         * exceptions, that will be logged at WARN or ERROR level and ignored.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: false
-         * Group: consumer (advanced)
-         * 
-         * @param bridgeErrorHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder 
bridgeErrorHandler(String bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * To let the consumer use a custom ExceptionHandler. Notice if the
-         * option bridgeErrorHandler is enabled then this option is not in use.
-         * By default the consumer will deal with exceptions, that will be
-         * logged at WARN or ERROR level and ignored.
-         * 
-         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
-         * type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exceptionHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder 
exceptionHandler(org.apache.camel.spi.ExceptionHandler exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
-            return this;
-        }
-        /**
-         * To let the consumer use a custom ExceptionHandler. Notice if the
-         * option bridgeErrorHandler is enabled then this option is not in use.
-         * By default the consumer will deal with exceptions, that will be
-         * logged at WARN or ERROR level and ignored.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exceptionHandler the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder exceptionHandler(String 
exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
-            return this;
-        }
-        /**
-         * Sets the exchange pattern when the consumer creates an exchange.
-         * 
-         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exchangePattern the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder 
exchangePattern(org.apache.camel.ExchangePattern exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
-            return this;
-        }
-        /**
-         * Sets the exchange pattern when the consumer creates an exchange.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.ExchangePattern</code> type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param exchangePattern the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder exchangePattern(String 
exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
-            return this;
-        }
-        /**
-         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
-         * you to provide your custom implementation to control error handling
-         * usually occurred during the poll operation before an Exchange have
-         * been created and being routed in Camel.
-         * 
-         * The option is a:
-         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param pollStrategy the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder 
pollStrategy(org.apache.camel.spi.PollingConsumerPollStrategy pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-        /**
-         * A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing
-         * you to provide your custom implementation to control error handling
-         * usually occurred during the poll operation before an Exchange have
-         * been created and being routed in Camel.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.spi.PollingConsumerPollStrategy</code> type.
-         * 
-         * Group: consumer (advanced)
-         * 
-         * @param pollStrategy the value to set
-         * @return the dsl builder
-         */
-        default AdvancedSmooksEndpointConsumerBuilder pollStrategy(String 
pollStrategy) {
-            doSetProperty("pollStrategy", pollStrategy);
-            return this;
-        }
-    }
-
-    /**
-     * Builder for endpoint producers for the Smooks component.
+     * Builder for endpoint for the Smooks component.
      */
-    public interface SmooksEndpointProducerBuilder
+    public interface SmooksEndpointBuilder
             extends
                 EndpointProducerBuilder {
-        default AdvancedSmooksEndpointProducerBuilder advanced() {
-            return (AdvancedSmooksEndpointProducerBuilder) this;
+        default AdvancedSmooksEndpointBuilder advanced() {
+            return (AdvancedSmooksEndpointBuilder) this;
         }
 
         /**
@@ -732,23 +53,25 @@ public interface SmooksEndpointBuilderFactory {
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
-         * Group: common
+         * Group: producer
          * 
          * @param reportPath the value to set
          * @return the dsl builder
          */
-        default SmooksEndpointProducerBuilder reportPath(String reportPath) {
+        default SmooksEndpointBuilder reportPath(String reportPath) {
             doSetProperty("reportPath", reportPath);
             return this;
         }
     }
 
     /**
-     * Advanced builder for endpoint producers for the Smooks component.
+     * Advanced builder for endpoint for the Smooks component.
      */
-    public interface AdvancedSmooksEndpointProducerBuilder extends 
EndpointProducerBuilder {
-        default SmooksEndpointProducerBuilder basic() {
-            return (SmooksEndpointProducerBuilder) this;
+    public interface AdvancedSmooksEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default SmooksEndpointBuilder basic() {
+            return (SmooksEndpointBuilder) this;
         }
 
         /**
@@ -770,7 +93,7 @@ public interface SmooksEndpointBuilderFactory {
          * @param lazyStartProducer the value to set
          * @return the dsl builder
          */
-        default AdvancedSmooksEndpointProducerBuilder 
lazyStartProducer(boolean lazyStartProducer) {
+        default AdvancedSmooksEndpointBuilder lazyStartProducer(boolean 
lazyStartProducer) {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
@@ -793,55 +116,12 @@ public interface SmooksEndpointBuilderFactory {
          * @param lazyStartProducer the value to set
          * @return the dsl builder
          */
-        default AdvancedSmooksEndpointProducerBuilder lazyStartProducer(String 
lazyStartProducer) {
+        default AdvancedSmooksEndpointBuilder lazyStartProducer(String 
lazyStartProducer) {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
     }
 
-    /**
-     * Builder for endpoint for the Smooks component.
-     */
-    public interface SmooksEndpointBuilder
-            extends
-                SmooksEndpointConsumerBuilder,
-                SmooksEndpointProducerBuilder {
-        default AdvancedSmooksEndpointBuilder advanced() {
-            return (AdvancedSmooksEndpointBuilder) this;
-        }
-
-        /**
-         * File path to place the generated HTML execution report. The report 
is
-         * a useful tool in the developers arsenal for diagnosing issues or
-         * comprehending a transformation. Do not set in production since this
-         * is a major performance drain.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: common
-         * 
-         * @param reportPath the value to set
-         * @return the dsl builder
-         */
-        default SmooksEndpointBuilder reportPath(String reportPath) {
-            doSetProperty("reportPath", reportPath);
-            return this;
-        }
-    }
-
-    /**
-     * Advanced builder for endpoint for the Smooks component.
-     */
-    public interface AdvancedSmooksEndpointBuilder
-            extends
-                AdvancedSmooksEndpointConsumerBuilder,
-                AdvancedSmooksEndpointProducerBuilder {
-        default SmooksEndpointBuilder basic() {
-            return (SmooksEndpointBuilder) this;
-        }
-
-    }
-
     public interface SmooksBuilders {
         /**
          * Smooks (camel-smooks)
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 e6f92c3b3e8..780348953c4 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
@@ -17332,7 +17332,7 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
             types = org.apache.camel.model.dataformat.SmooksDataFormat.class,
             order = 
org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
             displayName = "Smooks",
-            description = "Transform and bind XML as well as non-XML data 
using Smooks.",
+            description = "Transform and bind XML as well as non-XML data, 
including EDI, CSV, JSON, and YAML using Smooks.",
             deprecated = false,
             properties = {
                     @YamlProperty(name = "id", type = "string", description = 
"The id of this node", displayName = "Id"),
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 ee14f08d166..48e1637fcd6 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
@@ -11721,7 +11721,7 @@
       },
       "org.apache.camel.model.dataformat.SmooksDataFormat" : {
         "title" : "Smooks",
-        "description" : "Transform and bind XML as well as non-XML data using 
Smooks.",
+        "description" : "Transform and bind XML as well as non-XML data, 
including EDI, CSV, JSON, and YAML using Smooks.",
         "type" : "object",
         "additionalProperties" : false,
         "properties" : {


Reply via email to