diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs index 3859298be5bcb28e45aa0ee74a54927731d8e2fd..807c5813fa3ca608e8e83b3df801b191c1e11ed7 100644 --- a/.settings/edu.umd.cs.findbugs.core.prefs +++ b/.settings/edu.umd.cs.findbugs.core.prefs @@ -1,5 +1,5 @@ #FindBugs User Preferences -#Fri Dec 19 13:43:52 CET 2014 +#Wed Feb 04 14:55:08 CET 2015 detector_threshold=3 effort=max excludefilter0=.fbExcludeFilterFile|true diff --git a/src/main/java/teetime/framework/RunnableStage.java b/src/main/java/teetime/framework/AbstractRunnableStage.java similarity index 68% rename from src/main/java/teetime/framework/RunnableStage.java rename to src/main/java/teetime/framework/AbstractRunnableStage.java index 514d8c18ea4d874017274d0e8d7423d4ec481fca..1aec986bc2b8e4fabfe6ed0a0e54a2f7d7f5938e 100644 --- a/src/main/java/teetime/framework/RunnableStage.java +++ b/src/main/java/teetime/framework/AbstractRunnableStage.java @@ -4,20 +4,21 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import teetime.framework.exceptionHandling.StageException; -import teetime.framework.exceptionHandling.StageExceptionListener; -import teetime.framework.exceptionHandling.StageExceptionListener.FurtherExecution; +import teetime.framework.exceptionHandling.StageExceptionHandler; +import teetime.framework.exceptionHandling.StageExceptionHandler.FurtherExecution; -abstract class RunnableStage implements Runnable { +abstract class AbstractRunnableStage implements Runnable { + + private final StageExceptionHandler exceptionHandler; protected final Stage stage; @SuppressWarnings("PMD.LoggerIsNotStaticFinal") protected final Logger logger; - private final StageExceptionListener listener; - public RunnableStage(final Stage stage, final StageExceptionListener exceptionListener) { + public AbstractRunnableStage(final Stage stage, final StageExceptionHandler exceptionHandler) { this.stage = stage; this.logger = LoggerFactory.getLogger(stage.getClass()); - this.listener = exceptionListener; + this.exceptionHandler = exceptionHandler; } @Override @@ -31,7 +32,8 @@ abstract class RunnableStage implements Runnable { try { executeStage(); } catch (StageException e) { - if (this.listener.onStageException(e, e.getThrowingStage()) == FurtherExecution.TERMINATE) { + final FurtherExecution furtherExecution = this.exceptionHandler.onStageException(e, e.getThrowingStage()); + if (furtherExecution == FurtherExecution.TERMINATE) { this.stage.terminate(); failed = true; } diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java index 71f746199a2d0e570f831d81f1f5479521045eef..6f7dab0ad1aebb8a51b4ed0684288f8e11239d3d 100644 --- a/src/main/java/teetime/framework/Analysis.java +++ b/src/main/java/teetime/framework/Analysis.java @@ -10,7 +10,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import teetime.framework.exceptionHandling.IgnoringStageListener; -import teetime.framework.exceptionHandling.StageExceptionListener; +import teetime.framework.exceptionHandling.StageExceptionHandler; import teetime.framework.signal.TerminatingSignal; import teetime.framework.signal.ValidatingSignal; import teetime.framework.validation.AnalysisNotValidException; @@ -29,7 +29,7 @@ public class Analysis implements UncaughtExceptionHandler { private final AnalysisConfiguration configuration; - private final StageExceptionListener listener; + private final StageExceptionHandler listener; private boolean executionInterrupted = false; @@ -61,11 +61,11 @@ public class Analysis implements UncaughtExceptionHandler { * @param listener * specific listener for the exception handling */ - public Analysis(final AnalysisConfiguration configuration, final StageExceptionListener listener) { + public Analysis(final AnalysisConfiguration configuration, final StageExceptionHandler listener) { this(configuration, false, listener); } - public Analysis(final AnalysisConfiguration configuration, final boolean validationEnabled, final StageExceptionListener listener) { + public Analysis(final AnalysisConfiguration configuration, final boolean validationEnabled, final StageExceptionHandler listener) { this.configuration = configuration; this.listener = listener; if (validationEnabled) { @@ -94,7 +94,7 @@ public class Analysis implements UncaughtExceptionHandler { public void init() { final List<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs(); for (Stage stage : threadableStageJobs) { - StageExceptionListener newListener; + StageExceptionHandler newListener; try { newListener = listener.getClass().newInstance(); } catch (InstantiationException e) { diff --git a/src/main/java/teetime/framework/RunnableConsumerStage.java b/src/main/java/teetime/framework/RunnableConsumerStage.java index 3412e93289aa64d49942a22e7922b247766283c1..83743de1d39137e8cda7e52dcb7c6f20816ea42a 100644 --- a/src/main/java/teetime/framework/RunnableConsumerStage.java +++ b/src/main/java/teetime/framework/RunnableConsumerStage.java @@ -2,13 +2,13 @@ package teetime.framework; import java.util.Arrays; -import teetime.framework.exceptionHandling.StageExceptionListener; +import teetime.framework.exceptionHandling.StageExceptionHandler; import teetime.framework.idle.IdleStrategy; import teetime.framework.idle.YieldStrategy; import teetime.framework.pipe.IPipe; import teetime.framework.signal.ISignal; -final class RunnableConsumerStage extends RunnableStage { +final class RunnableConsumerStage extends AbstractRunnableStage { private final IdleStrategy idleStrategy; @@ -18,11 +18,11 @@ final class RunnableConsumerStage extends RunnableStage { * @param stage * to execute within an own thread */ - public RunnableConsumerStage(final Stage stage, final StageExceptionListener exceptionListener) { + public RunnableConsumerStage(final Stage stage, final StageExceptionHandler exceptionListener) { this(stage, new YieldStrategy(), exceptionListener); } - public RunnableConsumerStage(final Stage stage, final IdleStrategy idleStrategy, final StageExceptionListener exceptionListener) { + public RunnableConsumerStage(final Stage stage, final IdleStrategy idleStrategy, final StageExceptionHandler exceptionListener) { super(stage, exceptionListener); this.idleStrategy = idleStrategy; } diff --git a/src/main/java/teetime/framework/RunnableProducerStage.java b/src/main/java/teetime/framework/RunnableProducerStage.java index 96411a74a38a84de3529585c54f057d6a8e39d93..9c4f7ac39ccb1bc899466f82d5d6311597082657 100644 --- a/src/main/java/teetime/framework/RunnableProducerStage.java +++ b/src/main/java/teetime/framework/RunnableProducerStage.java @@ -1,12 +1,12 @@ package teetime.framework; -import teetime.framework.exceptionHandling.StageExceptionListener; +import teetime.framework.exceptionHandling.StageExceptionHandler; import teetime.framework.signal.StartingSignal; import teetime.framework.signal.TerminatingSignal; -public final class RunnableProducerStage extends RunnableStage { +public final class RunnableProducerStage extends AbstractRunnableStage { - public RunnableProducerStage(final Stage stage, final StageExceptionListener listener) { + public RunnableProducerStage(final Stage stage, final StageExceptionHandler listener) { super(stage, listener); } diff --git a/src/main/java/teetime/framework/Stage.java b/src/main/java/teetime/framework/Stage.java index 0d0b82c5ca34033eb60b67861c952c0b846bc402..9c7f2e8fbe3d81c5b82944a1f9d1540a4b7ff307 100644 --- a/src/main/java/teetime/framework/Stage.java +++ b/src/main/java/teetime/framework/Stage.java @@ -27,7 +27,7 @@ public abstract class Stage { @SuppressWarnings("PMD.LoggerIsNotStaticFinal") protected final Logger logger; - /** The owning thread of this stage if this stage is directly executed by a {@link RunnableStage}, <code>null</code> otherwise. */ + /** The owning thread of this stage if this stage is directly executed by a {@link AbstractRunnableStage}, <code>null</code> otherwise. */ protected Thread owningThread; protected Stage() { diff --git a/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java b/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java index cf6fb4e2f961bc50f4c473bbf4b7a3a7819ac1ff..0a169c8c5d9c9114ff79ebf6edcd1f547a7985de 100644 --- a/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java +++ b/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java @@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling; import teetime.framework.Stage; -public class IgnoringStageListener extends StageExceptionListener { +public class IgnoringStageListener extends StageExceptionHandler { public IgnoringStageListener() { super(); diff --git a/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java b/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java index f6c622f6f5555ad6bdd9a7d45be7a65e2ee3bae6..4341620cb83c1d6c8a5ff0e5108ba7a8a9a4fe37 100644 --- a/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java +++ b/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java @@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling; import teetime.framework.Stage; -public class LoggingStageListener extends StageExceptionListener { +public class LoggingStageListener extends StageExceptionHandler { @Override public FurtherExecution onStageException(final Exception e, final Stage throwingStage) { diff --git a/src/main/java/teetime/framework/exceptionHandling/StageExceptionListener.java b/src/main/java/teetime/framework/exceptionHandling/StageExceptionHandler.java similarity index 92% rename from src/main/java/teetime/framework/exceptionHandling/StageExceptionListener.java rename to src/main/java/teetime/framework/exceptionHandling/StageExceptionHandler.java index 68f0f209458b7e858ba30203c309d3c7b12c506a..c413fd2d995d5ec05ae48d492f18f370df30078f 100644 --- a/src/main/java/teetime/framework/exceptionHandling/StageExceptionListener.java +++ b/src/main/java/teetime/framework/exceptionHandling/StageExceptionHandler.java @@ -9,7 +9,7 @@ import teetime.framework.Stage; * Represent a minimalistic StageExceptionListener. Listener which extend from this one, must a least implement this functionality. * This abstract class provides a Logger {@link #logger} and a method to terminate the threads execution {@link #terminateExecution()}. */ -public abstract class StageExceptionListener { +public abstract class StageExceptionHandler { public enum FurtherExecution { CONTINUE, TERMINATE @@ -20,7 +20,7 @@ public abstract class StageExceptionListener { */ protected final Logger logger; - public StageExceptionListener() { + public StageExceptionHandler() { this.logger = LoggerFactory.getLogger(this.getClass().getCanonicalName()); } diff --git a/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java b/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java index 810a7d577b4db1e536c1ccf61155adacf89503ea..74711a0aa3d981cc6baad27593237ff1062f9fb2 100644 --- a/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java +++ b/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java @@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling; import teetime.framework.Stage; -public class TerminatingStageListener extends StageExceptionListener { +public class TerminatingStageListener extends StageExceptionHandler { @Override public FurtherExecution onStageException(final Exception e, final Stage throwingStage) { diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki index a93581905ef7b0584d52eae1898148ffa6201a31..0e4474577e1f49bc96e734c286b2d9e0363895e8 160000 --- a/src/site/markdown/wiki +++ b/src/site/markdown/wiki @@ -1 +1 @@ -Subproject commit a93581905ef7b0584d52eae1898148ffa6201a31 +Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8 diff --git a/src/test/java/teetime/framework/exceptionHandling/TestListener.java b/src/test/java/teetime/framework/exceptionHandling/TestListener.java index 34d040315418cb23c696527b9dc95cceb88e9ebd..cf1016825465825b7072d5812375b66c397916b3 100644 --- a/src/test/java/teetime/framework/exceptionHandling/TestListener.java +++ b/src/test/java/teetime/framework/exceptionHandling/TestListener.java @@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling; import teetime.framework.Stage; -public class TestListener extends StageExceptionListener { +public class TestListener extends StageExceptionHandler { public static int exceptionInvoked = 0;