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 2019/01/15 12:10:56 UTC
[camel] branch master updated: apt plugin should not generate
TypeConverter files with inner classes. Only top level classes is
supported.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new c7e720a apt plugin should not generate TypeConverter files with inner classes. Only top level classes is supported.
c7e720a is described below
commit c7e720aef63cab8a06af0d215f2b700cd7d970ed
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jan 15 13:10:44 2019 +0100
apt plugin should not generate TypeConverter files with inner classes. Only top level classes is supported.
---
.../java/org/apache/camel/tools/apt/TypeConverterProcessor.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
index 816facb..3046e42 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
@@ -25,6 +25,7 @@ import javax.annotation.processing.Filer;
import javax.annotation.processing.RoundEnvironment;
import javax.annotation.processing.SupportedAnnotationTypes;
import javax.lang.model.element.Element;
+import javax.lang.model.element.NestingKind;
import javax.lang.model.element.TypeElement;
import javax.tools.FileObject;
import javax.tools.StandardLocation;
@@ -43,8 +44,11 @@ public class TypeConverterProcessor extends AbstractCamelAnnotationProcessor {
if (element instanceof TypeElement) {
TypeElement classElement = (TypeElement) element;
- final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
- converterClasses.put(javaTypeName, element);
+ // we only support top-level classes (not inner classes)
+ if (classElement.getNestingKind() == NestingKind.TOP_LEVEL) {
+ final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
+ converterClasses.put(javaTypeName, element);
+ }
}
}
if (!converterClasses.isEmpty()