From 08c1872ffa58bd508bd2b5615d0f80ee36390c92 Mon Sep 17 00:00:00 2001 From: Christian Wulf <chw@informatik.uni-kiel.de> Date: Thu, 30 Apr 2015 16:42:28 +0200 Subject: [PATCH] added null check for SingleElementPipe (test is still missing) --- .settings/edu.umd.cs.findbugs.core.prefs | 2 +- src/main/java/teetime/framework/Analysis.java | 7 +++---- .../java/teetime/framework/pipe/SingleElementPipe.java | 9 ++++++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs index 798cc6c5..1ca927d6 100644 --- a/.settings/edu.umd.cs.findbugs.core.prefs +++ b/.settings/edu.umd.cs.findbugs.core.prefs @@ -1,5 +1,5 @@ #FindBugs User Preferences -#Tue Apr 28 16:12:41 CEST 2015 +#Thu Apr 30 13:44:10 CEST 2015 detector_threshold=3 effort=max excludefilter0=.fbExcludeFilterFile|true diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java index 8d78e366..a1773edb 100644 --- a/src/main/java/teetime/framework/Analysis.java +++ b/src/main/java/teetime/framework/Analysis.java @@ -128,11 +128,10 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught if (threadableStageJobs.isEmpty()) { throw new IllegalStateException("No stage was added using the addThreadableStage(..) method. Add at least one stage."); } - AbstractExceptionListener newListener; - Set<Stage> intraStages; + for (Stage stage : threadableStageJobs) { - intraStages = traverseIntraStages(stage); - newListener = factory.createInstance(); + Set<Stage> intraStages = traverseIntraStages(stage); + AbstractExceptionListener newListener = factory.createInstance(); switch (stage.getTerminationStrategy()) { case BY_SIGNAL: { final RunnableConsumerStage runnable = new RunnableConsumerStage(stage); diff --git a/src/main/java/teetime/framework/pipe/SingleElementPipe.java b/src/main/java/teetime/framework/pipe/SingleElementPipe.java index 703ada6b..18c3423c 100644 --- a/src/main/java/teetime/framework/pipe/SingleElementPipe.java +++ b/src/main/java/teetime/framework/pipe/SingleElementPipe.java @@ -35,9 +35,12 @@ public final class SingleElementPipe extends AbstractIntraThreadPipe { @Override public boolean add(final Object element) { - this.element = element; - this.reportNewElement(); - return true; + if (null != element) { + this.element = element; + this.reportNewElement(); + return true; + } + return false; } @Override -- GitLab