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/e9855f10
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e9855f10
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e9855f10

Branch: refs/heads/master
Commit: e9855f100b981957483af976c108cef16aeb921e
Parents: a1146ee
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 07:36:39 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/e9855f10/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/e9855f10/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/e9855f10/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