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 2020/12/05 14:10:04 UTC
[camel] 01/02: CAMEL-15764: Setting properties via configurer
should ignore case by default as end users may use mixed case and the API
components rely on parameter names with a specific case
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 a177812a5486affd534bba9006f0f1fd4be7afbc
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Dec 5 13:14:46 2020 +0100
CAMEL-15764: Setting properties via configurer should ignore case by default as end users may use mixed case and the API components rely on parameter names with a specific case
---
.../java/org/apache/camel/reifier/dataformat/DataFormatReifier.java | 1 +
.../java/org/apache/camel/reifier/language/ExpressionReifier.java | 1 +
.../src/main/java/org/apache/camel/support/DefaultComponent.java | 4 ++--
.../src/main/java/org/apache/camel/support/DefaultEndpoint.java | 4 ++--
.../main/java/org/apache/camel/support/RestProducerFactoryHelper.java | 2 +-
.../java/org/apache/camel/support/component/AbstractApiComponent.java | 1 +
6 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
index e51fe35..f3e5dd4 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/dataformat/DataFormatReifier.java
@@ -317,6 +317,7 @@ public abstract class DataFormatReifier<T extends DataFormatDefinition> extends
.withTarget(dataFormat)
.withReference(true)
.withMandatory(true)
+ .withIgnoreCase(true)
.withConfigurer(configurer)
.withProperties(properties)
.bind();
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java
index dd775a1..4e50324 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/language/ExpressionReifier.java
@@ -275,6 +275,7 @@ public class ExpressionReifier<T extends ExpressionDefinition> extends AbstractR
}
PropertyBindingSupport.build()
.withConfigurer(configurer)
+ .withIgnoreCase(true)
.bind(camelContext, target, properties);
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
index 6df994b..cf3bdf1 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java
@@ -447,8 +447,8 @@ public abstract class DefaultComponent extends ServiceSupport implements Compone
} else {
configurer = null;
}
- // use advanced binding
- PropertyBindingSupport.build().withConfigurer(configurer).bind(camelContext, bean, parameters);
+ // use configurer and ignore case as end users may type an option name with mixed case
+ PropertyBindingSupport.build().withConfigurer(configurer).withIgnoreCase(true).bind(camelContext, bean, parameters);
}
@Override
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java
index 92d008f..3e89bba 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java
@@ -427,8 +427,8 @@ public abstract class DefaultEndpoint extends ServiceSupport implements Endpoint
} else if (bean instanceof PropertyConfigurerAware) {
configurer = ((PropertyConfigurerAware) bean).getPropertyConfigurer(bean);
}
- // use advanced binding
- PropertyBindingSupport.build().withConfigurer(configurer).bind(camelContext, bean, parameters);
+ // use configurer and ignore case as end users may type an option name with mixed case
+ PropertyBindingSupport.build().withConfigurer(configurer).withIgnoreCase(true).bind(camelContext, bean, parameters);
}
/**
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/RestProducerFactoryHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/RestProducerFactoryHelper.java
index d9b14a9..2910e83 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/RestProducerFactoryHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/RestProducerFactoryHelper.java
@@ -76,7 +76,7 @@ public final class RestProducerFactoryHelper {
// component was not added to the context we can configure it
final Component newlyCreated = camelContext.getComponent(componentName, true, false);
- PropertyBindingSupport.build().withRemoveParameters(false)
+ PropertyBindingSupport.build().withRemoveParameters(false).withIgnoreCase(true)
.withConfigurer(newlyCreated.getComponentPropertyConfigurer())
.bind(camelContext, newlyCreated, componentProperties);
ServiceHelper.startService(newlyCreated);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java
index 5090e33..38d9f1a 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java
@@ -131,6 +131,7 @@ public abstract class AbstractApiComponent<E extends Enum<E> & ApiName, T, S ext
.resolvePropertyConfigurer(endpointConfiguration.getClass().getName(), getCamelContext());
PropertyBindingSupport.build()
.withConfigurer(configurer)
+ .withIgnoreCase(true)
.bind(getCamelContext(), endpointConfiguration, componentProperties);
return endpointConfiguration;
}