Jogamp
Remove Java lint warnings.
authorWade Walker <wwalker3@austin.rr.com>
Fri, 7 Mar 2014 22:32:48 +0000 (16:32 -0600)
committerWade Walker <wwalker3@austin.rr.com>
Fri, 7 Mar 2014 22:32:48 +0000 (16:32 -0600)
Remove all Java lint warnings, by fixing the code if possible, and if
not possible then by inserting @SuppressWarnings. Some of these
@SuppressWarnings can be replaced later with @SafeVarargs if we
eventually drop support for Java 6.

src/com/jogamp/opencl/AutoCloseable.jtemplate
src/com/jogamp/opencl/CLEventList.java
src/com/jogamp/opencl/CLPlatform.java
src/com/jogamp/opencl/util/CLMultiContext.java
src/com/jogamp/opencl/util/JOCLVersion.java
src/com/jogamp/opencl/util/concurrent/CLCommandQueuePool.java
test/com/jogamp/opencl/CLBufferTest.java
test/com/jogamp/opencl/CLCommandQueueTest.java
test/com/jogamp/opencl/HighLevelBindingTest.java
test/com/jogamp/opencl/gl/CLGLTest.java

index d9f4f57..a7bd145 100644 (file)
@@ -32,5 +32,5 @@ package com.jogamp.opencl;
  * import of JDK7's ARM interface allowing JDK6 backwards compatibility.
  */
 public interface AutoCloseable /*extends java.lang.AutoCloseable*/ {
-    void close() throws Exception;
+    void close();
 }
index 56181cf..cae3a03 100644 (file)
@@ -151,7 +151,7 @@ public final class CLEventList implements CLResource, AutoCloseable, Iterable<CL
      */
     @Deprecated
     @Override
-    public final void close() throws Exception {
+    public final void close() {
         release();
     }
  
index 4015dc2..b7b7389 100644 (file)
@@ -187,6 +187,7 @@ public class CLPlatform {
     /**
      * Returns the default OpenCL platform or null when no platform found.
      */
+    @SuppressWarnings("unchecked")
     public static CLPlatform getDefault(Filter<CLPlatform>... filter) {
         CLPlatform[] platforms = listCLPlatforms(filter);
         if(platforms.length > 0) {
@@ -219,6 +220,7 @@ public class CLPlatform {
      * @param filter Acceptance filter for the returned platforms.
      * @throws CLException if something went wrong initializing OpenCL
      */
+    @SuppressWarnings("unchecked")
     public static CLPlatform[] listCLPlatforms(Filter<CLPlatform>... filter) {
         initialize();
 
@@ -294,6 +296,7 @@ public class CLPlatform {
     /**
      * Lists all physical devices available on this platform matching the given {@link Filter}.
      */
+    @SuppressWarnings("unchecked")
     public CLDevice[] listCLDevices(Filter<CLDevice>... filters) {
         initialize();
 
@@ -389,6 +392,7 @@ public class CLPlatform {
      * The device speed is estimated by calculating the product of
      * MAX_COMPUTE_UNITS and MAX_CLOCK_FREQUENCY.
      */
+    @SuppressWarnings("unchecked")
     public CLDevice getMaxFlopsDevice(Filter<CLDevice>... filter) {
         return findMaxFlopsDevice(listCLDevices(filter));
     }
@@ -475,6 +479,7 @@ public class CLPlatform {
             while(scanner.hasNext())
                 extensions.add(scanner.next());
 
+            scanner.close();
             extensions = Collections.unmodifiableSet(extensions);
         }
 
index 156a9fa..c5bed86 100644 (file)
@@ -41,6 +41,7 @@ public class CLMultiContext implements CLResource {
     /**
      * Creates a multi context with all devices of the specified platforms and types.
      */
+    @SuppressWarnings("unchecked")
     public static CLMultiContext create(CLPlatform[] platforms, CLDevice.Type... types) {
         return create(platforms, CLDeviceFilters.type(types));
     }
@@ -48,6 +49,7 @@ public class CLMultiContext implements CLResource {
     /**
      * Creates a multi context with all matching devices of the specified platforms.
      */
+    @SuppressWarnings("unchecked")
     public static CLMultiContext create(CLPlatform[] platforms, Filter<CLDevice>... filters) {
 
         if(platforms == null) {
index 7ffa3eb..7b83748 100644 (file)
@@ -48,6 +48,7 @@ import static com.jogamp.common.util.VersionUtil.*;
  * @author Michael Bien
  * @deprecated Use {@link com.jogamp.opencl.JoclVersion}
  */
+@Deprecated
 public class JOCLVersion extends JogampVersion {
 
     private static final String PACKAGE = "com.jogamp.opencl";
index e8bd012..a1d376a 100644 (file)
@@ -31,12 +31,12 @@ public class CLCommandQueuePool<C extends CLQueueContext> implements CLResource
     private FinishAction finishAction = FinishAction.DO_NOTHING;
     private boolean released;
 
-    private CLCommandQueuePool(CLQueueContextFactory factory, Collection<CLCommandQueue> queues) {
+    private CLCommandQueuePool(CLQueueContextFactory<C> factory, Collection<CLCommandQueue> queues) {
         this.contexts = initContexts(queues, factory);
         initExecutor();
     }
 
-    private List<CLQueueContext> initContexts(Collection<CLCommandQueue> queues, CLQueueContextFactory factory) {
+    private List<CLQueueContext> initContexts(Collection<CLCommandQueue> queues, CLQueueContextFactory<C> factory) {
         List<CLQueueContext> newContexts = new ArrayList<CLQueueContext>(queues.size());
         
         int index = 0;
@@ -69,8 +69,8 @@ public class CLCommandQueuePool<C extends CLQueueContext> implements CLResource
         return create(factory, queues);
     }
 
-    public static <C extends CLQueueContext> CLCommandQueuePool create(CLQueueContextFactory<C> factory, Collection<CLCommandQueue> queues) {
-        return new CLCommandQueuePool(factory, queues);
+    public static <C extends CLQueueContext> CLCommandQueuePool<C> create(CLQueueContextFactory<C> factory, Collection<CLCommandQueue> queues) {
+        return new CLCommandQueuePool<C>(factory, queues);
     }
 
     /**
@@ -78,7 +78,7 @@ public class CLCommandQueuePool<C extends CLQueueContext> implements CLResource
      * @see ExecutorService#submit(java.util.concurrent.Callable)
      */
     public <R> Future<R> submit(CLTask<? super C, R> task) {
-        return excecutor.submit(new TaskWrapper(task, finishAction));
+        return excecutor.submit(new TaskWrapper<C,R>(task, finishAction));
     }
 
     /**
@@ -127,7 +127,7 @@ public class CLCommandQueuePool<C extends CLQueueContext> implements CLResource
      * Blocks until all tasks finish and sets up a new context for all queues.
      * @return this
      */
-    public <C extends CLQueueContext> CLCommandQueuePool switchContext(CLQueueContextFactory<C> factory) {
+    public CLCommandQueuePool<C> switchContext(CLQueueContextFactory<C> factory) {
         
         excecutor.shutdown();
         finishQueues(); // just to be sure
@@ -255,6 +255,9 @@ public class CLCommandQueuePool<C extends CLQueueContext> implements CLResource
 
         public R call() throws Exception {
             CLQueueContext context = ((QueueThread)Thread.currentThread()).context;
+            // we make sure to only wrap tasks on the correct kind of thread, so this
+            // shouldn't fail (trying to genericize QueueThread properly becomes tricky)
+            @SuppressWarnings("unchecked")
             R result = task.execute((C)context);
             if(mode.equals(FinishAction.FLUSH)) {
                 context.queue.flush();
index 932266f..635af4f 100644 (file)
@@ -263,6 +263,7 @@ public class CLBufferTest extends UITestCase {
         if(MiscUtils.isOpenCLUnavailable())
             return;
 
+        @SuppressWarnings("unchecked")
         CLPlatform platform = CLPlatform.getDefault(version(CL_1_1));
         if(platform == null) {
             out.println("aborting subBufferTest");
@@ -309,6 +310,7 @@ public class CLBufferTest extends UITestCase {
         if(MiscUtils.isOpenCLUnavailable())
             return;
 
+        @SuppressWarnings("unchecked")
         CLPlatform platform = CLPlatform.getDefault(version(CL_1_1));
         if(platform == null) {
             out.println("aborting subBufferTest");
@@ -359,6 +361,7 @@ public class CLBufferTest extends UITestCase {
         if(MiscUtils.isOpenCLUnavailable())
             return;
 
+        @SuppressWarnings("unchecked")
         CLPlatform platform = CLPlatform.getDefault(version(CL_1_1));
         if(platform == null) {
             out.println("aborting destructorCallbackTest");
index 491eab5..3fc17e8 100644 (file)
@@ -170,6 +170,7 @@ public class CLCommandQueueTest extends UITestCase {
         }
     }
 
+    @SuppressWarnings("unchecked")
     @Test
     public void eventConditionsTest() throws IOException {
 
index a0a6759..9fa9f92 100644 (file)
@@ -212,7 +212,9 @@ public class HighLevelBindingTest extends UITestCase {
         if(MiscUtils.isOpenCLUnavailable())
             return;
 
+        @SuppressWarnings("unchecked")
         CLPlatform platformGPU = CLPlatform.getDefault(version(CL_1_0), type(GPU));
+        @SuppressWarnings("unchecked")
         CLPlatform platformCPU = CLPlatform.getDefault(version(CL_1_0), type(CPU));
 
         if(platformGPU != null) {
index 52f0e57..b5d8569 100644 (file)
@@ -113,7 +113,9 @@ public class CLGLTest extends UITestCase {
 
         initGL();
 
+        @SuppressWarnings("unchecked")
         CLPlatform platform = CLPlatform.getDefault(CLPlatformFilters.glSharing());
+        @SuppressWarnings("unchecked")
         CLDevice device = platform.getMaxFlopsDevice(CLDeviceFilters.glSharing());
 
         if(device == null) {
@@ -159,12 +161,14 @@ public class CLGLTest extends UITestCase {
         makeGLCurrent();
         assertTrue(glcontext.isCurrent());
 
+        @SuppressWarnings("unchecked")
         CLPlatform platform = CLPlatform.getDefault(glSharing(glcontext));
         if(platform == null) {
             out.println("test aborted");
             return;
         }
 
+        @SuppressWarnings("unchecked")
         CLDevice theChosenOne = platform.getMaxFlopsDevice(CLDeviceFilters.glSharing());
         out.println(theChosenOne);
 
http://JogAmp.org git info: FAQ, tutorial and man pages.