From bddf4b481337e262239b3e1111d2c0645db5037a Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de> Date: Fri, 30 Jan 2015 15:25:02 +0100 Subject: [PATCH] added mechanism, which kills the whole analysis execution --- src/main/java/teetime/framework/RunnableStage.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/teetime/framework/RunnableStage.java b/src/main/java/teetime/framework/RunnableStage.java index 229e1d5b..514d8c18 100644 --- a/src/main/java/teetime/framework/RunnableStage.java +++ b/src/main/java/teetime/framework/RunnableStage.java @@ -23,7 +23,7 @@ abstract class RunnableStage implements Runnable { @Override public final void run() { this.logger.debug("Executing runnable stage..."); - + boolean failed = false; try { beforeStageExecution(); @@ -33,6 +33,7 @@ abstract class RunnableStage implements Runnable { } catch (StageException e) { if (this.listener.onStageException(e, e.getThrowingStage()) == FurtherExecution.TERMINATE) { this.stage.terminate(); + failed = true; } } } while (!this.stage.shouldBeTerminated()); @@ -48,6 +49,9 @@ abstract class RunnableStage implements Runnable { } this.logger.debug("Finished runnable stage. (" + this.stage.getId() + ")"); + if (failed) { + throw new IllegalStateException("Terminated by StageExceptionListener"); + } } protected abstract void beforeStageExecution(); -- GitLab