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 241daa0248270..e612d186e20fa 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 @@ -16,6 +16,8 @@ */ package org.apache.camel.component.kamelet; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -132,6 +134,18 @@ protected Endpoint createEndpoint(String uri, String remaining, Map entry : parameters.entrySet()) { + if (entry.getValue() instanceof String s + && !s.startsWith(URISupport.RAW_TOKEN_PREFIX + "(") + && !s.startsWith(URISupport.RAW_TOKEN_PREFIX + "{")) { + entry.setValue(URLDecoder.decode(s, StandardCharsets.UTF_8)); + } + } + // 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 diff --git a/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java b/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java index 43edd497bb15e..8b78d19146e82 100644 --- a/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java +++ b/core/camel-base/src/main/java/org/apache/camel/component/properties/DefaultPropertiesParser.java @@ -514,7 +514,7 @@ private String doGetPropertyValue(String key, String defaultValue) { if (answer == null) { answer = value; } - return answer; + return answer != null ? answer.trim() : null; } }