From 92df3cbe77988373484026fcb6d3d906284f50e2 Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <stu103017@mail.uni-kiel.de> Date: Fri, 24 Jul 2015 16:46:29 +0200 Subject: [PATCH] minor refactoring --- .../framework/ConfigurationContext.java | 31 +++++++++---------- .../java/teetime/framework/ThreadService.java | 1 - 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/main/java/teetime/framework/ConfigurationContext.java b/src/main/java/teetime/framework/ConfigurationContext.java index 2f539214..a0b66853 100644 --- a/src/main/java/teetime/framework/ConfigurationContext.java +++ b/src/main/java/teetime/framework/ConfigurationContext.java @@ -15,9 +15,9 @@ */ package teetime.framework; -import java.util.ArrayList; -import java.util.List; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,18 +36,16 @@ final class ConfigurationContext { private static final Logger LOGGER = LoggerFactory.getLogger(ConfigurationContext.class); - private final List<ConfigurationContext> childs = new ArrayList<ConfigurationContext>(); // parent-child-tree - private final AbstractCompositeStage compositeStage; + private final Set<ConfigurationContext> childs = new HashSet<ConfigurationContext>(); // parent-child-tree - private ThreadService runtimeService; + private ThreadService threadService; ConfigurationContext(final AbstractCompositeStage compositeStage) { - this.compositeStage = compositeStage; - this.runtimeService = new ThreadService(compositeStage); + this.threadService = new ThreadService(compositeStage); } Map<Stage, String> getThreadableStages() { - return runtimeService.getThreadableStages(); + return threadService.getThreadableStages(); } /** @@ -55,7 +53,7 @@ final class ConfigurationContext { */ final void addThreadableStage(final Stage stage, final String threadName) { childFunction(stage); - runtimeService.addThreadableStage(stage, threadName); + threadService.addThreadableStage(stage, threadName); } /** @@ -63,7 +61,7 @@ final class ConfigurationContext { */ final <T> void connectPorts(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) { if (sourcePort.getOwningStage().getInputPorts().size() == 0) { - if (!runtimeService.getThreadableStages().containsKey(sourcePort.getOwningStage())) { + if (!threadService.getThreadableStages().containsKey(sourcePort.getOwningStage())) { addThreadableStage(sourcePort.getOwningStage(), sourcePort.getOwningStage().getId()); } } @@ -80,8 +78,6 @@ final class ConfigurationContext { final void childFunction(final Stage stage) { if (!stage.owningContext.equals(EMPTY_CONTEXT)) { if (stage.owningContext != this) { // Performance - // this.runtimeService.getThreadableStages().putAll(stage.owningContext.getRuntimeService().getThreadableStages()); - // stage.owningContext.getRuntimeService().setThreadableStages(this.getRuntimeService().getThreadableStages()); childs.add(stage.owningContext); } } else { @@ -98,19 +94,22 @@ final class ConfigurationContext { } final void initializeServices() { - runtimeService.onInitialize(); + threadService.onInitialize(); } private void mergeContexts(final ConfigurationContext child) { - runtimeService.merge(child.getRuntimeService()); + threadService.merge(child.getRuntimeService()); + + // Finally copy parent services + child.threadService = this.threadService; } public ThreadService getRuntimeService() { - return runtimeService; + return threadService; } public void setRuntimeService(final ThreadService runtimeService) { - this.runtimeService = runtimeService; + this.threadService = runtimeService; } } diff --git a/src/main/java/teetime/framework/ThreadService.java b/src/main/java/teetime/framework/ThreadService.java index c89df66e..ab879294 100644 --- a/src/main/java/teetime/framework/ThreadService.java +++ b/src/main/java/teetime/framework/ThreadService.java @@ -216,7 +216,6 @@ class ThreadService extends AbstractService<ThreadService> { @Override void merge(final ThreadService source) { this.getThreadableStages().putAll(source.getThreadableStages()); - source.setThreadableStages(this.getThreadableStages()); } SignalingCounter getRunnableCounter() { -- GitLab