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);

Reply via email to