Skip to content
Snippets Groups Projects
Commit 6f8a8aab authored by Christian Wulf's avatar Christian Wulf
Browse files

refactoring

parent 0dbd0cb4
No related branches found
No related tags found
No related merge requests found
......@@ -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.
*
......
wiki @ 0e447457
Subproject commit 162510ff4d2f04011498ba6920aae0c78347c6c8
Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment