Repository: reef
Updated Branches:
  refs/heads/master e1e2ff94a -> 3220f9bce


[REEF-1109] Enable EmptyCatchBlock checkstyle check

This patch:
  * Adds the EmptyCatchBlock check to checkstyle.xml and checkstyle-strict.xml
  * Fixes the violations of the check in the REEF Java codebase

JIRA:
  [REEF-1109] (https://issues.apache.org/jira/browse/REEF-1109)

Pull Request:
  This closes #763


Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/3220f9bc
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/3220f9bc
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/3220f9bc

Branch: refs/heads/master
Commit: 3220f9bced5f5c7776ab4d06f644ab89bc4f82d4
Parents: e1e2ff9
Author: [email protected] <[email protected]>
Authored: Tue Jan 12 14:49:30 2016 +0100
Committer: Dongjoon Hyun <[email protected]>
Committed: Fri Jan 15 00:31:44 2016 -0800

----------------------------------------------------------------------
 .../apache/reef/vortex/driver/DefaultVortexMasterTest.java  | 2 +-
 .../apache/reef/bridge/client/YarnJobSubmissionClient.java  | 4 +++-
 .../main/java/org/apache/reef/javabridge/JavaBridge.java    | 4 ++++
 .../apache/reef/io/checkpoint/fs/FSCheckpointService.java   | 4 ++--
 .../runtime/common/launch/REEFUncaughtExceptionHandler.java | 2 +-
 .../reef-common/src/main/resources/checkstyle-strict.xml    | 4 ++++
 lang/java/reef-common/src/main/resources/checkstyle.xml     | 5 +++++
 .../src/main/java/org/apache/reef/tang/util/Tint.java       | 9 +++++++--
 .../reef/tang/implementation/java/ClassHierarchyImpl.java   | 4 ++--
 .../apache/reef/tang/implementation/TestClassHierarchy.java | 7 +++----
 .../vortex/cancellation/TaskletCancellationTestStart.java   | 6 +++---
 .../main/java/org/apache/reef/util/logging/DFSHandler.java  | 4 ++--
 .../main/java/org/apache/reef/util/cache/WrappedValue.java  | 2 +-
 .../org/apache/reef/wake/time/runtime/RuntimeClock.java     | 2 +-
 14 files changed, 39 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-applications/reef-vortex/src/test/java/org/apache/reef/vortex/driver/DefaultVortexMasterTest.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-applications/reef-vortex/src/test/java/org/apache/reef/vortex/driver/DefaultVortexMasterTest.java
 
b/lang/java/reef-applications/reef-vortex/src/test/java/org/apache/reef/vortex/driver/DefaultVortexMasterTest.java
index 18e328d..40a819c 100644
--- 
a/lang/java/reef-applications/reef-vortex/src/test/java/org/apache/reef/vortex/driver/DefaultVortexMasterTest.java
+++ 
b/lang/java/reef-applications/reef-vortex/src/test/java/org/apache/reef/vortex/driver/DefaultVortexMasterTest.java
@@ -250,7 +250,7 @@ public class DefaultVortexMasterTest {
     try {
       future.cancel(true, 100, TimeUnit.MILLISECONDS);
       fail();
-    } catch (final TimeoutException e) {
+    } catch (final TimeoutException expected) {
       // TimeoutException is expected.
     }
 

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
index daa1396..9250462 100644
--- 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
+++ 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
@@ -181,7 +181,9 @@ public final class YarnJobSubmissionClient {
           reader.close();
           break;
         }
-      } catch (Exception ex) {
+      } catch (Exception ignored) {
+        // readLine might throw IOException although httpEndpointPath file 
exists.
+        // the for-loop waits until the actual content of file is written 
completely
       }
       try{
         Thread.sleep(1000);

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
index 65c0a13..9a848d3 100644
--- 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
+++ 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
@@ -21,6 +21,8 @@ package org.apache.reef.javabridge;
 import org.apache.reef.annotations.audience.Interop;
 import org.apache.reef.annotations.audience.Private;
 
+import java.util.logging.Logger;
+
 /**
  * TODO[JIRA REEF-383] Document/Refactor JavaBridge.
  */
@@ -28,12 +30,14 @@ import org.apache.reef.annotations.audience.Private;
 @Interop(CppFiles = "JavaClrBridge.cs")
 public class JavaBridge {
   private static final String CPP_BRIDGE = "JavaClrBridge";
+  private static final Logger LOG = 
Logger.getLogger(JavaBridge.class.toString());
 
   static {
     try {
       System.loadLibrary(CPP_BRIDGE);
     } catch (final UnsatisfiedLinkError e) {
       // TODO[JIRA REEF-383] Document/Refactor JavaBridge
+      LOG.severe("Cannot load native JavaClrBridge.");
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-checkpoint/src/main/java/org/apache/reef/io/checkpoint/fs/FSCheckpointService.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-checkpoint/src/main/java/org/apache/reef/io/checkpoint/fs/FSCheckpointService.java
 
b/lang/java/reef-checkpoint/src/main/java/org/apache/reef/io/checkpoint/fs/FSCheckpointService.java
index 369fb16..b7f6ec3 100644
--- 
a/lang/java/reef-checkpoint/src/main/java/org/apache/reef/io/checkpoint/fs/FSCheckpointService.java
+++ 
b/lang/java/reef-checkpoint/src/main/java/org/apache/reef/io/checkpoint/fs/FSCheckpointService.java
@@ -129,7 +129,7 @@ public class FSCheckpointService implements 
CheckpointService {
       if (!fs.delete(tmp, false)) {
         throw new IOException("Failed to delete checkpoint during abort");
       }
-    } catch (final FileNotFoundException e) {
+    } catch (final FileNotFoundException ignored) {
       // IGNORE
     }
   }
@@ -144,7 +144,7 @@ public class FSCheckpointService implements 
CheckpointService {
     final Path tmp = ((FSCheckpointID) id).getPath();
     try {
       return fs.delete(tmp, false);
-    } catch (final FileNotFoundException e) {
+    } catch (final FileNotFoundException ignored) {
       // IGNORE
     }
     return true;

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/REEFUncaughtExceptionHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/REEFUncaughtExceptionHandler.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/REEFUncaughtExceptionHandler.java
index cddb114..340c9b3 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/REEFUncaughtExceptionHandler.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/REEFUncaughtExceptionHandler.java
@@ -67,7 +67,7 @@ public final class REEFUncaughtExceptionHandler implements 
Thread.UncaughtExcept
       this.errorHandler.onNext(new Exception(msg, throwable));
       try {
         this.wait(100);
-      } catch (final InterruptedException e) {
+      } catch (final InterruptedException expected) {
         // try-catch block used to wait and give process a chance to setup 
communication with its parent
       }
       this.errorHandler.close();

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-common/src/main/resources/checkstyle-strict.xml
----------------------------------------------------------------------
diff --git a/lang/java/reef-common/src/main/resources/checkstyle-strict.xml 
b/lang/java/reef-common/src/main/resources/checkstyle-strict.xml
index 7502d00..21d6735 100644
--- a/lang/java/reef-common/src/main/resources/checkstyle-strict.xml
+++ b/lang/java/reef-common/src/main/resources/checkstyle-strict.xml
@@ -223,6 +223,10 @@
         <module name="ForbidReturnInFinallyBlockCheck"/>
         <module name="ForbidThrowAnonymousExceptionsCheck"/>
         <module name="UselessSingleCatchCheck"/>
+        <module name="EmptyCatchBlock">
+            <property name="commentFormat" value="This is expected"/>
+            <property name="exceptionVariableName" value="expected|ignored"/>
+        </module>
     </module>
 
 </module>

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-common/src/main/resources/checkstyle.xml
----------------------------------------------------------------------
diff --git a/lang/java/reef-common/src/main/resources/checkstyle.xml 
b/lang/java/reef-common/src/main/resources/checkstyle.xml
index b3d0539..ff4ad78 100644
--- a/lang/java/reef-common/src/main/resources/checkstyle.xml
+++ b/lang/java/reef-common/src/main/resources/checkstyle.xml
@@ -225,6 +225,11 @@
         <module name="ForbidReturnInFinallyBlockCheck"/>
         <module name="ForbidThrowAnonymousExceptionsCheck"/>
         <module name="UselessSingleCatchCheck"/>
+        <module name="EmptyCatchBlock">
+            <property name="commentFormat" value="This is expected"/>
+            <property name="exceptionVariableName" value="expected|ignored"/>
+        </module>
+
     </module>
 
 </module>

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-tang/tang-tint/src/main/java/org/apache/reef/tang/util/Tint.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang-tint/src/main/java/org/apache/reef/tang/util/Tint.java
 
b/lang/java/reef-tang/tang-tint/src/main/java/org/apache/reef/tang/util/Tint.java
index 0f73536..18243a2 100644
--- 
a/lang/java/reef-tang/tang-tint/src/main/java/org/apache/reef/tang/util/Tint.java
+++ 
b/lang/java/reef-tang/tang-tint/src/main/java/org/apache/reef/tang/util/Tint.java
@@ -46,6 +46,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.logging.Logger;
 
 /**
  * Tang Static Analytics Tool.
@@ -62,6 +63,8 @@ public class Tint {
   private final Set<ClassNode<?>> knownClasses = new MonotonicSet<>();
   private final Set<String> divs = new MonotonicSet<>();
 
+  private static final Logger LOG = Logger.getLogger(Tint.class.getName());
+
   {
     divs.add("doc");
     divs.add(USES);
@@ -492,7 +495,8 @@ public class Tint {
                     }
                   }
                 } catch (final NameResolutionException ex) {
-                  //
+                  LOG.warning("The class " + e.getValue() + " not found in the 
class hierarchy."
+                          + " The exception message: " + ex.getMessage());
                 }
                 try {
                   final String s = e.getValue();
@@ -509,7 +513,8 @@ public class Tint {
                     }
                   }
                 } catch (final NameResolutionException ex) {
-                  //
+                  LOG.warning("The class " + e.getValue() + " not found in the 
class hierarchy."
+                               + " The exception message: " + ex.getMessage());
                 }
               }
             }

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
index ab5ea93..f2d683f 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
@@ -298,7 +298,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     try {
       final Node n = getAlreadyBoundNode(c);
       return n;
-    } catch (final NameResolutionException e) {
+    } catch (final NameResolutionException ignored) {
       // node not bound yet
     }
     // First, walk up the class hierarchy, registering all out parents. This
@@ -380,7 +380,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     }
     try {
       return getAlreadyBoundNode(c);
-    } catch (final NameResolutionException e) {
+    } catch (final NameResolutionException ignored) {
       // node not bound yet
     }
 

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-tang/tang/src/test/java/org/apache/reef/tang/implementation/TestClassHierarchy.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/test/java/org/apache/reef/tang/implementation/TestClassHierarchy.java
 
b/lang/java/reef-tang/tang/src/test/java/org/apache/reef/tang/implementation/TestClassHierarchy.java
index 2922757..eda259b 100644
--- 
a/lang/java/reef-tang/tang/src/test/java/org/apache/reef/tang/implementation/TestClassHierarchy.java
+++ 
b/lang/java/reef-tang/tang/src/test/java/org/apache/reef/tang/implementation/TestClassHierarchy.java
@@ -71,20 +71,19 @@ public class TestClassHierarchy {
     Node n = null;
     try {
       n = ns.getNode("java");
-    } catch (final NameResolutionException e) {
+    } catch (final NameResolutionException expected) {
     }
     Assert.assertNull(n);
     try {
       n = ns.getNode("java.lang");
-    } catch (final NameResolutionException e) {
+    } catch (final NameResolutionException expected) {
     }
     Assert.assertNull(n);
     Assert.assertNotNull(ns.getNode("java.lang.String"));
     try {
       ns.getNode("com.microsoft");
       Assert.fail("Didn't get expected exception");
-    } catch (final NameResolutionException e) {
-
+    } catch (final NameResolutionException expected) {
     }
   }
 

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-tests/src/test/java/org/apache/reef/tests/applications/vortex/cancellation/TaskletCancellationTestStart.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tests/src/test/java/org/apache/reef/tests/applications/vortex/cancellation/TaskletCancellationTestStart.java
 
b/lang/java/reef-tests/src/test/java/org/apache/reef/tests/applications/vortex/cancellation/TaskletCancellationTestStart.java
index e37e6f1..3a53b1f 100644
--- 
a/lang/java/reef-tests/src/test/java/org/apache/reef/tests/applications/vortex/cancellation/TaskletCancellationTestStart.java
+++ 
b/lang/java/reef-tests/src/test/java/org/apache/reef/tests/applications/vortex/cancellation/TaskletCancellationTestStart.java
@@ -48,7 +48,7 @@ public final class TaskletCancellationTestStart implements 
VortexStart {
       // Hacky way to increase probability that the task has been launched.
       // TODO[JIRA REEF-1051]: Query the VortexMaster for the Tasklet status.
       future.get(10, TimeUnit.SECONDS);
-    } catch (final TimeoutException e) {
+    } catch (final TimeoutException ignored) {
       // Harmless.
     } catch (final Exception e) {
       e.printStackTrace();
@@ -60,8 +60,8 @@ public final class TaskletCancellationTestStart implements 
VortexStart {
     try {
       future.get();
       Assert.fail();
-    } catch (final CancellationException e) {
-      // Expected.
+    } catch (final CancellationException expected) {
+      // This is expected.
     } catch (final ExecutionException|InterruptedException e) {
       e.printStackTrace();
       Assert.fail();

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-utils-hadoop/src/main/java/org/apache/reef/util/logging/DFSHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-utils-hadoop/src/main/java/org/apache/reef/util/logging/DFSHandler.java
 
b/lang/java/reef-utils-hadoop/src/main/java/org/apache/reef/util/logging/DFSHandler.java
index 8621bcc..1e90c77 100644
--- 
a/lang/java/reef-utils-hadoop/src/main/java/org/apache/reef/util/logging/DFSHandler.java
+++ 
b/lang/java/reef-utils-hadoop/src/main/java/org/apache/reef/util/logging/DFSHandler.java
@@ -129,7 +129,7 @@ public final class DFSHandler extends Handler {
     this.streamHandler.flush();
     try {
       this.logOutputStream.flush();
-    } catch (final IOException e) {
+    } catch (final IOException ignored) {
       // Eating it as it has nowhere to go.
     }
   }
@@ -139,7 +139,7 @@ public final class DFSHandler extends Handler {
     this.streamHandler.close();
     try {
       this.logOutputStream.close();
-    } catch (final IOException e) {
+    } catch (final IOException ignored) {
       // Eating it as it has nowhere to go.
     }
   }

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-utils/src/main/java/org/apache/reef/util/cache/WrappedValue.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-utils/src/main/java/org/apache/reef/util/cache/WrappedValue.java
 
b/lang/java/reef-utils/src/main/java/org/apache/reef/util/cache/WrappedValue.java
index 4b4227b..b0405dc 100644
--- 
a/lang/java/reef-utils/src/main/java/org/apache/reef/util/cache/WrappedValue.java
+++ 
b/lang/java/reef-utils/src/main/java/org/apache/reef/util/cache/WrappedValue.java
@@ -83,7 +83,7 @@ final class WrappedValue<V> {
     while (!value.isPresent()) {
       try {
         this.wait();
-      } catch (final InterruptedException e) {
+      } catch (final InterruptedException ignored) {
         // Ignore, as while loop will be re-entered
       }
     }

http://git-wip-us.apache.org/repos/asf/reef/blob/3220f9bc/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/time/runtime/RuntimeClock.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/time/runtime/RuntimeClock.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/time/runtime/RuntimeClock.java
index 4ebbfe8..a0ab566 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/time/runtime/RuntimeClock.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/time/runtime/RuntimeClock.java
@@ -254,7 +254,7 @@ public final class RuntimeClock implements Clock {
               break; // we're done.
             }
           }
-        } catch (final InterruptedException e) {
+        } catch (final InterruptedException expected) {
           // waiting interrupted - return to loop
         }
       }

Reply via email to