From b5d2c03e1521c89266984551719a2e4a70c0853f Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <stu103017@mail.uni-kiel.de> Date: Tue, 5 May 2015 16:52:43 +0200 Subject: [PATCH] moved initializing --- src/main/java/teetime/framework/Analysis.java | 18 ++++++++---------- .../framework/RunnableProducerStage.java | 3 --- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java index a0c78ef9..f1ca4827 100644 --- a/src/main/java/teetime/framework/Analysis.java +++ b/src/main/java/teetime/framework/Analysis.java @@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory; import teetime.framework.exceptionHandling.AbstractExceptionListener; import teetime.framework.exceptionHandling.IExceptionListenerFactory; import teetime.framework.exceptionHandling.IgnoringExceptionListenerFactory; +import teetime.framework.signal.InitializingSignal; import teetime.framework.signal.ValidatingSignal; import teetime.framework.validation.AnalysisNotValidException; import teetime.util.Pair; @@ -142,22 +143,24 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught final RunnableProducerStage runnable = new RunnableProducerStage(stage); thread = createThread(runnable, stage.getId()); this.finiteProducerThreads.add(thread); + InitializingSignal initializingSignal = new InitializingSignal(); + stage.onSignal(initializingSignal, null); break; } case BY_INTERRUPT: { final RunnableProducerStage runnable = new RunnableProducerStage(stage); thread = createThread(runnable, stage.getId()); + InitializingSignal initializingSignal = new InitializingSignal(); + stage.onSignal(initializingSignal, null); this.infiniteProducerThreads.add(thread); break; } default: throw new IllegalStateException("Unhandled termination strategy: " + terminationStrategy); } - - // FIXME: remove, if this solves the #151 bug - // final Set<Stage> intraStages = traverseIntraStages(stage); - // final AbstractExceptionListener newListener = factory.createInstance(); - // initializeIntraStages(intraStages, thread, newListener); + final Set<Stage> intraStages = traverseIntraStages(stage); + final AbstractExceptionListener newListener = factory.createInstance(); + initializeIntraStages(intraStages, thread, newListener); } } @@ -173,11 +176,6 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught for (Stage intraStage : intraStages) { intraStage.setOwningThread(thread); intraStage.setExceptionHandler(newListener); - try { - intraStage.onInitializing(); - } catch (Exception e) { // NOPMD(generic framework catch) - throw new IllegalStateException("The following exception occurs within initializing the analysis:", e); - } } } diff --git a/src/main/java/teetime/framework/RunnableProducerStage.java b/src/main/java/teetime/framework/RunnableProducerStage.java index a9f2c9a4..2b7b556a 100644 --- a/src/main/java/teetime/framework/RunnableProducerStage.java +++ b/src/main/java/teetime/framework/RunnableProducerStage.java @@ -15,7 +15,6 @@ */ package teetime.framework; -import teetime.framework.signal.InitializingSignal; import teetime.framework.signal.StartingSignal; import teetime.framework.signal.TerminatingSignal; @@ -27,8 +26,6 @@ public final class RunnableProducerStage extends AbstractRunnableStage { @Override protected void beforeStageExecution(final Stage stage) { - InitializingSignal initializingSignal = new InitializingSignal(); - stage.onSignal(initializingSignal, null); final StartingSignal startingSignal = new StartingSignal(); stage.onSignal(startingSignal, null); } -- GitLab