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 2019/08/24 07:20:25 UTC

[camel] 01/03: CAMEL-13870: Better API and make endpoint configurer static

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

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

commit b4a21287871762d5af3f7bc5020c0e7f98b69ec3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Aug 24 09:11:34 2019 +0200

    CAMEL-13870: Better API and make endpoint configurer static
---
 .../tools/apt/EndpointPropertyConfigurerGenerator.java      | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointPropertyConfigurerGenerator.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointPropertyConfigurerGenerator.java
index ecf7777..abb81ee 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointPropertyConfigurerGenerator.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointPropertyConfigurerGenerator.java
@@ -91,22 +91,21 @@ public final class EndpointPropertyConfigurerGenerator {
             w.write(" */\n");
             w.write("public class " + cn + " extends PropertyConfigurerSupport implements TriPropertyConfigurer {\n");
             w.write("\n");
-            w.write("    private final Map<String, TriConsumer<CamelContext, Object, Object>> writes = new HashMap<>(" + size + ");\n");
-            w.write("\n");
-
-            w.write("    public " + cn + "() {\n");
+            w.write("    private static final Map<String, TriConsumer<CamelContext, Object, Object>> WRITES;\n");
+            w.write("    static {\n");
+            w.write("        Map<String, TriConsumer<CamelContext, Object, Object>> map = new HashMap<>(" + size + ");\n");
             for (EndpointOption option : options) {
                 String getOrSet = option.getName();
                 getOrSet = Character.toUpperCase(getOrSet.charAt(0)) + getOrSet.substring(1);
                 String setterLambda = setterLambda(en, getOrSet, option.getType(), option.getConfigurationField());
-                w.write("        writes.put(\"" + option.getName() + "\", (camelContext, endpoint, value) -> " + setterLambda + ");\n");
+                w.write("        map.put(\"" + option.getName() + "\", (camelContext, endpoint, value) -> " + setterLambda + ");\n");
             }
-
+            w.write("        WRITES = map;\n");
             w.write("    }\n");
             w.write("\n");
             w.write("    @Override\n");
             w.write("    public Map<String, TriConsumer<CamelContext, Object, Object>> getWriteOptions(CamelContext camelContext) {\n");
-            w.write("        return writes;\n");
+            w.write("        return WRITES;\n");
             w.write("    }\n");
             w.write("\n");
             w.write("}\n");