Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 20924200C49 for ; Fri, 17 Mar 2017 13:17:05 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 1F096160B80; Fri, 17 Mar 2017 12:17:05 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 1C7B2160B8C for ; Fri, 17 Mar 2017 13:17:03 +0100 (CET) Received: (qmail 88488 invoked by uid 500); 17 Mar 2017 12:17:03 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 88299 invoked by uid 99); 17 Mar 2017 12:17:01 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Mar 2017 12:17:01 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 7E873DFF7C; Fri, 17 Mar 2017 12:17:01 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: davsclaus@apache.org To: commits@camel.apache.org Date: Fri, 17 Mar 2017 12:17:04 -0000 Message-Id: <8b071bd360b540d880874699319b0fb1@git.apache.org> In-Reply-To: <0820850a46e449d4a7a34a8fd733ce2b@git.apache.org> References: <0820850a46e449d4a7a34a8fd733ce2b@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [4/4] camel git commit: Component docs - Adjust tables as the previous attempt did not look so good. archived-at: Fri, 17 Mar 2017 12:17:05 -0000 Component docs - Adjust tables as the previous attempt did not look so good. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1f50c729 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1f50c729 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1f50c729 Branch: refs/heads/master Commit: 1f50c7291f73a0738b8f5e13481cd550ed639f57 Parents: 0b074a7 Author: Claus Ibsen Authored: Fri Mar 17 12:10:22 2017 +0100 Committer: Claus Ibsen Committed: Fri Mar 17 13:16:54 2017 +0100 ---------------------------------------------------------------------- .../tools/apt/EndpointAnnotationProcessor.java | 3 +- .../maven/camel-package-maven-plugin/pom.xml | 7 ++ .../camel/maven/packaging/StringHelper.java | 74 ++++++++++++++++++++ .../packaging/model/ComponentOptionModel.java | 28 ++++++++ .../packaging/model/EndpointOptionModel.java | 26 +++++++ .../src/main/resources/component-options.mvel | 3 +- .../src/main/resources/endpoint-options.mvel | 5 +- 7 files changed, 140 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/1f50c729/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java index 561dce8..3c7a381 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java @@ -452,7 +452,8 @@ public class EndpointAnnotationProcessor extends AbstractProcessor { } // skip unwanted methods as they are inherited from default component and are not intended for end users to configure - if ("setEndpointClass".equals(methodName) || "setCamelContext".equals(methodName) || "setEndpointHeaderFilterStrategy".equals(methodName)) { + if ("setEndpointClass".equals(methodName) || "setCamelContext".equals(methodName) + || "setEndpointHeaderFilterStrategy".equals(methodName) || "setApplicationContext".equals(methodName)) { continue; } http://git-wip-us.apache.org/repos/asf/camel/blob/1f50c729/tooling/maven/camel-package-maven-plugin/pom.xml ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/pom.xml b/tooling/maven/camel-package-maven-plugin/pom.xml index c702518..24bbc02 100644 --- a/tooling/maven/camel-package-maven-plugin/pom.xml +++ b/tooling/maven/camel-package-maven-plugin/pom.xml @@ -105,6 +105,13 @@ ${asciidoctorj-version} + + + com.google.guava + guava + ${google-guava-version} + + org.jboss.forge.roaster http://git-wip-us.apache.org/repos/asf/camel/blob/1f50c729/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/StringHelper.java ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/StringHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/StringHelper.java index d7829ae..2f0dfcd 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/StringHelper.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/StringHelper.java @@ -18,6 +18,8 @@ package org.apache.camel.maven.packaging; import java.util.Collection; +import com.google.common.base.CaseFormat; + public final class StringHelper { private StringHelper() { @@ -97,4 +99,76 @@ public final class StringHelper { return answer; } + /** + * To wrap long camel cased texts by words. + * + * @param option the option which is camel cased. + * @param watermark a watermark to denote the size to cut after + * @param newLine the new line to use when breaking into a new line + */ + public static String wrapCamelCaseWords(String option, int watermark, String newLine) { + String text = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, option); + text = text.replace('-', ' '); + text = wrapWords(text, "\n", watermark, false); + text = text.replace(' ', '-'); + text = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, text); + text = text.replaceAll("\\n", newLine); + return text; + } + + /** + * To wrap a big line by words. + * + * @param line the big line + * @param newLine the new line to use when breaking into a new line + * @param watermark a watermark to denote the size to cut after + * @param wrapLongWords whether to wrap long words + */ + private static String wrapWords(String line, String newLine, int watermark, boolean wrapLongWords) { + if (line == null) { + return null; + } else { + if (newLine == null) { + newLine = System.lineSeparator(); + } + + if (watermark < 1) { + watermark = 1; + } + + int inputLineLength = line.length(); + int offset = 0; + StringBuilder sb = new StringBuilder(inputLineLength + 32); + + while (inputLineLength - offset > watermark) { + if (line.charAt(offset) == 32) { + ++offset; + } else { + int spaceToWrapAt = line.lastIndexOf(32, watermark + offset); + if (spaceToWrapAt >= offset) { + sb.append(line.substring(offset, spaceToWrapAt)); + sb.append(newLine); + offset = spaceToWrapAt + 1; + } else if (wrapLongWords) { + sb.append(line.substring(offset, watermark + offset)); + sb.append(newLine); + offset += watermark; + } else { + spaceToWrapAt = line.indexOf(32, watermark + offset); + if (spaceToWrapAt >= 0) { + sb.append(line.substring(offset, spaceToWrapAt)); + sb.append(newLine); + offset = spaceToWrapAt + 1; + } else { + sb.append(line.substring(offset)); + offset = inputLineLength; + } + } + } + } + + sb.append(line.substring(offset)); + return sb.toString(); + } + } } http://git-wip-us.apache.org/repos/asf/camel/blob/1f50c729/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java index 5b79f61..ce9d9b9 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/ComponentOptionModel.java @@ -16,6 +16,10 @@ */ package org.apache.camel.maven.packaging.model; +import org.apache.camel.maven.packaging.StringHelper; + +import static org.apache.camel.maven.packaging.StringHelper.wrapCamelCaseWords; + public class ComponentOptionModel { private String name; @@ -154,4 +158,28 @@ public class ComponentOptionModel { } } + public String getShortGroup() { + if (group.endsWith(" (advanced)")) { + return group.substring(0, group.length() - 11); + } + return group; + } + + public String getShortDefaultValue(int watermark) { + String text = defaultValue; + if (text.endsWith("")) { + text = text.substring(0, text.length() - 3); + } else if (text.endsWith(">")) { + text = text.substring(0, text.length() - 4); + } + + return wrapCamelCaseWords(text, watermark, " "); + } + + public String getShortName(int watermark) { + String text = wrapCamelCaseWords(name, watermark, " "); + // ensure the option name starts with lower-case + return Character.toLowerCase(text.charAt(0)) + text.substring(1); + } + } http://git-wip-us.apache.org/repos/asf/camel/blob/1f50c729/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java index d71596d..ce76cf1 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/EndpointOptionModel.java @@ -16,6 +16,8 @@ */ package org.apache.camel.maven.packaging.model; +import static org.apache.camel.maven.packaging.StringHelper.wrapCamelCaseWords; + public class EndpointOptionModel { private String name; @@ -181,4 +183,28 @@ public class EndpointOptionModel { } } + public String getShortGroup() { + if (group.endsWith(" (advanced)")) { + return group.substring(0, group.length() - 11); + } + return group; + } + + public String getShortDefaultValue(int watermark) { + String text = defaultValue; + if (text.endsWith("")) { + text = text.substring(0, text.length() - 3); + } else if (text.endsWith(">")) { + text = text.substring(0, text.length() - 4); + } + + return wrapCamelCaseWords(text, watermark, " "); + } + + public String getShortName(int watermark) { + String text = wrapCamelCaseWords(name, watermark, " "); + // ensure the option name starts with lower-case + return Character.toLowerCase(text.charAt(0)) + text.substring(1); + } + } http://git-wip-us.apache.org/repos/asf/camel/blob/1f50c729/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel index 70012fc..1e85c88 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel +++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel @@ -8,7 +8,6 @@ The @{title} component supports @{componentOptions.size()} options which are lis [width="100%",cols="2,1m,1m,6",options="header"] |======================================================================= | Name | Default | Java Type | Description -@foreach{row : componentOptions}@if{row.newGroup} 4+^s| @{row.group}@end{} -| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description} +@foreach{row : componentOptions}| **@{row.getShortName(40)}** (@{row.shortGroup}) | @{row.getShortDefaultValue(40)} | @{row.shortJavaType} | @{row.description} @end{}|======================================================================= @end{} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/1f50c729/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel index 69d3d37..a2d5b40 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel +++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel @@ -9,7 +9,7 @@ with the following path and query parameters: [width="100%",cols="2,1,1m,6",options="header"] |======================================================================= | Name | Default | Java Type | Description -@foreach{row : endpointPathOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description} +@foreach{row : endpointPathOptions}| **@{row.getShortName(40)}** | @{row.getShortDefaultValue(50)} | @{row.shortJavaType} | @{row.description} @end{}|======================================================================= #### Query Parameters (@{endpointOptions.size()} parameters): @@ -17,6 +17,5 @@ with the following path and query parameters: [width="100%",cols="2,1m,1m,6",options="header"] |======================================================================= | Name | Default | Java Type | Description -@foreach{row : endpointOptions}@if{row.newGroup} 4+^s| @{row.group}@end{} -| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description} +@foreach{row : endpointOptions}| **@{row.getShortName(40)}** (@{row.shortGroup}) | @{row.getShortDefaultValue(40)} | @{row.shortJavaType} | @{row.description} @end{}|=======================================================================