From b88ce876d1a7f03c7387ff2024e63c849711f691 Mon Sep 17 00:00:00 2001 From: oscerd Date: Wed, 29 Mar 2023 01:17:30 +0000 Subject: [PATCH] [create-pull-request] automated change --- .../camel/springboot/catalog/components/plc4x.json | 2 +- .../camel/springboot/catalog/components/sql.json | 1 + .../camel-sql-starter/src/main/docs/sql.json | 6 ++++++ .../sql/springboot/SqlComponentConfiguration.java | 14 ++++++++++++++ .../sql/springboot/SqlComponentConverter.java | 2 ++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/plc4x.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/plc4x.json index c2c0103626f8..a2229c00a7a7 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/plc4x.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/plc4x.json @@ -29,8 +29,8 @@ "properties": { "driver": { "kind": "path", "displayName": "Driver", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "PLC4X connection string for the connection to the target" }, "autoReconnect": { "kind": "parameter", "displayName": "Auto Reconnect", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to reconnect when no connection is present upon doing a request" }, - "tags": { "kind": "parameter", "displayName": "Tags", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The tags to read as Map containing the tag name associated to its query" }, "period": { "kind": "parameter", "displayName": "Period", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Interval on which the Trigger should be checked" }, + "tags": { "kind": "parameter", "displayName": "Tags", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "java.util.Map", "prefix": "tag.", "multiValue": true, "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Tags as key\/values from the Map to use in query" }, "trigger": { "kind": "parameter", "displayName": "Trigger", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Query to a trigger. On a rising edge of the trigger, the tags will be read once" }, "bridgeErrorHandler": { "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 occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. 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." }, "exceptionHandler": { "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 default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored." }, diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json index d93f6de1c2e0..b8a85a1bd52b 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/sql.json @@ -26,6 +26,7 @@ "bridgeErrorHandler": { "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 occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. 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." }, "lazyStartProducer": { "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 during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, "autowiredEnabled": { "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, + "rowMapperFactory": { "kind": "property", "displayName": "Row Mapper Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.sql.RowMapperFactory", "deprecated": false, "autowired": true, "secret": false, "description": "Factory for creating RowMapper" }, "usePlaceholder": { "kind": "property", "displayName": "Use Placeholder", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets whether to use placeholder and replace all placeholder characters with sign in the SQL queries. This option is default true" } }, "headers": { diff --git a/components-starter/camel-sql-starter/src/main/docs/sql.json b/components-starter/camel-sql-starter/src/main/docs/sql.json index 541c00e667a2..53c43d8dea25 100644 --- a/components-starter/camel-sql-starter/src/main/docs/sql.json +++ b/components-starter/camel-sql-starter/src/main/docs/sql.json @@ -81,6 +81,12 @@ "sourceType": "org.apache.camel.component.sql.springboot.SqlComponentConfiguration", "defaultValue": false }, + { + "name": "camel.component.sql.row-mapper-factory", + "type": "org.apache.camel.component.sql.RowMapperFactory", + "description": "Factory for creating RowMapper. The option is a org.apache.camel.component.sql.RowMapperFactory type.", + "sourceType": "org.apache.camel.component.sql.springboot.SqlComponentConfiguration" + }, { "name": "camel.component.sql.use-placeholder", "type": "java.lang.Boolean", diff --git a/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConfiguration.java b/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConfiguration.java index 6c0f9a7a829d..73ce2f083d97 100644 --- a/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConfiguration.java +++ b/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConfiguration.java @@ -17,6 +17,7 @@ package org.apache.camel.component.sql.springboot; import javax.sql.DataSource; +import org.apache.camel.component.sql.RowMapperFactory; import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -69,6 +70,11 @@ public class SqlComponentConfiguration * etc. */ private Boolean autowiredEnabled = true; + /** + * Factory for creating RowMapper. The option is a + * org.apache.camel.component.sql.RowMapperFactory type. + */ + private RowMapperFactory rowMapperFactory; /** * Sets whether to use placeholder and replace all placeholder characters * with sign in the SQL queries. This option is default true @@ -107,6 +113,14 @@ public void setAutowiredEnabled(Boolean autowiredEnabled) { this.autowiredEnabled = autowiredEnabled; } + public RowMapperFactory getRowMapperFactory() { + return rowMapperFactory; + } + + public void setRowMapperFactory(RowMapperFactory rowMapperFactory) { + this.rowMapperFactory = rowMapperFactory; + } + public Boolean getUsePlaceholder() { return usePlaceholder; } diff --git a/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConverter.java b/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConverter.java index e4516c4627a2..7f125d62490c 100644 --- a/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConverter.java +++ b/components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConverter.java @@ -40,6 +40,7 @@ public class SqlComponentConverter implements GenericConverter { public Set getConvertibleTypes() { Set answer = new LinkedHashSet<>(); answer.add(new ConvertiblePair(String.class, javax.sql.DataSource.class)); + answer.add(new ConvertiblePair(String.class, org.apache.camel.component.sql.RowMapperFactory.class)); return answer; } @@ -57,6 +58,7 @@ public Object convert( ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1); switch (targetType.getName()) { case "javax.sql.DataSource": return applicationContext.getBean(ref, javax.sql.DataSource.class); + case "org.apache.camel.component.sql.RowMapperFactory": return applicationContext.getBean(ref, org.apache.camel.component.sql.RowMapperFactory.class); } return null; }