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);

Reply via email to