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


Reply via email to