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 2022/08/11 09:52:12 UTC

[camel] branch camel-3.18.x updated: Camel 18370 (#8149)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-3.18.x by this push:
     new 245c9d1b0a6 Camel 18370 (#8149)
245c9d1b0a6 is described below

commit 245c9d1b0a68ff4d93355693ebbc08c7a9cf8356
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 11 11:51:13 2022 +0200

    Camel 18370 (#8149)
    
    * Polished
    
    * CAMEL-18370: camel-kamelet - RAW parameters are not resolved which causes the parameter to have RAW(xxx) as the value.
---
 .../org/apache/camel/component/kamelet/KameletComponent.java     | 9 ++++++++-
 .../camel/component/kamelet/KameletGlobalPropertiesTest.java     | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java b/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
index 054b383ffcc..677a397f62b 100644
--- a/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
+++ b/components/camel-kamelet/src/main/java/org/apache/camel/component/kamelet/KameletComponent.java
@@ -41,6 +41,7 @@ import org.apache.camel.support.LifecycleStrategySupport;
 import org.apache.camel.support.RouteTemplateHelper;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.StopWatch;
+import org.apache.camel.util.URISupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -108,6 +109,12 @@ public class KameletComponent extends DefaultComponent {
         parameters.remove(PARAM_ROUTE_ID);
         parameters.remove(PARAM_LOCATION);
 
+        // manually need to resolve raw parameters as input to the kamelet because
+        // resolveRawParameterValues is false
+        // this ensures that parameters such as passwords are used as-is and not encoded
+        // but this requires to use RAW() syntax in the kamelet template.
+        URISupport.resolveRawParameterValues(parameters);
+
         final KameletEndpoint endpoint;
 
         if (Kamelet.SOURCE_ID.equals(remaining) || Kamelet.SINK_ID.equals(remaining)) {
@@ -218,7 +225,7 @@ public class KameletComponent extends DefaultComponent {
 
             //
             // Add a custom converter to convert a RouteTemplateDefinition to a RouteDefinition
-            // and make sure consumerU URIs are unique.
+            // and make sure consumer URIs are unique.
             //
             getCamelContext().adapt(ModelCamelContext.class).addRouteTemplateDefinitionConverter(
                     templateId,
diff --git a/components/camel-kamelet/src/test/java/org/apache/camel/component/kamelet/KameletGlobalPropertiesTest.java b/components/camel-kamelet/src/test/java/org/apache/camel/component/kamelet/KameletGlobalPropertiesTest.java
index b713f1184fd..471a763cb2f 100644
--- a/components/camel-kamelet/src/test/java/org/apache/camel/component/kamelet/KameletGlobalPropertiesTest.java
+++ b/components/camel-kamelet/src/test/java/org/apache/camel/component/kamelet/KameletGlobalPropertiesTest.java
@@ -163,7 +163,7 @@ public class KameletGlobalPropertiesTest extends CamelTestSupport {
                         .templateParameter("proxyPwd")
                         .from("kamelet:source")
                         .log("info")
-                        .to("http://localhost:8080?proxyAuthUsername={{proxyUsr}}&proxyAuthPassword={{proxyPwd}}");
+                        .to("http://localhost:8080?proxyAuthUsername=RAW({{proxyUsr}})&proxyAuthPassword=RAW({{proxyPwd}})");
 
                 // template
                 routeTemplate("timer-source")