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
The following commit(s) were added to refs/heads/main by this push: new 840e505 CAMEL-17658 camel-debezium: additionalProperties are trimmed (#6960) 840e505 is described below commit 840e505860937a264239566f67731fdf6df98ba2 Author: JiriOndrusek <ondrusek.j...@gmail.com> AuthorDate: Thu Feb 17 22:23:05 2022 +0100 CAMEL-17658 camel-debezium: additionalProperties are trimmed (#6960) --- .../camel/component/debezium/DebeziumMySqlComponentTest.java | 2 ++ .../org/apache/camel/support/PropertyBindingSupport.java | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/components/camel-debezium/camel-debezium-mysql/src/test/java/org/apache/camel/component/debezium/DebeziumMySqlComponentTest.java b/components/camel-debezium/camel-debezium-mysql/src/test/java/org/apache/camel/component/debezium/DebeziumMySqlComponentTest.java index 0e6490e..eed49d9 100644 --- a/components/camel-debezium/camel-debezium-mysql/src/test/java/org/apache/camel/component/debezium/DebeziumMySqlComponentTest.java +++ b/components/camel-debezium/camel-debezium-mysql/src/test/java/org/apache/camel/component/debezium/DebeziumMySqlComponentTest.java @@ -39,6 +39,7 @@ public class DebeziumMySqlComponentTest { params.put("databaseServerName", "test"); params.put("databaseServerId", "1234"); params.put("databaseHistoryFileFilename", "/db_history_file_test"); + params.put("additionalProperties.database.connectionTimeZone", "CET"); final String remaining = "test_name"; final String uri = "debezium:mysql?name=test_name&offsetStorageFileName=/test&" @@ -62,6 +63,7 @@ public class DebeziumMySqlComponentTest { assertEquals("test", configuration.getDatabaseServerName()); assertEquals(1234L, configuration.getDatabaseServerId()); assertEquals("/db_history_file_test", configuration.getDatabaseHistoryFileFilename()); + assertEquals("CET", configuration.getAdditionalProperties().get("database.connectionTimeZone")); } } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java index 75a7209..b0068e5 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java @@ -33,6 +33,8 @@ import java.util.Optional; import java.util.Properties; import java.util.Set; import java.util.TreeMap; +import java.util.stream.Collectors; +import java.util.stream.IntStream; import org.apache.camel.CamelContext; import org.apache.camel.ExtendedCamelContext; @@ -335,8 +337,14 @@ public final class PropertyBindingSupport { // prepare for next iterator newTarget = prop; newClass = newTarget.getClass(); - newName = parts[i + 1]; - + //do not ignore remaining parts, which was not traversed + if (parts.length > 1 && i < parts.length - 2) { + newName = IntStream.range(i + 1, parts.length) + .mapToObj(j -> parts[j]) + .collect(Collectors.joining(".")); + } else { + newName = parts[i + 1]; + } // if we have not yet found a configurer for the new target if (configurer == null) { configurer = PropertyConfigurerHelper.resolvePropertyConfigurer(camelContext, newTarget);