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/04 13:52:23 UTC

[camel] 03/03: CAMEL-15478: Roaster workaround for getting @param description where spaces would be clipped for new lines.

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 d7c080cc96abb8c2dbee1dba8798a6e60eb01617
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Sep 4 15:51:46 2020 +0200

    CAMEL-15478: Roaster workaround for getting @param description where spaces would be clipped for new lines.
---
 .../main/java/org/apache/camel/maven/JavaSourceParser.java | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
index 5c46a7f..e88a5ad 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.jboss.forge.roaster.Roaster;
+import org.jboss.forge.roaster._shade.org.eclipse.jdt.core.dom.TagElement;
 import org.jboss.forge.roaster.model.JavaDocTag;
 import org.jboss.forge.roaster.model.source.JavaClassSource;
 import org.jboss.forge.roaster.model.source.MethodSource;
@@ -105,7 +106,7 @@ public class JavaSourceParser {
 
     private static String getJavadocValue(List<JavaDocTag> params, String name) {
         for (JavaDocTag tag : params) {
-            String key = tag.getValue();
+            String key = getRoasterJavadocFixed(tag);
             if (key.startsWith(name)) {
                 String desc = key.substring(name.length());
                 desc = sanitizeJavaDocValue(desc);
@@ -115,6 +116,17 @@ public class JavaSourceParser {
         return "";
     }
 
+    private static String getRoasterJavadocFixed(JavaDocTag tag) {
+        TagElement te = (TagElement) tag.getInternal();
+        StringBuilder sb = new StringBuilder();
+        for (Object fragment : te.fragments()) {
+            sb.append(fragment);
+            sb.append(" ");
+        }
+        return sb.toString().trim();
+
+    }
+
     private static String sanitizeJavaDocValue(String desc) {
         // remove leading - and whitespaces
         while (desc.startsWith("-")) {