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

davsclaus pushed a commit to branch worktree-snazzy-petting-map
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 399441c7533cd91a7ab4b7f87ee2900cda971fb0
Author: Claus Ibsen <[email protected]>
AuthorDate: Sat Jul 11 09:56:43 2026 +0200

    CAMEL-23988: camel-yaml-dsl - Flatten nested-map multiValue endpoint 
parameters when URI has a path
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../java/org/apache/camel/dsl/yaml/common/YamlSupport.java | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
index ed59e13806fd..aebd4bbda4fd 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
@@ -119,6 +119,20 @@ public final class YamlSupport {
                         }
                     }
 
+                    // flatten multiValue map parameters
+                    for (Map.Entry<String, String> multi : 
factory.multiValuePrefixes().entrySet()) {
+                        Object val = options.get(multi.getKey());
+                        if (val instanceof Map<?, ?> m) {
+                            String prefix = multi.getValue();
+                            for (var entry : m.entrySet()) {
+                                if (entry.getValue() != null) {
+                                    options.put(prefix + entry.getKey(), 
entry.getValue());
+                                }
+                            }
+                            options.remove(multi.getKey());
+                        }
+                    }
+
                     answer += "?" + URISupport.createQueryString(options, 
false);
                 }
             } else {

Reply via email to