This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-12644 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 84d495d1859d3727b83d9a9f98887b23c991ec91 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Jul 16 20:14:30 2018 +0200 CAMEL-12644: Generate spring boot auto configuration in the docs. --- components/camel-zipkin/src/main/docs/zipkin.adoc | 34 ++++++++++++++++++++++ ...pdateSpringBootAutoConfigurationReadmeMojo.java | 5 ++++ .../model/SpringBootAutoConfigureOptionModel.java | 15 +++++----- 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/components/camel-zipkin/src/main/docs/zipkin.adoc b/components/camel-zipkin/src/main/docs/zipkin.adoc index 6e3057b..37e1c08 100644 --- a/components/camel-zipkin/src/main/docs/zipkin.adoc +++ b/components/camel-zipkin/src/main/docs/zipkin.adoc @@ -88,6 +88,40 @@ link:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.html[max debug log size]. |=== +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 10 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.zipkin.client-service-mappings* | Sets client service mapping(s) that matches Camel events to the given zipkin service name. + The key is the pattern, the value is the service name. | | Map +| *camel.zipkin.endpoint* | Sets the POST URL for zipkin's <a href="http://zipkin.io/zipkin-api/#/">v2 api</a>, usually + "http://zipkinhost:9411/api/v2/spans" | | String +| *camel.zipkin.exclude-patterns* | Sets exclude pattern(s) that will disable tracing with zipkin for Camel messages that matches the pattern. | | Set +| *camel.zipkin.host-name* | Sets the hostname if sending spans to a remote zipkin scribe (thrift RPC) collector. | | String +| *camel.zipkin.include-message-body* | Whether to include the Camel message body in the zipkin traces. + + This is not recommended for production usage, or when having big payloads. + You can limit the size by configuring camel.springboot.log-debug-max-chars option. | false | boolean +| *camel.zipkin.include-message-body-streams* | Whether to include message bodies that are stream based in the zipkin traces. + + This is not recommended for production usage, or when having big payloads. + You can limit the size by configuring camel.springboot.log-debug-max-chars option. | false | boolean +| *camel.zipkin.port* | Sets the port if sending spans to a remote zipkin scribe (thrift RPC) collector. | 0 | int +| *camel.zipkin.rate* | Configures a rate that decides how many events should be traced by zipkin. + The rate is expressed as a percentage (1.0f = 100%, 0.5f is 50%, 0.1f is 10%). | 1 | float +| *camel.zipkin.server-service-mappings* | Sets server service mapping(s) that matches Camel events to the given zipkin service name. + The key is the pattern, the value is the service name. | | Map +| *camel.zipkin.service-name* | To use a global service name that matches all Camel events | | String +|=== +// spring-boot-auto-configure options: END + [[camel-zipkin-Example]] === Example diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java index 8ebb68f..0fad8af 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java @@ -110,7 +110,12 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo { // update all adoc files (as it may be component, language, data-format or just other kind) File[] docFiles = docFolder.listFiles((f) -> f.getName().startsWith(componentName) && f.getName().endsWith(".adoc")); if (docFiles != null && docFiles.length > 0) { + boolean onlyOther = docFiles.length == 1 && docFiles[0].getName().equals(componentName + ".adoc"); List models = parseSpringBootAutoConfigreModels(jsonFile); + if (models.isEmpty() && onlyOther) { + // there are no spring-boot auto configuration for this other kind of JAR so lets just ignore this + return; + } String options = templateAutoConfigurationOptions(models); for (File docFile : docFiles) { boolean updated = updateAutoConfigureOptions(docFile, options); diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootAutoConfigureOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootAutoConfigureOptionModel.java index 686896a..4f825f0 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootAutoConfigureOptionModel.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootAutoConfigureOptionModel.java @@ -16,6 +16,8 @@ */ package org.apache.camel.maven.packaging.model; +import java.util.Locale; + import static org.apache.camel.maven.packaging.StringHelper.wrapCamelCaseWords; public class SpringBootAutoConfigureOptionModel { @@ -77,13 +79,12 @@ public class SpringBootAutoConfigureOptionModel { text = text.substring(pos + 1); } - // use non wrapped types - if ("Boolean".equals(text)) { - text = "boolean"; - } else if ("Long".equals(text)) { - text = "long"; - } else if ("Integer".equals(text)) { - text = "int"; + // favour using simple types for known java.lang wrapper types + if (javaType.startsWith("java.lang.") && !"String".equals(text)) { + text = text.toLowerCase(Locale.US); + if ("integer".equals(text)) { + text = "int"; + } } return text;