From 36b0dae63c47eddef7972b4b32a025df08146869 Mon Sep 17 00:00:00 2001
From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de>
Date: Thu, 16 Apr 2015 14:42:06 +0200
Subject: [PATCH] every stage knows now the thread in which it is running

---
 .../teetime/framework/AbstractRunnableStage.java  | 10 ----------
 src/main/java/teetime/framework/Analysis.java     | 15 +++++++++------
 src/site/markdown/wiki                            |  2 +-
 3 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/src/main/java/teetime/framework/AbstractRunnableStage.java b/src/main/java/teetime/framework/AbstractRunnableStage.java
index bdb27075..428b679b 100644
--- a/src/main/java/teetime/framework/AbstractRunnableStage.java
+++ b/src/main/java/teetime/framework/AbstractRunnableStage.java
@@ -15,8 +15,6 @@
  */
 package teetime.framework;
 
-import java.util.Set;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -28,7 +26,6 @@ import teetime.framework.signal.TerminatingSignal;
 abstract class AbstractRunnableStage implements Runnable {
 
 	private final AbstractExceptionListener exceptionHandler;
-	private Set<Stage> intraStages;
 
 	private static final String TERMINATING_THREAD_DUE_TO_THE_FOLLOWING_EXCEPTION = "Terminating thread due to the following exception: ";
 
@@ -91,11 +88,4 @@ abstract class AbstractRunnableStage implements Runnable {
 
 	protected abstract void afterStageExecution(Stage stage);
 
-	public Set<Stage> getIntraStages() {
-		return intraStages;
-	}
-
-	public void setIntraStages(final Set<Stage> intraStages) {
-		this.intraStages = intraStages;
-	}
 }
diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java
index 43be9ee4..d62b3831 100644
--- a/src/main/java/teetime/framework/Analysis.java
+++ b/src/main/java/teetime/framework/Analysis.java
@@ -137,27 +137,30 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught
 			switch (stage.getTerminationStrategy()) {
 			case BY_SIGNAL: {
 				final RunnableConsumerStage runnableConsumerStage = new RunnableConsumerStage(stage, newListener);
-				runnableConsumerStage.setIntraStages(intraStages);
 				final Thread thread = new Thread(runnableConsumerStage);
-				stage.setOwningThread(thread);
+				for (Stage intraStage : intraStages) {
+					intraStage.setOwningThread(thread);
+				}
 				this.consumerThreads.add(thread);
 				thread.setName(stage.getId());
 				break;
 			}
 			case BY_SELF_DECISION: {
 				final RunnableProducerStage runnable = new RunnableProducerStage(stage, newListener);
-				runnable.setIntraStages(intraStages);
 				final Thread thread = new Thread(runnable);
-				stage.setOwningThread(thread);
+				for (Stage intraStage : intraStages) {
+					intraStage.setOwningThread(thread);
+				}
 				this.finiteProducerThreads.add(thread);
 				thread.setName(stage.getId());
 				break;
 			}
 			case BY_INTERRUPT: {
 				final RunnableProducerStage runnable = new RunnableProducerStage(stage, newListener);
-				runnable.setIntraStages(intraStages);
 				final Thread thread = new Thread(runnable);
-				stage.setOwningThread(thread);
+				for (Stage intraStage : intraStages) {
+					intraStage.setOwningThread(thread);
+				}
 				this.infiniteProducerThreads.add(thread);
 				thread.setName(stage.getId());
 				break;
diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki
index 0e447457..162510ff 160000
--- a/src/site/markdown/wiki
+++ b/src/site/markdown/wiki
@@ -1 +1 @@
-Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8
+Subproject commit 162510ff4d2f04011498ba6920aae0c78347c6c8
-- 
GitLab