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/12/14 17:58:22 UTC
[camel] 02/06: CAMEL-15946: Fix endpoint dsl to output default
value as valid javadoc
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 351569b4bf29fa819058709df59b967c31f561a7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Dec 14 16:52:52 2020 +0100
CAMEL-15946: Fix endpoint dsl to output default value as valid javadoc
---
.../org/apache/camel/tooling/util/JavadocHelper.java | 19 +++++++++++++++++++
.../apache/camel/maven/packaging/EndpointDslMojo.java | 5 ++++-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JavadocHelper.java b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JavadocHelper.java
index de0ac0c..9a89dcf 100644
--- a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JavadocHelper.java
+++ b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/JavadocHelper.java
@@ -118,4 +118,23 @@ public final class JavadocHelper {
s = s.replaceAll("\\\\(http:|https:)", "$1");
return s.trim();
}
+
+ /**
+ * Encodes the text into safe XML by replacing < > and & with XML tokens
+ *
+ * @param text the text
+ * @return the encoded text
+ */
+ public static String xmlEncode(String text) {
+ if (text == null) {
+ return "";
+ }
+ // must replace amp first, so we dont replace < to amp later
+ text = text.replace("&", "&");
+ text = text.replace("\"", """);
+ text = text.replace("<", "<");
+ text = text.replace(">", ">");
+ return text;
+ }
+
}
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 8ea9846..512806c 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
@@ -48,6 +48,7 @@ import org.apache.camel.spi.UriPath;
import org.apache.camel.tooling.model.ComponentModel;
import org.apache.camel.tooling.model.ComponentModel.EndpointOptionModel;
import org.apache.camel.tooling.model.JsonMapper;
+import org.apache.camel.tooling.util.JavadocHelper;
import org.apache.camel.tooling.util.PackageHelper;
import org.apache.camel.tooling.util.Strings;
import org.apache.camel.tooling.util.srcgen.GenericType;
@@ -466,7 +467,9 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
}
// include default value (if any)
if (option.getDefaultValue() != null) {
- baseDesc += "\nDefault: " + option.getDefaultValue();
+ // must xml encode default value so its valid as javadoc
+ String value = JavadocHelper.xmlEncode(option.getDefaultValue().toString());
+ baseDesc += "\nDefault: " + value;
}
baseDesc += "\nGroup: " + option.getGroup();
}