Author: ningjiang
Date: Fri Oct 26 12:02:45 2012
New Revision: 1402476

URL: http://svn.apache.org/viewvc?rev=1402476&view=rev
Log:
CAMEL-5744 applied patch with thanks to Aki

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    
camel/branches/camel-2.9.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1402383
  Merged /camel/branches/camel-2.10.x:r1402468

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.9.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java?rev=1402476&r1=1402475&r2=1402476&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java
 (original)
+++ 
camel/branches/camel-2.9.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/EndpointDefinitionParser.java
 Fri Oct 26 12:02:45 2012
@@ -27,7 +27,6 @@ import org.apache.aries.blueprint.Parser
 import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
 import org.apache.camel.component.cxf.CxfBlueprintEndpoint;
 import org.apache.cxf.common.util.StringUtils;
-import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
 import org.apache.cxf.helpers.DOMUtils;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.blueprint.reflect.Metadata;
@@ -54,12 +53,16 @@ public class EndpointDefinitionParser ex
                 address = val;
             } else if (isAttribute(pre, name)) {
                 if ("endpointName".equals(name) || "serviceName".equals(name)) 
{
-                    QName q = parseQName(element, val);
-                    endpointConfig.addProperty(name, createValue(context, q));
+                    if (isPlaceHolder(val)) {
+                        endpointConfig.addProperty(name + "String", 
createValue(context, val));
+                    } else {
+                        QName q = parseQName(element, val);
+                        endpointConfig.addProperty(name, createValue(context, 
q));
+                    }
                 } else if ("depends-on".equals(name)) {
                     endpointConfig.addDependsOn(val);
                 } else if (!"name".equals(name)) {
-                    endpointConfig.addProperty(name, 
AbstractBPBeanDefinitionParser.createValue(context, val));
+                    endpointConfig.addProperty(name, createValue(context, 
val));
                 }
             }
         }
@@ -89,11 +92,19 @@ public class EndpointDefinitionParser ex
 
         endpointConfig.addProperty("bus", getBusRef(context, bus));
         endpointConfig.setDestroyMethod("destroy");
-        
endpointConfig.addArgument(AbstractBPBeanDefinitionParser.createValue(context, 
address), String.class.getName(), 0);
+        endpointConfig.addArgument(createValue(context, address), 
String.class.getName(), 0);
         endpointConfig.addArgument(createRef(context, 
"blueprintBundleContext"),
                                    BundleContext.class.getName(), 1);
 
         return endpointConfig;
     }
+
+    private static boolean isPlaceHolder(String value) {
+        if (value != null && (value.startsWith("${") && value.endsWith("}")
+            || value.startsWith("{{") && value.endsWith("}}"))) {
+            return true;
+        }
+        return false;
+    }
     
 }


Reply via email to