You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2022/04/27 17:15:34 UTC

[camel] 01/01: CAMEL-18021: camel-debezium - Support default value for lists

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

nfilotto pushed a commit to branch CAMEL-18021/add-support-default-value-for-list
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 05663a348efa849349a57b83407984725bcf452a
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Wed Apr 27 19:14:47 2022 +0200

    CAMEL-18021: camel-debezium - Support default value for lists
---
 .../camel/maven/config/ConnectorConfigField.java   | 28 ++++++--
 .../maven/config/ConnectorConfigFieldsFactory.java | 10 +--
 .../maven/config/ConnectorConfigGenerator.java     | 12 ++--
 .../maven/config/ConnectorConfigFieldTest.java     | 75 ++++++++++++++++++++--
 .../Db2ConnectorEmbeddedDebeziumConfiguration.java |  2 +-
 .../camel/component/debezium/debezium-db2.json     |  4 +-
 ...ySqlConnectorEmbeddedDebeziumConfiguration.java |  2 +-
 .../camel/component/debezium/debezium-mysql.json   |  4 +-
 ...acleConnectorEmbeddedDebeziumConfiguration.java |  2 +-
 .../camel/component/debezium/debezium-oracle.json  |  4 +-
 10 files changed, 113 insertions(+), 30 deletions(-)

diff --git a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
index 24bc433b8c8..7d0c20824ed 100644
--- a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
+++ b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigField.java
@@ -68,6 +68,21 @@ public class ConnectorConfigField {
         return fieldDef.defaultValue;
     }
 
+    /**
+     * @return the default value as a {@code String} between 2 double quotes.
+     */
+    public String getDefaultValueAsStringLiteral() {
+        Object defaultValue = getDefaultValue();
+        if (defaultValue == null) {
+            return null;
+        }
+        if (fieldDef.type() == ConfigDef.Type.LIST
+                || fieldDef.type() == ConfigDef.Type.CLASS && defaultValue instanceof Class) {
+            defaultValue = ConfigDef.convertToString(defaultValue, fieldDef.type());
+        }
+        return String.format("\"%s\"", defaultValue);
+    }
+
     public String getDefaultValueAsString() {
         return getDefaultValueWrappedInString(fieldDef);
     }
@@ -142,15 +157,18 @@ public class ConnectorConfigField {
     }
 
     private String getDefaultValueWrappedInString(final ConfigDef.ConfigKey field) {
-        if (getDefaultValue() != null) {
+        final Object defaultValue = getDefaultValue();
+        if (defaultValue != null) {
             if (field.type() == ConfigDef.Type.STRING || field.type() == ConfigDef.Type.PASSWORD
                     || field.type() == ConfigDef.Type.CLASS) {
-                if (getDefaultValue() instanceof Class) {
-                    return "\"" + ((Class) getDefaultValue()).getName() + "\"";
+                if (defaultValue instanceof Class) {
+                    return "\"" + ((Class<?>) defaultValue).getName() + "\"";
                 }
-                return "\"" + getDefaultValue().toString() + "\"";
+                return "\"" + defaultValue + "\"";
+            } else if (field.type() == ConfigDef.Type.LIST) {
+                return "\"" + ConfigDef.convertToString(defaultValue, ConfigDef.Type.LIST) + "\"";
             }
-            return getDefaultValue().toString();
+            return defaultValue.toString();
         }
         return null;
     }
diff --git a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigFieldsFactory.java b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigFieldsFactory.java
index af291a0e304..8dc094dcf99 100644
--- a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigFieldsFactory.java
+++ b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigFieldsFactory.java
@@ -36,20 +36,20 @@ public final class ConnectorConfigFieldsFactory {
 
     public static Map<String, ConnectorConfigField> createConnectorFieldsAsMap(
             final ConfigDef configDef, final Class<?> configClass, final Set<String> requiredFields,
-            final Map<String, Object> overridenDefaultValues) {
+            final Map<String, Object> overriddenDefaultValues) {
         // first we extract deprecated fields
         final Set<String> deprecatedFields = getDeprecatedFieldsFromConfigClass(configClass);
 
-        return createConnectorFieldsAsMap(configDef, deprecatedFields, requiredFields, overridenDefaultValues);
+        return createConnectorFieldsAsMap(configDef, deprecatedFields, requiredFields, overriddenDefaultValues);
     }
 
     public static Map<String, ConnectorConfigField> createConnectorFieldsAsMap(
             final ConfigDef configDef, final Set<String> deprecatedFields, final Set<String> requiredFields,
-            final Map<String, Object> overridenDefaultValues) {
+            final Map<String, Object> overriddenDefaultValues) {
         ObjectHelper.notNull(configDef, "configDef");
         ObjectHelper.notNull(deprecatedFields, "deprecatedFields");
         ObjectHelper.notNull(requiredFields, "requiredFields");
-        ObjectHelper.notNull(overridenDefaultValues, "overridenDefaultValues");
+        ObjectHelper.notNull(overriddenDefaultValues, "overriddenDefaultValues");
 
         final Map<String, ConnectorConfigField> results = new HashMap<>();
 
@@ -60,7 +60,7 @@ public final class ConnectorConfigFieldsFactory {
                 results.put(name,
                         new ConnectorConfigField(
                                 configKey, deprecatedFields.contains(name), requiredFields.contains(name),
-                                overridenDefaultValues.getOrDefault(name, null)));
+                                overriddenDefaultValues.getOrDefault(name, null)));
             }
         });
 
diff --git a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java
index ebcd1d72971..8d6ccb2f78b 100644
--- a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java
+++ b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/main/java/org/apache/camel/maven/config/ConnectorConfigGenerator.java
@@ -68,17 +68,17 @@ public final class ConnectorConfigGenerator {
     }
 
     public static ConnectorConfigGenerator create(
-            final SourceConnector connector, final Class<?> dbzConfigClass, final Map<String, Object> overridenDefaultValues) {
-        return create(connector, dbzConfigClass, Collections.emptySet(), overridenDefaultValues);
+            final SourceConnector connector, final Class<?> dbzConfigClass, final Map<String, Object> overriddenDefaultValues) {
+        return create(connector, dbzConfigClass, Collections.emptySet(), overriddenDefaultValues);
     }
 
     public static ConnectorConfigGenerator create(
             final SourceConnector connector, final Class<?> dbzConfigClass, final Set<String> requiredFields,
-            final Map<String, Object> overridenDefaultValues) {
+            final Map<String, Object> overriddenDefaultValues) {
         ObjectHelper.notNull(connector, "connector");
         ObjectHelper.notNull(dbzConfigClass, "dbzConfigClass");
         ObjectHelper.notNull(requiredFields, "requiredFields");
-        ObjectHelper.notNull(overridenDefaultValues, "overridenDefaultValues");
+        ObjectHelper.notNull(overriddenDefaultValues, "overriddenDefaultValues");
 
         // check if config class is correct
         if (!isConfigClassValid(dbzConfigClass)) {
@@ -94,7 +94,7 @@ public final class ConnectorConfigGenerator {
 
         return new ConnectorConfigGenerator(
                 connector, ConnectorConfigFieldsFactory.createConnectorFieldsAsMap(configDef, dbzConfigClass, requiredFields,
-                        overridenDefaultValues),
+                        overriddenDefaultValues),
                 connectorName);
     }
 
@@ -194,7 +194,7 @@ public final class ConnectorConfigGenerator {
                         annotation.setLiteralValue("defaultValue",
                                 String.format("\"%s\"", ConnectorConfigGeneratorUtils.toTimeAsString(defaultValueAsLong)));
                     } else {
-                        annotation.setLiteralValue("defaultValue", String.format("\"%s\"", fieldConfig.getDefaultValue()));
+                        annotation.setLiteralValue("defaultValue", fieldConfig.getDefaultValueAsStringLiteral());
                     }
                 }
 
diff --git a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/test/java/org/apache/camel/maven/config/ConnectorConfigFieldTest.java b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/test/java/org/apache/camel/maven/config/ConnectorConfigFieldTest.java
index 6cfc28e9518..37355b23c2c 100644
--- a/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/test/java/org/apache/camel/maven/config/ConnectorConfigFieldTest.java
+++ b/components/camel-debezium/camel-debezium-common/camel-debezium-maven-plugin/src/test/java/org/apache/camel/maven/config/ConnectorConfigFieldTest.java
@@ -16,16 +16,19 @@
  */
 package org.apache.camel.maven.config;
 
+import java.util.Arrays;
 import java.util.Collections;
 
 import org.apache.kafka.common.config.ConfigDef;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.EnumSource;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class ConnectorConfigFieldTest {
+class ConnectorConfigFieldTest {
 
     @Test
     void testIfReturnsCorrectly() {
@@ -35,14 +38,14 @@ public class ConnectorConfigFieldTest {
                 Collections.emptyList(),
                 null, false);
 
-        final ConnectorConfigField connectorConfigField = new ConnectorConfigField(configKey, false, true, "I am overriden");
+        final ConnectorConfigField connectorConfigField = new ConnectorConfigField(configKey, false, true, "I am overridden");
 
         assertEquals("fieldTest", connectorConfigField.getFieldName());
         assertEquals("setFieldTest", connectorConfigField.getFieldSetterMethodName());
         assertEquals("getFieldTest", connectorConfigField.getFieldGetterMethodName());
         assertEquals(String.class, connectorConfigField.getRawType());
-        assertEquals("I am overriden", connectorConfigField.getDefaultValue());
-        assertEquals("\"I am overriden\"", connectorConfigField.getDefaultValueAsString());
+        assertEquals("I am overridden", connectorConfigField.getDefaultValue());
+        assertEquals("\"I am overridden\"", connectorConfigField.getDefaultValueAsString());
         assertFalse(connectorConfigField.isDeprecated());
         assertTrue(connectorConfigField.isRequired());
         assertFalse(connectorConfigField.isTimeField());
@@ -68,7 +71,7 @@ public class ConnectorConfigFieldTest {
     }
 
     @Test
-    public void testIfDiscoversDurationFieldCorrectly() {
+    void testIfDiscoversDurationFieldCorrectly() {
         final ConfigDef.ConfigKey configKey = new ConfigDef.ConfigKey(
                 "field.test_underscore.Ms", ConfigDef.Type.LONG, "100",
                 null, ConfigDef.Importance.MEDIUM, "testing", "testGroup", 1, ConfigDef.Width.MEDIUM, "displayName",
@@ -109,4 +112,66 @@ public class ConnectorConfigFieldTest {
 
         assertFalse(connectorConfigField4.isTimeField());
     }
+
+    @ParameterizedTest
+    @EnumSource
+    void testDefaultValueAsString(DefaultValueAsStringInputData data) {
+        assertEquals(data.expectedDefaultValueAsString,
+                new ConnectorConfigField(data.asConfigKey(), false, false, null).getDefaultValueAsString());
+    }
+
+    @ParameterizedTest
+    @EnumSource
+    void testDefaultValueAsStringLiteral(DefaultValueAsStringInputData data) {
+        assertEquals(data.expectedDefaultValueAsStringLiteral,
+                new ConnectorConfigField(data.asConfigKey(), false, false, data.overrideDefaultValue)
+                        .getDefaultValueAsStringLiteral());
+    }
+
+    enum DefaultValueAsStringInputData {
+        BOOLEAN(ConfigDef.Type.BOOLEAN, true, "true", false),
+        STRING(ConfigDef.Type.STRING, "Some Value", "\"Some Value\""),
+        INT(ConfigDef.Type.INT, 17, "17", false),
+        SHORT(ConfigDef.Type.SHORT, (short) 7, "7", false),
+        LONG(ConfigDef.Type.LONG, (long) 47, "47", false),
+        DOUBLE(ConfigDef.Type.DOUBLE, 2.5, "2.5", false),
+        LIST(ConfigDef.Type.LIST, Arrays.asList("1", "2", "3"), "\"1,2,3\""),
+        CLASS(ConfigDef.Type.CLASS, String.class, "\"java.lang.String\""),
+        CLASS_AS_STRING(ConfigDef.Type.CLASS, String.class.getName(), String.class.getName(), "\"java.lang.String\"", true),
+        PASSWORD(ConfigDef.Type.PASSWORD, "Some Pwd", "\"[hidden]\"");
+
+        final ConfigDef.Type type;
+        final Object defaultValue;
+        final Object overrideDefaultValue;
+        final String expectedDefaultValueAsString;
+        final String expectedDefaultValueAsStringLiteral;
+
+        DefaultValueAsStringInputData(ConfigDef.Type type, Object defaultValue, String expectedDefaultValueAsString) {
+            this(type, defaultValue, expectedDefaultValueAsString, true);
+        }
+
+        DefaultValueAsStringInputData(ConfigDef.Type type, Object defaultValue, String expectedDefaultValueAsString,
+                                      boolean isStringLiteral) {
+            this(type, defaultValue, null, expectedDefaultValueAsString, isStringLiteral);
+        }
+
+        DefaultValueAsStringInputData(ConfigDef.Type type, Object defaultValue, Object overrideDefaultValue,
+                                      String expectedDefaultValueAsString, boolean isStringLiteral) {
+            this.type = type;
+            this.defaultValue = defaultValue;
+            this.overrideDefaultValue = overrideDefaultValue;
+            this.expectedDefaultValueAsString = expectedDefaultValueAsString;
+            this.expectedDefaultValueAsStringLiteral
+                    = isStringLiteral ? expectedDefaultValueAsString : String.format("\"%s\"", expectedDefaultValueAsString);
+        }
+
+        ConfigDef.ConfigKey asConfigKey() {
+            return new ConfigDef.ConfigKey(
+                    "field.ms.field", type, defaultValue,
+                    null, ConfigDef.Importance.MEDIUM, "testing", "testGroup", 1, ConfigDef.Width.MEDIUM, "displayName",
+                    Collections.emptyList(),
+                    null, false);
+        }
+    }
+
 }
diff --git a/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java b/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
index ad1bb699508..8a5c00a06e3 100644
--- a/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
+++ b/components/camel-debezium/camel-debezium-db2/src/generated/java/org/apache/camel/component/debezium/configuration/Db2ConnectorEmbeddedDebeziumConfiguration.java
@@ -76,7 +76,7 @@ public class Db2ConnectorEmbeddedDebeziumConfiguration
     private int maxBatchSize = 2048;
     @UriParam(label = LABEL_NAME, defaultValue = "initial")
     private String snapshotMode = "initial";
-    @UriParam(label = LABEL_NAME, defaultValue = "class io.debezium.relational.history.KafkaDatabaseHistory")
+    @UriParam(label = LABEL_NAME, defaultValue = "io.debezium.relational.history.KafkaDatabaseHistory")
     private String databaseHistory = "io.debezium.relational.history.KafkaDatabaseHistory";
 
     /**
diff --git a/components/camel-debezium/camel-debezium-db2/src/generated/resources/org/apache/camel/component/debezium/debezium-db2.json b/components/camel-debezium/camel-debezium-db2/src/generated/resources/org/apache/camel/component/debezium/debezium-db2.json
index 36117a4d273..aae5f027ab4 100644
--- a/components/camel-debezium/camel-debezium-db2/src/generated/resources/org/apache/camel/component/debezium/debezium-db2.json
+++ b/components/camel-debezium/camel-debezium-db2/src/generated/resources/org/apache/camel/component/debezium/debezium-db2.json
@@ -39,7 +39,7 @@
     "columnBlacklist": { "kind": "property", "displayName": "Column Blacklist", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Regular expressions matching columns to exclude from change events (depr [...]
     "columnExcludeList": { "kind": "property", "displayName": "Column Exclude List", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Regular expressions matching columns to exclude from change events" },
     "databaseDbname": { "kind": "property", "displayName": "Database Dbname", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the database from which the connector should capture changes" },
-    "databaseHistory": { "kind": "property", "displayName": "Database History", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "class io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descriptio [...]
+    "databaseHistory": { "kind": "property", "displayName": "Database History", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "T [...]
     "databaseHistoryFileFilename": { "kind": "property", "displayName": "Database History File Filename", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The path to the file that will be used to reco [...]
     "databaseHistoryKafkaBootstrapServers": { "kind": "property", "displayName": "Database History Kafka Bootstrap Servers", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A list of host\/port pairs  [...]
     "databaseHistoryKafkaRecoveryAttempts": { "kind": "property", "displayName": "Database History Kafka Recovery Attempts", "group": "db2", "label": "consumer,db2", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 100, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The number of atte [...]
@@ -97,7 +97,7 @@
     "columnBlacklist": { "kind": "parameter", "displayName": "Column Blacklist", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Regular expressions matching columns to exclude from change events (dep [...]
     "columnExcludeList": { "kind": "parameter", "displayName": "Column Exclude List", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Regular expressions matching columns to exclude from change events" },
     "databaseDbname": { "kind": "parameter", "displayName": "Database Dbname", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the database from which the connector should capture changes" },
-    "databaseHistory": { "kind": "parameter", "displayName": "Database History", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "class io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descripti [...]
+    "databaseHistory": { "kind": "parameter", "displayName": "Database History", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": " [...]
     "databaseHistoryFileFilename": { "kind": "parameter", "displayName": "Database History File Filename", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The path to the file that will be used to rec [...]
     "databaseHistoryKafkaBootstrapServers": { "kind": "parameter", "displayName": "Database History Kafka Bootstrap Servers", "group": "db2", "label": "consumer,db2", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A list of host\/port pairs [...]
     "databaseHistoryKafkaRecoveryAttempts": { "kind": "parameter", "displayName": "Database History Kafka Recovery Attempts", "group": "db2", "label": "consumer,db2", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 100, "configurationClass": "org.apache.camel.component.debezium.configuration.Db2ConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The number of att [...]
diff --git a/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/configuration/MySqlConnectorEmbeddedDebeziumConfiguration.java b/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/configuration/MySqlConnectorEmbeddedDebeziumConfiguration.java
index aee336dbd41..6f5a1e6667d 100644
--- a/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/configuration/MySqlConnectorEmbeddedDebeziumConfiguration.java
+++ b/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/configuration/MySqlConnectorEmbeddedDebeziumConfiguration.java
@@ -26,7 +26,7 @@ public class MySqlConnectorEmbeddedDebeziumConfiguration
     private boolean includeSchemaChanges = true;
     @UriParam(label = LABEL_NAME)
     private String gtidSourceIncludes;
-    @UriParam(label = LABEL_NAME, defaultValue = "class com.mysql.cj.jdbc.Driver")
+    @UriParam(label = LABEL_NAME, defaultValue = "com.mysql.cj.jdbc.Driver")
     private String databaseJdbcDriver = "com.mysql.cj.jdbc.Driver";
     @UriParam(label = LABEL_NAME)
     private String heartbeatActionQuery;
diff --git a/components/camel-debezium/camel-debezium-mysql/src/generated/resources/org/apache/camel/component/debezium/debezium-mysql.json b/components/camel-debezium/camel-debezium-mysql/src/generated/resources/org/apache/camel/component/debezium/debezium-mysql.json
index b0545868eea..7c2da8f97d0 100644
--- a/components/camel-debezium/camel-debezium-mysql/src/generated/resources/org/apache/camel/component/debezium/debezium-mysql.json
+++ b/components/camel-debezium/camel-debezium-mysql/src/generated/resources/org/apache/camel/component/debezium/debezium-mysql.json
@@ -61,7 +61,7 @@
     "databaseHostname": { "kind": "property", "displayName": "Database Hostname", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Resolvable hostname or IP address of the database server." },
     "databaseIncludeList": { "kind": "property", "displayName": "Database Include List", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The databases for which changes are to be captured" },
     "databaseInitialStatements": { "kind": "property", "displayName": "Database Initial Statements", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A semicolon separated list of SQL statements  [...]
-    "databaseJdbcDriver": { "kind": "property", "displayName": "Database Jdbc Driver", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "class com.mysql.cj.jdbc.Driver", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "JDBC Driv [...]
+    "databaseJdbcDriver": { "kind": "property", "displayName": "Database Jdbc Driver", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "com.mysql.cj.jdbc.Driver", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "JDBC Driver cla [...]
     "databasePassword": { "kind": "property", "displayName": "Database Password", "group": "mysql", "label": "consumer,mysql", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Password of the database user to be used w [...]
     "databasePort": { "kind": "property", "displayName": "Database Port", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3306, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Port of the database server." },
     "databaseServerId": { "kind": "property", "displayName": "Database Server Id", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A numeric ID of this database client, which must be unique across all curr [...]
@@ -171,7 +171,7 @@
     "databaseHostname": { "kind": "parameter", "displayName": "Database Hostname", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Resolvable hostname or IP address of the database server." },
     "databaseIncludeList": { "kind": "parameter", "displayName": "Database Include List", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The databases for which changes are to be captured" },
     "databaseInitialStatements": { "kind": "parameter", "displayName": "Database Initial Statements", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A semicolon separated list of SQL statements [...]
-    "databaseJdbcDriver": { "kind": "parameter", "displayName": "Database Jdbc Driver", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "class com.mysql.cj.jdbc.Driver", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "JDBC Dri [...]
+    "databaseJdbcDriver": { "kind": "parameter", "displayName": "Database Jdbc Driver", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "com.mysql.cj.jdbc.Driver", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "JDBC Driver cl [...]
     "databasePassword": { "kind": "parameter", "displayName": "Database Password", "group": "mysql", "label": "consumer,mysql", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Password of the database user to be used  [...]
     "databasePort": { "kind": "parameter", "displayName": "Database Port", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3306, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Port of the database server." },
     "databaseServerId": { "kind": "parameter", "displayName": "Database Server Id", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A numeric ID of this database client, which must be unique across all cur [...]
diff --git a/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java b/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java
index 9fdbdde1c77..377b8d1672c 100644
--- a/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java
+++ b/components/camel-debezium/camel-debezium-oracle/src/generated/java/org/apache/camel/component/debezium/configuration/OracleConnectorEmbeddedDebeziumConfiguration.java
@@ -111,7 +111,7 @@ public class OracleConnectorEmbeddedDebeziumConfiguration
     private long logMiningScnGapDetectionTimeIntervalMaxMs = 20000;
     @UriParam(label = LABEL_NAME, defaultValue = "initial")
     private String snapshotMode = "initial";
-    @UriParam(label = LABEL_NAME, defaultValue = "class io.debezium.relational.history.KafkaDatabaseHistory")
+    @UriParam(label = LABEL_NAME, defaultValue = "io.debezium.relational.history.KafkaDatabaseHistory")
     private String databaseHistory = "io.debezium.relational.history.KafkaDatabaseHistory";
     @UriParam(label = LABEL_NAME, defaultValue = "8192")
     private int maxQueueSize = 8192;
diff --git a/components/camel-debezium/camel-debezium-oracle/src/generated/resources/org/apache/camel/component/debezium/debezium-oracle.json b/components/camel-debezium/camel-debezium-oracle/src/generated/resources/org/apache/camel/component/debezium/debezium-oracle.json
index d193e3f21dc..043ccffc23b 100644
--- a/components/camel-debezium/camel-debezium-oracle/src/generated/resources/org/apache/camel/component/debezium/debezium-oracle.json
+++ b/components/camel-debezium/camel-debezium-oracle/src/generated/resources/org/apache/camel/component/debezium/debezium-oracle.json
@@ -45,7 +45,7 @@
     "converters": { "kind": "property", "displayName": "Converters", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Optional list of custom converters that would be used instead of default o [...]
     "databaseConnectionAdapter": { "kind": "property", "displayName": "Database Connection Adapter", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LogMiner", "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The adapter to [...]
     "databaseDbname": { "kind": "property", "displayName": "Database Dbname", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the database from which the connector should capture  [...]
-    "databaseHistory": { "kind": "property", "displayName": "Database History", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "class io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "d [...]
+    "databaseHistory": { "kind": "property", "displayName": "Database History", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descrip [...]
     "databaseHistoryFileFilename": { "kind": "property", "displayName": "Database History File Filename", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The path to the file that will be use [...]
     "databaseHistoryKafkaBootstrapServers": { "kind": "property", "displayName": "Database History Kafka Bootstrap Servers", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A list of host\/po [...]
     "databaseHistoryKafkaRecoveryAttempts": { "kind": "property", "displayName": "Database History Kafka Recovery Attempts", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 100, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The numbe [...]
@@ -159,7 +159,7 @@
     "converters": { "kind": "parameter", "displayName": "Converters", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Optional list of custom converters that would be used instead of default  [...]
     "databaseConnectionAdapter": { "kind": "parameter", "displayName": "Database Connection Adapter", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LogMiner", "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The adapter t [...]
     "databaseDbname": { "kind": "parameter", "displayName": "Database Dbname", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the database from which the connector should capture [...]
-    "databaseHistory": { "kind": "parameter", "displayName": "Database History", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "class io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", " [...]
+    "databaseHistory": { "kind": "parameter", "displayName": "Database History", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "io.debezium.relational.history.KafkaDatabaseHistory", "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descri [...]
     "databaseHistoryFileFilename": { "kind": "parameter", "displayName": "Database History File Filename", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The path to the file that will be us [...]
     "databaseHistoryKafkaBootstrapServers": { "kind": "parameter", "displayName": "Database History Kafka Bootstrap Servers", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A list of host\/p [...]
     "databaseHistoryKafkaRecoveryAttempts": { "kind": "parameter", "displayName": "Database History Kafka Recovery Attempts", "group": "oracle", "label": "consumer,oracle", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 100, "configurationClass": "org.apache.camel.component.debezium.configuration.OracleConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The numb [...]