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()