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 } }
