This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 13a2457ae293e954bb36daac3cce08f3027360d2 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Jun 26 10:06:22 2019 +0200 CAMEL-13681: Property binding support should have support for ignore case in property keys --- .../src/main/java/org/apache/camel/main/MainSupport.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java index c9e3ce1..fb8abff 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/MainSupport.java @@ -1015,7 +1015,7 @@ public abstract class MainSupport extends ServiceSupport { // grab the value String value = prop.getProperty(key); String option = key.substring(dot + 1); - if (ObjectHelper.isNotEmpty(value) && ObjectHelper.isNotEmpty(option)) { + if (component != null && ObjectHelper.isNotEmpty(value) && ObjectHelper.isNotEmpty(option)) { Map<String, Object> values = properties.getOrDefault(component, new LinkedHashMap<>()); values.put(option, value); properties.put(component, values); @@ -1029,7 +1029,7 @@ public abstract class MainSupport extends ServiceSupport { // grab the value String value = prop.getProperty(key); String option = key.substring(dot + 1); - if (ObjectHelper.isNotEmpty(value) && ObjectHelper.isNotEmpty(option)) { + if (dataformat != null && ObjectHelper.isNotEmpty(value) && ObjectHelper.isNotEmpty(option)) { Map<String, Object> values = properties.getOrDefault(dataformat, new LinkedHashMap<>()); values.put(option, value); properties.put(dataformat, values); @@ -1043,7 +1043,7 @@ public abstract class MainSupport extends ServiceSupport { // grab the value String value = prop.getProperty(key); String option = key.substring(dot + 1); - if (ObjectHelper.isNotEmpty(value) && ObjectHelper.isNotEmpty(option)) { + if (language != null && ObjectHelper.isNotEmpty(value) && ObjectHelper.isNotEmpty(option)) { Map<String, Object> values = properties.getOrDefault(language, new LinkedHashMap<>()); values.put(option, value); properties.put(language, values); @@ -1051,6 +1051,8 @@ public abstract class MainSupport extends ServiceSupport { } } + // TODO: filter out duplicte properties due to ignore-case + if (!properties.isEmpty()) { long total = properties.values().stream().mapToLong(Map::size).sum(); LOG.info("Auto configuring {} components/dataformat/languages from loaded properties: {}", properties.size(), total); @@ -1060,6 +1062,9 @@ public abstract class MainSupport extends ServiceSupport { Map<String, Object> values = properties.get(obj); setPropertiesOnTarget(camelContext, obj, values, true, true); } + + // TODO: Log if any options was not configured (and check if they are on classpath) + } protected void autoConfigurationFromRegistry(CamelContext camelContext, boolean deepNesting) throws Exception {