You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/02/17 21:23:48 UTC
[camel] branch main updated: CAMEL-17658 camel-debezium: additionalProperties are trimmed (#6960)
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 <on...@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);