This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch api in repository https://gitbox.apache.org/repos/asf/camel.git
commit 19e3eaeafb7c10a3a8b15dc495ad3135be2894ec Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Sep 17 12:59:15 2020 +0200 CAMEL-15478: Docs include alias methods --- .../org/apache/camel/maven/packaging/MvelHelper.java | 18 ++++++++++++++++++ .../src/main/resources/endpoint-options.mvel | 10 ++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java index 64a5e23..a7a76e1 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java @@ -18,6 +18,9 @@ package org.apache.camel.maven.packaging; import java.util.regex.Pattern; +import org.apache.camel.tooling.model.ApiMethodModel; +import org.apache.camel.tooling.model.ApiModel; + public final class MvelHelper { public static final MvelHelper INSTANCE = new MvelHelper(); @@ -48,4 +51,19 @@ public final class MvelHelper { signature = signature.replace('$', '.'); return signature + ";"; } + + public static String apiMethodNameWithAlias(ApiModel api, ApiMethodModel method) { + String name = method.getName(); + for (String alias : api.getAliases()) { + int pos = alias.indexOf('='); + String pattern = alias.substring(0, pos); + String aliasMethod = alias.substring(pos + 1); + // match ignore case + if (Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(name).matches()) { + name += " + \n " + aliasMethod; + break; + } + } + return name; + } } 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 625e174..444200d 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 @@ -49,7 +49,7 @@ The following lists each API name and method and its additional parameters. The @{api.name} has no API methods. @else{} -The @{api.name} has @{api.methods.size} API method(s) which is represented by the following method signatures +The @{api.name} API has @{api.methods.size} method(s) which is represented by the following method signatures (an API method may have multiple signatures due to overloading): [source,java] @@ -59,11 +59,13 @@ The @{api.name} has @{api.methods.size} API method(s) which is represented by th @end{}@end{} ---- +API methods can have a shorthand alias name which can be used in the syntax instead of the name. + The API methods has the following set of options listed in the following table: -[width="100%",cols="1,2,5,2",options="header"] +[width="100%",cols="2,2,4,2",options="header"] |===@comment{ Render table cells. If description contains newline, prefix cell with `a`, so the content is rendered with formatting. } -| Method | Name | Description | Type -@foreach{method : api.methods}@foreach{row : method.options}| @{method.name} | *@{row.getShortName(30)}* @{row.description.?contains("\n") ? "a" : ""}| @{util.escape(row.description)} | @{row.getShortJavaType()} +| Method / Alias | Name | Description | Type +@foreach{method : api.methods}@foreach{row : method.options}| @{util.apiMethodNameWithAlias(api, method)} | *@{row.getShortName(30)}* @{row.description.?contains("\n") ? "a" : ""}| @{util.escape(row.description)} | @{row.getShortJavaType()} @end{}@end{}|===