CAMEL-8107: Allow to use property placeholder with default values without having to setup the properties component
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/74821fda Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/74821fda Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/74821fda Branch: refs/heads/camel-2.14.x Commit: 74821fdafbd393d9a6bdbcda142f5e05e3883d32 Parents: 869f1b5 Author: Claus Ibsen <davscl...@apache.org> Authored: Wed Dec 3 07:34:36 2014 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Wed Dec 3 08:54:16 2014 +0100 ---------------------------------------------------------------------- .../camel/component/properties/PropertiesComponent.java | 10 ++++++++++ .../cdi/component/properties/CdiPropertiesComponent.java | 2 +- .../cdi/component/properties/CdiPropertiesParser.java | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/74821fda/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java index e30fb03..247c357 100644 --- a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java +++ b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java @@ -339,6 +339,16 @@ public class PropertiesComponent extends DefaultComponent { } @Override + protected void doStart() throws Exception { + super.doStart(); + + // inject the component to the parser + if (propertiesParser instanceof DefaultPropertiesParser) { + ((DefaultPropertiesParser) propertiesParser).setPropertiesComponent(this); + } + } + + @Override protected void doStop() throws Exception { cacheMap.clear(); functions.clear(); http://git-wip-us.apache.org/repos/asf/camel/blob/74821fda/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesComponent.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesComponent.java index dd0b3f6..921f6a1 100644 --- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesComponent.java +++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesComponent.java @@ -27,7 +27,7 @@ import org.apache.camel.component.properties.PropertiesComponent; public class CdiPropertiesComponent extends PropertiesComponent { public CdiPropertiesComponent() { - setPropertiesParser(new CdiPropertiesParser()); + setPropertiesParser(new CdiPropertiesParser(this)); } } http://git-wip-us.apache.org/repos/asf/camel/blob/74821fda/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesParser.java ---------------------------------------------------------------------- diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesParser.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesParser.java index 332b7f6..e9cde59 100644 --- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesParser.java +++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/component/properties/CdiPropertiesParser.java @@ -19,6 +19,7 @@ package org.apache.camel.cdi.component.properties; import java.util.Properties; import org.apache.camel.component.properties.DefaultPropertiesParser; +import org.apache.camel.component.properties.PropertiesComponent; import org.apache.deltaspike.core.api.config.ConfigResolver; /** @@ -28,6 +29,10 @@ import org.apache.deltaspike.core.api.config.ConfigResolver; */ public class CdiPropertiesParser extends DefaultPropertiesParser { + public CdiPropertiesParser(PropertiesComponent propertiesComponent) { + super(propertiesComponent); + } + @Override public String parseProperty(String key, String value, Properties properties) { String answer = ConfigResolver.getPropertyValue(key);