Author: rmannibucau Date: Tue Aug 23 07:57:38 2016 New Revision: 1757320 URL: http://svn.apache.org/viewvc?rev=1757320&view=rev Log: OPENJPA-2300 avoid warnings due to annotation processor
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AnnotationProcessor6.java Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AnnotationProcessor6.java URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AnnotationProcessor6.java?rev=1757320&r1=1757319&r2=1757320&view=diff ============================================================================== --- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AnnotationProcessor6.java (original) +++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/AnnotationProcessor6.java Tue Aug 23 07:57:38 2016 @@ -18,8 +18,6 @@ */ package org.apache.openjpa.persistence.meta; -import static javax.lang.model.SourceVersion.RELEASE_6; - import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; @@ -38,7 +36,7 @@ import javax.annotation.processing.Proce import javax.annotation.processing.RoundEnvironment; import javax.annotation.processing.SupportedAnnotationTypes; import javax.annotation.processing.SupportedOptions; -import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; import javax.lang.model.element.Element; import javax.lang.model.element.TypeElement; import javax.lang.model.type.TypeKind; @@ -103,7 +101,6 @@ import org.apache.openjpa.persistence.ut "openjpa.header", "openjpa.metamodel" }) -@SupportedSourceVersion(RELEASE_6) public class AnnotationProcessor6 extends AbstractProcessor { private SourceAnnotationHandler handler; @@ -113,6 +110,7 @@ public class AnnotationProcessor6 extend private List<String> header = new ArrayList<String>(); private boolean active; private static Localizer _loc = Localizer.forPackage(AnnotationProcessor6.class); + private SourceVersion supportedSourceVersion; /** * Category of members as per JPA 2.0 type system. @@ -183,7 +181,15 @@ public class AnnotationProcessor6 extend return TypeCategory.MAP; return TypeCategory.ATTRIBUTE; } - + + @Override + public SourceVersion getSupportedSourceVersion() { + if (supportedSourceVersion != null) { + return supportedSourceVersion; + } + return SourceVersion.latestSupported(); + } + /** * Initialization. */ @@ -193,6 +199,14 @@ public class AnnotationProcessor6 extend active = "true".equalsIgnoreCase(getOptionValue("openjpa.metamodel")); if (!active) return; + + final String supported = getOptionValue("openjpa.processor.supportedversion"); + if (supported != null) { + supportedSourceVersion = SourceVersion.valueOf(supported); + } else { // default to ensure we don't log a false warning for every compilation, see OPENJPA-2300 + supportedSourceVersion = SourceVersion.latestSupported(); + } + processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, _loc.get("mmg-tool-banner").toString()); logger = new CompileTimeLogger(processingEnv, getOptionValue("openjpa.log")); setSourceVersion();