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 2021/03/22 15:07:22 UTC
[camel] 02/02: CAMEL-16384: camel-spring -
BridgePropertyPlaceholderConfigurer should be LoadablePropertiesSource
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 64fa5b1c52d1c0d213d1c1183c8233a3261b749a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Mar 22 16:05:41 2021 +0100
CAMEL-16384: camel-spring - BridgePropertyPlaceholderConfigurer should be LoadablePropertiesSource
---
.../spi/BridgePropertyPlaceholderConfigurer.java | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
index e97c81b..7df8631 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/BridgePropertyPlaceholderConfigurer.java
@@ -17,9 +17,11 @@
package org.apache.camel.spring.spi;
import java.util.Properties;
+import java.util.function.Predicate;
import org.apache.camel.component.properties.PropertiesLookup;
import org.apache.camel.component.properties.PropertiesParser;
+import org.apache.camel.spi.LoadablePropertiesSource;
import org.apache.camel.spi.PropertiesSource;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
@@ -33,7 +35,7 @@ import org.springframework.util.PropertyPlaceholderHelper;
* placeholder mechanism.
*/
public class BridgePropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer
- implements PropertiesParser, PropertiesSource {
+ implements PropertiesParser, PropertiesSource, LoadablePropertiesSource {
// NOTE: this class must be in the spi package as if its in the root package, then Spring fails to parse the XML
// files due some weird spring issue. But that is okay as having this class in the spi package is fine anyway.
@@ -138,6 +140,24 @@ public class BridgePropertyPlaceholderConfigurer extends PropertyPlaceholderConf
return properties.getProperty(name);
}
+ @Override
+ public Properties loadProperties() {
+ return properties;
+ }
+
+ @Override
+ public Properties loadProperties(Predicate<String> filter) {
+ Properties props = new Properties();
+
+ for (String name : properties.stringPropertyNames()) {
+ if (filter.test(name)) {
+ props.put(name, properties.get(name));
+ }
+ }
+
+ return props;
+ }
+
private class BridgePropertyPlaceholderResolver implements PropertyPlaceholderHelper.PlaceholderResolver {
private final PropertiesLookup properties;