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-spring-boot.git
The following commit(s) were added to refs/heads/main by this push:
new 92d55f0a3ac CAMEL-21398: Smooks is only a producer.
92d55f0a3ac is described below
commit 92d55f0a3ac3f30b13672ec8be8d3c44b58c7f97
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Oct 30 10:05:45 2024 +0100
CAMEL-21398: Smooks is only a producer.
---
.../springboot/catalog/components/smooks.json | 32 ++++------------------
.../springboot/catalog/dataformats/smooks.json | 4 +--
.../camel-smooks-starter/src/main/docs/smooks.json | 7 -----
.../springboot/SmooksComponentConfiguration.java | 22 ---------------
.../springboot/SmooksDataFormatConfiguration.java | 3 +-
5 files changed, 10 insertions(+), 58 deletions(-)
diff --git
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smooks.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smooks.json
index 0deb7fea5f0..6a734c38b99 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smooks.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/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-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/smooks.json
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/smooks.json
index 5e9870f9e64..61a5da1c659 100644
---
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/smooks.json
+++
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/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.springboot",
diff --git a/components-starter/camel-smooks-starter/src/main/docs/smooks.json
b/components-starter/camel-smooks-starter/src/main/docs/smooks.json
index dc37c7c24ec..a4d751784a6 100644
--- a/components-starter/camel-smooks-starter/src/main/docs/smooks.json
+++ b/components-starter/camel-smooks-starter/src/main/docs/smooks.json
@@ -31,13 +31,6 @@
"sourceType":
"org.apache.camel.component.smooks.springboot.SmooksComponentConfiguration",
"defaultValue": true
},
- {
- "name": "camel.component.smooks.bridge-error-handler",
- "type": "java.lang.Boolean",
- "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 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 n [...]
- "sourceType":
"org.apache.camel.component.smooks.springboot.SmooksComponentConfiguration",
- "defaultValue": false
- },
{
"name": "camel.component.smooks.customizer.enabled",
"type": "java.lang.Boolean",
diff --git
a/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/component/smooks/springboot/SmooksComponentConfiguration.java
b/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/component/smooks/springboot/SmooksComponentConfiguration.java
index bd8a6aec950..2e80eb8dacf 100644
---
a/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/component/smooks/springboot/SmooksComponentConfiguration.java
+++
b/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/component/smooks/springboot/SmooksComponentConfiguration.java
@@ -35,20 +35,6 @@ public class SmooksComponentConfiguration
* enabled by default.
*/
private Boolean enabled;
- /**
- * 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.
- */
- private Boolean bridgeErrorHandler = false;
/**
* Whether the producer should be started lazy (on the first message). By
* starting lazy you can use this to allow CamelContext and routes to
@@ -70,14 +56,6 @@ public class SmooksComponentConfiguration
*/
private Boolean autowiredEnabled = true;
- public Boolean getBridgeErrorHandler() {
- return bridgeErrorHandler;
- }
-
- public void setBridgeErrorHandler(Boolean bridgeErrorHandler) {
- this.bridgeErrorHandler = bridgeErrorHandler;
- }
-
public Boolean getLazyStartProducer() {
return lazyStartProducer;
}
diff --git
a/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/dataformat/smooks/springboot/SmooksDataFormatConfiguration.java
b/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/dataformat/smooks/springboot/SmooksDataFormatConfiguration.java
index 66f91ddd01d..a567e6545ab 100644
---
a/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/dataformat/smooks/springboot/SmooksDataFormatConfiguration.java
+++
b/components-starter/camel-smooks-starter/src/main/java/org/apache/camel/dataformat/smooks/springboot/SmooksDataFormatConfiguration.java
@@ -20,7 +20,8 @@ import
org.apache.camel.spring.boot.DataFormatConfigurationPropertiesCommon;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
- * 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.
*
* Generated by camel-package-maven-plugin - do not edit this file!
*/