Component docs
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6fa5657f Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6fa5657f Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6fa5657f Branch: refs/heads/master Commit: 6fa5657fe272c8a705bb037515165bbc713058dd Parents: c68107d Author: Claus Ibsen <[email protected]> Authored: Sun Jun 14 15:54:19 2015 +0200 Committer: Claus Ibsen <[email protected]> Committed: Sun Jun 14 15:54:19 2015 +0200 ---------------------------------------------------------------------- .../atmosphere/websocket/WebsocketEndpoint.java | 2 +- .../apache/camel/tools/apt/DocumentationHelper.java | 4 ++++ .../camel/tools/apt/EndpointAnnotationProcessor.java | 13 ++++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/6fa5657f/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java index 77a6306..24d8dcf 100644 --- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java +++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java @@ -34,7 +34,7 @@ import org.apache.commons.httpclient.params.HttpClientParams; /** * */ -@UriEndpoint(scheme = "atmosphere-websocket", extendsScheme = "websocket", title = "Atmosphere Websocket", +@UriEndpoint(scheme = "atmosphere-websocket", extendsScheme = "servlet", title = "Atmosphere Websocket", syntax = "atmosphere-websocket:servicePath", consumerClass = WebsocketConsumer.class, label = "websocket") public class WebsocketEndpoint extends ServletEndpoint { http://git-wip-us.apache.org/repos/asf/camel/blob/6fa5657f/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java index e8e8cf7..f354f38 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java @@ -96,8 +96,12 @@ public final class DocumentationHelper { if ("file".equals(extendsScheme)) { return new File("../../camel-core/target/classes/org/apache/camel/component/file/file.json"); + } else if ("ahc".equals(extendsScheme)) { + return new File("../camel-ahc/target/classes/org/apache/camel/component/ahc/ahc.json"); } else if ("atom".equals(extendsScheme)) { return new File("../camel-atom/target/classes/org/apache/camel/component/atom/atom.json"); + } else if ("jms".equals(extendsScheme)) { + return new File("../camel-jms/target/classes/org/apache/camel/component/jms/jms.json"); } else if ("http".equals(extendsScheme)) { return new File("../camel-http/target/classes/org/apache/camel/component/http/http.json"); } else if ("https".equals(extendsScheme)) { http://git-wip-us.apache.org/repos/asf/camel/blob/6fa5657f/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 1531971..968213a5 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 @@ -75,6 +75,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor { final UriEndpoint uriEndpoint = classElement.getAnnotation(UriEndpoint.class); if (uriEndpoint != null) { String scheme = uriEndpoint.scheme(); + String extendsScheme = uriEndpoint.extendsScheme(); String title = uriEndpoint.title(); final String label = uriEndpoint.label(); if (!isNullOrEmpty(scheme)) { @@ -82,8 +83,10 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor { // for example camel-mail has a bunch of component schema names that does that String[] schemes = scheme.split(","); String[] titles = title.split(","); + String[] extendsSchemes = extendsScheme != null ? extendsScheme.split(",") : null; for (int i = 0; i < schemes.length; i++) { final String alias = schemes[i]; + final String extendsAlias = extendsSchemes != null ? (i < extendsSchemes.length ? extendsSchemes[i] : extendsSchemes[0]) : null; final String aliasTitle = i < titles.length ? titles[i] : titles[0]; // write html documentation String name = canonicalClassName(classElement.getQualifiedName().toString()); @@ -103,7 +106,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor { handler = new Func1<PrintWriter, Void>() { @Override public Void call(PrintWriter writer) { - writeJSonSchemeDocumentation(writer, roundEnv, classElement, uriEndpoint, aliasTitle, alias, label); + writeJSonSchemeDocumentation(writer, roundEnv, classElement, uriEndpoint, aliasTitle, alias, extendsAlias, label); return null; } }; @@ -162,9 +165,9 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor { } protected void writeJSonSchemeDocumentation(PrintWriter writer, RoundEnvironment roundEnv, TypeElement classElement, UriEndpoint uriEndpoint, - String title, String scheme, String label) { + String title, String scheme, final String extendsScheme, String label) { // gather component information - ComponentModel componentModel = findComponentProperties(roundEnv, uriEndpoint, title, scheme, label); + ComponentModel componentModel = findComponentProperties(roundEnv, uriEndpoint, title, scheme, extendsScheme, label); // get endpoint information which is divided into paths and options (though there should really only be one path) Set<EndpointPath> endpointPaths = new LinkedHashSet<EndpointPath>(); @@ -369,13 +372,13 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor { } protected ComponentModel findComponentProperties(RoundEnvironment roundEnv, UriEndpoint uriEndpoint, - String title, String scheme, String label) { + String title, String scheme, String extendsScheme, String label) { ComponentModel model = new ComponentModel(scheme); // if the scheme is an alias then replace the scheme name from the syntax with the alias String syntax = scheme + ":" + Strings.after(uriEndpoint.syntax(), ":"); - model.setExtendsScheme(uriEndpoint.extendsScheme()); + model.setExtendsScheme(extendsScheme); model.setSyntax(syntax); model.setTitle(title); model.setLabel(label);
