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 2020/09/25 18:45:06 UTC

[camel] 09/16: CAMEL-15567: components - Generate source code for creating endpoint uri via a map of properties. WIP

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

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

commit 21ca93638a992a2a9c3bbe12e790deea1417d554
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Sep 25 12:52:53 2020 +0200

    CAMEL-15567: components - Generate source code for creating endpoint uri via a map of properties. WIP
---
 .../camel/support/component/EndpointUriAssemblerSupport.java  |  3 +++
 .../camel/maven/packaging/EndpointUriAssemblerGenerator.java  | 11 ++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointUriAssemblerSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointUriAssemblerSupport.java
index 9b5a6f6..9dfa259 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointUriAssemblerSupport.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/component/EndpointUriAssemblerSupport.java
@@ -58,6 +58,9 @@ public abstract class EndpointUriAssemblerSupport {
                 }
             }
         }
+
+        // TODO: value == defaultValue and required = false => remove from path as that is better (eg camel-jms)
+
         return uri;
     }
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriAssemblerGenerator.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriAssemblerGenerator.java
index abba8520..ebb61f9 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriAssemblerGenerator.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriAssemblerGenerator.java
@@ -75,7 +75,7 @@ public final class EndpointUriAssemblerGenerator {
         w.write("\n");
         for (BaseOptionModel option : model.getEndpointPathOptions()) {
             w.write("        uri = buildPathParameter(camelContext, syntax, uri, \"" + option.getName() + "\", "
-                    + option.getDefaultValue() + ", " + option.isRequired() + ", parameters);\n");
+                    + defaultValue(option) + ", " + option.isRequired() + ", parameters);\n");
         }
         w.write("        uri = buildQueryParameters(camelContext, uri, parameters);\n");
         w.write("        return uri;\n");
@@ -108,4 +108,13 @@ public final class EndpointUriAssemblerGenerator {
         return base;
     }
 
+    private static Object defaultValue(BaseOptionModel option) {
+        Object obj = option.getDefaultValue();
+        if (obj instanceof String) {
+            return "\"" + obj + "\"";
+        } else {
+            return obj;
+        }
+    }
+
 }