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

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

commit e493bc81adc153f79df1f071f46081051d585bd9
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Thu Feb 10 18:26:03 2022 +0100

    (chores) camel-maven-package-plugin: refactoring
    
    Replace a few long chains of string concatenation with StringBuilder
---
 .../camel/maven/packaging/EndpointDslMojo.java     | 96 +++++++++++++---------
 1 file changed, 58 insertions(+), 38 deletions(-)

diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
index 21622aa..1b028e8 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
@@ -332,7 +332,8 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
 
         javaClass.addAnnotation(Generated.class).setStringValue("value", 
EndpointDslMojo.class.getName());
 
-        processEndpoints(model, consumerClass, advancedConsumerClass, 
producerClass, advancedProducerClass, builderClass, advancedBuilderClass);
+        processEndpoints(model, consumerClass, advancedConsumerClass, 
producerClass, advancedProducerClass, builderClass,
+                advancedBuilderClass);
 
         javaClass.removeImport("T");
 
@@ -363,7 +364,9 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
                 false);
     }
 
-    private void processMasterScheme(List<ComponentModel> aliases, 
List<Method> staticBuilders, JavaClass javaClass, JavaClass builderClass, 
JavaClass dslClass) {
+    private void processMasterScheme(
+            List<ComponentModel> aliases, List<Method> staticBuilders, 
JavaClass javaClass, JavaClass builderClass,
+            JavaClass dslClass) {
         Method method;
         // we only want the first alias (master scheme) as static builders
         boolean firstAlias = true;
@@ -429,7 +432,9 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
         }
     }
 
-    private void processAliases(ComponentModel model, List<Method> 
staticBuilders, JavaClass javaClass, JavaClass builderClass, JavaClass 
dslClass) {
+    private void processAliases(
+            ComponentModel model, List<Method> staticBuilders, JavaClass 
javaClass, JavaClass builderClass,
+            JavaClass dslClass) {
         Method method;
         String desc = getMainDescription(model);
         String methodName = camelCaseLower(model.getScheme());
@@ -478,7 +483,9 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
         staticBuilders.add(method);
     }
 
-    private void processEndpoints(ComponentModel model, JavaClass 
consumerClass, JavaClass advancedConsumerClass, JavaClass producerClass, 
JavaClass advancedProducerClass, JavaClass builderClass, JavaClass 
advancedBuilderClass) {
+    private void processEndpoints(
+            ComponentModel model, JavaClass consumerClass, JavaClass 
advancedConsumerClass, JavaClass producerClass,
+            JavaClass advancedProducerClass, JavaClass builderClass, JavaClass 
advancedBuilderClass) {
         for (EndpointOptionModel option : model.getEndpointOptions()) {
 
             // skip all @UriPath parameters as the endpoint DSL is for query
@@ -487,7 +494,8 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
                 continue;
             }
 
-            List<JavaClass> targets = evalTargetsToProcess(consumerClass, 
advancedConsumerClass, producerClass, advancedProducerClass, builderClass, 
advancedBuilderClass, option);
+            List<JavaClass> targets = evalTargetsToProcess(consumerClass, 
advancedConsumerClass, producerClass,
+                    advancedProducerClass, builderClass, advancedBuilderClass, 
option);
 
             for (JavaClass target : targets) {
                 processTarget(option, target);
@@ -501,10 +509,7 @@ public class EndpointDslMojo extends AbstractGeneratorMojo 
{
         }
 
         // basic description
-        String baseDesc = option.getDescription();
-        if (!Strings.isEmpty(baseDesc)) {
-            baseDesc = createBaseDesc(option, baseDesc);
-        }
+        final String baseDesc = createBaseDescription(option);
 
         boolean multiValued = option.isMultiValue();
         if (multiValued) {
@@ -529,10 +534,11 @@ public class EndpointDslMojo extends 
AbstractGeneratorMojo {
         if (option.isDeprecated()) {
             fluent.addAnnotation(Deprecated.class);
         }
-        String text = desc;
-        text += "\n\n@param " + option.getName() + " the value to set";
-        text += "\n@return the dsl builder\n";
-        fluent.getJavaDoc().setText(text);
+
+        final StringBuilder textBuilder = new StringBuilder(desc);
+        textBuilder.append("\n\n@param ").append(option.getName()).append(" 
the value to set");
+        textBuilder.append("\n@return the dsl builder\n");
+        fluent.getJavaDoc().setText(textBuilder.toString());
 
         if (!"String".equals(optionJavaType(option))) {
             // regular option by String parameter variant
@@ -551,10 +557,11 @@ public class EndpointDslMojo extends 
AbstractGeneratorMojo {
             if (option.isDeprecated()) {
                 fluent.addAnnotation(Deprecated.class);
             }
-            text = desc;
-            text += "\n\n@param " + option.getName() + " the value to set";
-            text += "\n@return the dsl builder\n";
-            fluent.getJavaDoc().setText(text);
+
+            final StringBuilder optionTextSb = new StringBuilder(desc);
+            optionTextSb.append("\n\n@param 
").append(option.getName()).append(" the value to set");
+            optionTextSb.append("\n@return the dsl builder\n");
+            fluent.getJavaDoc().setText(optionTextSb.toString());
         }
     }
 
@@ -576,11 +583,11 @@ public class EndpointDslMojo extends 
AbstractGeneratorMojo {
             fluent.addAnnotation(Deprecated.class);
         }
 
-        String text = desc;
-        text += "\n\n@param key the option key";
-        text += "\n@param value the option value";
-        text += "\n@return the dsl builder\n";
-        fluent.getJavaDoc().setText(text);
+        final StringBuilder textBuilder = new StringBuilder(desc);
+        textBuilder.append("\n\n@param key the option key");
+        textBuilder.append("\n@param value the option value");
+        textBuilder.append("\n@return the dsl builder\n");
+        fluent.getJavaDoc().setText(textBuilder.toString());
         // add multi value method that takes a Map
         fluent = target.addMethod().setDefault().setName(option.getName())
                 .setReturnType(new 
GenericType(loadClass(target.getCanonicalName())))
@@ -591,44 +598,57 @@ public class EndpointDslMojo extends 
AbstractGeneratorMojo {
         if (option.isDeprecated()) {
             fluent.addAnnotation(Deprecated.class);
         }
-        text = desc;
-        text += "\n\n@param values the values";
-        text += "\n@return the dsl builder\n";
-        fluent.getJavaDoc().setText(text);
+
+        final StringBuilder sb = new StringBuilder(desc);
+
+        sb.append("\n\n@param values the values");
+        sb.append("\n@return the dsl builder\n");
+        fluent.getJavaDoc().setText(sb.toString());
     }
 
-    private String createBaseDesc(EndpointOptionModel option, String baseDesc) 
{
+    private String createBaseDescription(EndpointOptionModel option) {
+        String baseDesc = option.getDescription();
+        if (Strings.isEmpty(baseDesc)) {
+            return baseDesc;
+
+        }
+
         // must xml encode description as in some rare cases it contains & 
chars which is invalid javadoc
         baseDesc = JavadocHelper.xmlEncode(baseDesc);
 
+        StringBuilder baseDescBuilder = new StringBuilder(baseDesc);
         if (!baseDesc.endsWith(".")) {
-            baseDesc += ".";
+            baseDescBuilder.append(".");
         }
-        baseDesc += "\n";
-        baseDesc += "@@REPLACE_ME@@";
+        baseDescBuilder.append("\n");
+        baseDescBuilder.append("@@REPLACE_ME@@");
         if (option.isMultiValue()) {
-            baseDesc += "\nThe option is multivalued, and you can use the " + 
option.getName()
-                        + "(String, Object) method to add a value (call the 
method multiple times to set more values).";
+            baseDescBuilder.append("\nThe option is multivalued, and you can 
use the ")
+                    .append(option.getName())
+                    .append("(String, Object) method to add a value (call the 
method multiple times to set more values).");
         }
-        baseDesc += "\n";
+        baseDescBuilder.append("\n");
         // the Endpoint DSL currently requires to provide the entire
         // context-path and not as individual options
         // so lets only mark query parameters that are required as
         // required
         if ("parameter".equals(option.getKind()) && option.isRequired()) {
-            baseDesc += "\nRequired: true";
+            baseDescBuilder.append("\nRequired: true");
         }
         // include default value (if any)
         if (option.getDefaultValue() != null) {
             // must xml encode default value so its valid as javadoc
             String value = 
JavadocHelper.xmlEncode(option.getDefaultValue().toString());
-            baseDesc += "\nDefault: " + value;
+            baseDescBuilder.append("\nDefault: ").append(value);
         }
-        baseDesc += "\nGroup: " + option.getGroup();
-        return baseDesc;
+        baseDescBuilder.append("\nGroup: ").append(option.getGroup());
+
+        return baseDescBuilder.toString();
     }
 
-    private List<JavaClass> evalTargetsToProcess(JavaClass consumerClass, 
JavaClass advancedConsumerClass, JavaClass producerClass, JavaClass 
advancedProducerClass, JavaClass builderClass, JavaClass advancedBuilderClass, 
EndpointOptionModel option) {
+    private List<JavaClass> evalTargetsToProcess(
+            JavaClass consumerClass, JavaClass advancedConsumerClass, 
JavaClass producerClass, JavaClass advancedProducerClass,
+            JavaClass builderClass, JavaClass advancedBuilderClass, 
EndpointOptionModel option) {
         List<JavaClass> targets = new ArrayList<>();
         String label = option.getLabel() != null ? option.getLabel() : "";
         if (label != null) {

Reply via email to