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 19:06:49 UTC
[camel] 01/02: CAMEL-15946: Fix endpoint and component dsl to
output source with valid javadoc that needs to be XML escaped.
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 3633ff1bb8390622dc582fdfa475a7aa334a8270
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Dec 14 19:04:13 2020 +0100
CAMEL-15946: Fix endpoint and component dsl to output source with valid javadoc that needs to be XML escaped.
---
.../dsl/component/ComponentDslBuilderFactoryGenerator.java | 5 ++++-
.../dsl/component/ComponentDslInnerBuilderGenerator.java | 11 +++++++----
.../dsl/component/ComponentsBuilderFactoryGenerator.java | 6 +++++-
3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java
index 6640ba1..05d22d3 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslBuilderFactoryGenerator.java
@@ -138,6 +138,9 @@ public final class ComponentDslBuilderFactoryGenerator {
method.addAnnotation(Deprecated.class);
}
- method.getJavaDoc().setFullText(DslHelper.getMainDescriptionWithoutPathOptions(componentModel));
+ String doc = DslHelper.getMainDescriptionWithoutPathOptions(componentModel);
+ // must xml encode description as in some rare cases it contains & chars which is invalid javadoc
+ doc = JavadocHelper.xmlEncode(doc);
+ method.getJavaDoc().setText(doc);
}
}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslInnerBuilderGenerator.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslInnerBuilderGenerator.java
index 5271019..dbb3db1 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslInnerBuilderGenerator.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentDslInnerBuilderGenerator.java
@@ -18,6 +18,7 @@ package org.apache.camel.maven.packaging.dsl.component;
import org.apache.camel.maven.packaging.dsl.DslHelper;
import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.tooling.util.JavadocHelper;
import org.apache.camel.tooling.util.srcgen.JavaClass;
import org.apache.camel.tooling.util.srcgen.Method;
import org.apache.commons.lang3.StringUtils;
@@ -81,24 +82,26 @@ public final class ComponentDslInnerBuilderGenerator {
if (componentOptionModel.isDeprecated()) {
method.addAnnotation(Deprecated.class);
}
- method.getJavaDoc().setFullText(generateOptionDescription(componentOptionModel));
+ method.getJavaDoc().setText(generateOptionDescription(componentOptionModel));
});
}
private String generateOptionDescription(final ComponentModel.ComponentOptionModel componentOptionModel) {
- String desc = componentOptionModel.getDescription();
+ String desc = JavadocHelper.xmlEncode(componentOptionModel.getDescription());
if (!desc.endsWith(".")) {
desc += ".";
}
desc += "\n";
- desc += "\nThe option is a: <code>" + componentOptionModel.getJavaType() + "</code> type.";
+ desc += "\nThe option is a: <code>" + JavadocHelper.xmlEncode(componentOptionModel.getJavaType()) + "</code> type.";
desc += "\n";
if ("parameter".equals(componentOptionModel.getKind()) && componentOptionModel.isRequired()) {
desc += "\nRequired: true";
}
// include default value (if any)
if (componentOptionModel.getDefaultValue() != null) {
- desc += "\nDefault: " + componentOptionModel.getDefaultValue();
+ // must xml encode description as in some rare cases it contains & chars which is invalid javadoc
+ String text = JavadocHelper.xmlEncode(componentOptionModel.getDefaultValue().toString());
+ desc += "\nDefault: " + text;
}
desc += "\nGroup: " + componentOptionModel.getGroup();
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsBuilderFactoryGenerator.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsBuilderFactoryGenerator.java
index 64ef599..f420e3d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsBuilderFactoryGenerator.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsBuilderFactoryGenerator.java
@@ -25,6 +25,7 @@ import org.apache.camel.maven.packaging.AbstractGeneratorMojo;
import org.apache.camel.maven.packaging.ComponentDslMojo;
import org.apache.camel.maven.packaging.dsl.DslHelper;
import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.tooling.util.JavadocHelper;
import org.apache.camel.tooling.util.srcgen.JavaClass;
import org.apache.camel.tooling.util.srcgen.Method;
@@ -121,7 +122,10 @@ public final class ComponentsBuilderFactoryGenerator {
componentEntryMethod.addAnnotation(Deprecated.class);
}
- componentEntryMethod.getJavaDoc().setFullText(DslHelper.getMainDescriptionWithoutPathOptions(componentModel));
+ String doc = DslHelper.getMainDescriptionWithoutPathOptions(componentModel);
+ // must xml encode description as in some rare cases it contains & chars which is invalid javadoc
+ doc = JavadocHelper.xmlEncode(doc);
+ componentEntryMethod.getJavaDoc().setText(doc);
});
}
}