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 2016/12/02 21:10:36 UTC
[2/2] camel git commit: Fixed APT to not attempt load consumer class
on components without consumer
Fixed APT to not attempt load consumer class on components without consumer
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8cc8e3f9
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8cc8e3f9
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8cc8e3f9
Branch: refs/heads/camel-2.18.x
Commit: 8cc8e3f9d46469c3ea1757d122a2fdd8eafa9d72
Parents: 38e8d22
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Dec 2 22:07:23 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Dec 2 22:10:26 2016 +0100
----------------------------------------------------------------------
.../tools/apt/AnnotationProcessorHelper.java | 2 +-
.../tools/apt/EndpointAnnotationProcessor.java | 46 +++++++++++---------
2 files changed, 26 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/8cc8e3f9/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java
index ccbe807..6fff754 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java
@@ -395,7 +395,7 @@ public final class AnnotationProcessorHelper {
InputStream is = resource.openInputStream();
return loadText(is, true);
} catch (Exception e) {
- warning(processingEnv, "Cannot load file");
+ warning(processingEnv, "APT cannot load file: " + packageName + "/" + fileName);
}
return null;
http://git-wip-us.apache.org/repos/asf/camel/blob/8cc8e3f9/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 990c2aa..0b60421 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
@@ -182,29 +182,33 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
writeHtmlDocumentationAndFieldInjections(writer, roundEnv, componentModel, classElement, "", uriEndpoint.excludeProperties());
- // This code is not my fault, it seems to honestly be the hacky way to find a class name in APT :)
- TypeMirror consumerType = null;
- try {
- uriEndpoint.consumerClass();
- } catch (MirroredTypeException mte) {
- consumerType = mte.getTypeMirror();
- }
-
- boolean found = false;
- String consumerClassName = null;
- String consumerPrefix = getOrElse(uriEndpoint.consumerPrefix(), "");
- if (consumerType != null) {
- consumerClassName = consumerType.toString();
- TypeElement consumerElement = findTypeElement(processingEnv, roundEnv, consumerClassName);
- if (consumerElement != null) {
- writer.println("<h2>" + scheme + " consumer" + "</h2>");
- writeHtmlDocumentationAndFieldInjections(writer, roundEnv, componentModel, consumerElement, consumerPrefix, uriEndpoint.excludeProperties());
- found = true;
+ // only if its a consuemr capable component
+ if (uriEndpoint.consumerOnly() || !uriEndpoint.producerOnly()) {
+ // This code is not my fault, it seems to honestly be the hacky way to find a class name in APT :)
+ TypeMirror consumerType = null;
+ try {
+ uriEndpoint.consumerClass();
+ } catch (MirroredTypeException mte) {
+ consumerType = mte.getTypeMirror();
+ }
+
+ boolean found = false;
+ String consumerClassName = null;
+ String consumerPrefix = getOrElse(uriEndpoint.consumerPrefix(), "");
+ if (consumerType != null) {
+ consumerClassName = consumerType.toString();
+ TypeElement consumerElement = findTypeElement(processingEnv, roundEnv, consumerClassName);
+ if (consumerElement != null) {
+ writer.println("<h2>" + scheme + " consumer" + "</h2>");
+ writeHtmlDocumentationAndFieldInjections(writer, roundEnv, componentModel, consumerElement, consumerPrefix, uriEndpoint.excludeProperties());
+ found = true;
+ }
+ }
+ if (!found && consumerClassName != null) {
+ warning(processingEnv, "APT cannot find consumer class " + consumerClassName);
}
}
- if (!found && consumerClassName != null) {
- warning(processingEnv, "APT could not find consumer class " + consumerClassName);
- }
+
writer.println("</body>");
writer.println("</html>");
}