From 6f8a8aabcaddba3d96ce233830dc11a8f6c7a0f1 Mon Sep 17 00:00:00 2001
From: Christian Wulf <chw@informatik.uni-kiel.de>
Date: Thu, 16 Apr 2015 17:11:05 +0200
Subject: [PATCH] refactoring

---
 src/main/java/teetime/framework/Analysis.java | 37 ++++++++-----------
 src/site/markdown/wiki                        |  2 +-
 2 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java
index aa6cd428..73389551 100644
--- a/src/main/java/teetime/framework/Analysis.java
+++ b/src/main/java/teetime/framework/Analysis.java
@@ -138,40 +138,25 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught
 			case BY_SIGNAL: {
 				final RunnableConsumerStage runnableConsumerStage = new RunnableConsumerStage(stage);
 				final Thread thread = new Thread(runnableConsumerStage);
-				stage.setExceptionHandler(newListener);
-				for (Stage intraStage : intraStages) {
-					intraStage.setOwningThread(thread);
-					intraStage.setExceptionHandler(newListener);
-				}
 				this.consumerThreads.add(thread);
-				thread.setUncaughtExceptionHandler(this);
-				thread.setName(stage.getId());
+
+				configureThread(newListener, intraStages, stage, thread);
 				break;
 			}
 			case BY_SELF_DECISION: {
 				final RunnableProducerStage runnable = new RunnableProducerStage(stage);
 				final Thread thread = new Thread(runnable);
-				stage.setExceptionHandler(newListener);
-				for (Stage intraStage : intraStages) {
-					intraStage.setOwningThread(thread);
-					intraStage.setExceptionHandler(newListener);
-				}
 				this.finiteProducerThreads.add(thread);
-				thread.setUncaughtExceptionHandler(this);
-				thread.setName(stage.getId());
+
+				configureThread(newListener, intraStages, stage, thread);
 				break;
 			}
 			case BY_INTERRUPT: {
 				final RunnableProducerStage runnable = new RunnableProducerStage(stage);
 				final Thread thread = new Thread(runnable);
-				stage.setExceptionHandler(newListener);
-				for (Stage intraStage : intraStages) {
-					intraStage.setOwningThread(thread);
-					intraStage.setExceptionHandler(newListener);
-				}
 				this.infiniteProducerThreads.add(thread);
-				thread.setUncaughtExceptionHandler(this);
-				thread.setName(stage.getId());
+
+				configureThread(newListener, intraStages, stage, thread);
 				break;
 			}
 			default:
@@ -181,6 +166,16 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught
 
 	}
 
+	private void configureThread(final AbstractExceptionListener newListener, final Set<Stage> intraStages, final Stage stage, final Thread thread) {
+		stage.setExceptionHandler(newListener);
+		for (Stage intraStage : intraStages) {
+			intraStage.setOwningThread(thread);
+			intraStage.setExceptionHandler(newListener);
+		}
+		thread.setUncaughtExceptionHandler(this);
+		thread.setName(stage.getId());
+	}
+
 	/**
 	 * This method will start the Analysis and all containing stages.
 	 *
diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki
index 162510ff..0e447457 160000
--- a/src/site/markdown/wiki
+++ b/src/site/markdown/wiki
@@ -1 +1 @@
-Subproject commit 162510ff4d2f04011498ba6920aae0c78347c6c8
+Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8
-- 
GitLab