From 5a2a268c889151dda508e683b10ae8a30931c46b Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <stu103017@mail.uni-kiel.de> Date: Thu, 2 Jul 2015 15:41:57 +0200 Subject: [PATCH] removed empty context --- .../teetime/framework/AbstractCompositeStage.java | 2 +- .../teetime/framework/ConfigurationContext.java | 6 ++++-- src/main/java/teetime/framework/EmptyContext.java | 15 --------------- src/main/java/teetime/framework/Stage.java | 2 +- .../java/teetime/stage/io/EveryXthPrinter.java | 3 +-- .../java/teetime/stage/string/WordCounter.java | 3 +-- .../java/teetime/framework/TraversorTest.java | 2 +- 7 files changed, 9 insertions(+), 24 deletions(-) delete mode 100644 src/main/java/teetime/framework/EmptyContext.java diff --git a/src/main/java/teetime/framework/AbstractCompositeStage.java b/src/main/java/teetime/framework/AbstractCompositeStage.java index 07aa5c98..060f0e77 100644 --- a/src/main/java/teetime/framework/AbstractCompositeStage.java +++ b/src/main/java/teetime/framework/AbstractCompositeStage.java @@ -36,7 +36,7 @@ public abstract class AbstractCompositeStage { this.context = new ConfigurationContext(); } - protected ConfigurationContext getContext() { + ConfigurationContext getContext() { return context; } diff --git a/src/main/java/teetime/framework/ConfigurationContext.java b/src/main/java/teetime/framework/ConfigurationContext.java index 555e0e30..87bb41bf 100644 --- a/src/main/java/teetime/framework/ConfigurationContext.java +++ b/src/main/java/teetime/framework/ConfigurationContext.java @@ -29,7 +29,9 @@ import teetime.framework.pipe.InstantiationPipe; * * @since 2.0 */ -public class ConfigurationContext { +final class ConfigurationContext { + + public static final ConfigurationContext EMPTY_CONTEXT = new ConfigurationContext(); private static final Logger LOGGER = LoggerFactory.getLogger(ConfigurationContext.class); @@ -70,7 +72,7 @@ public class ConfigurationContext { } final void mergeContexts(final Stage stage) { - if (!stage.owningContext.equals(EmptyContext.getInstance())) { + if (!stage.owningContext.equals(EMPTY_CONTEXT)) { if (stage.owningContext != this) { // Performance this.threadableStages.putAll(stage.owningContext.threadableStages); stage.owningContext.threadableStages = this.threadableStages; diff --git a/src/main/java/teetime/framework/EmptyContext.java b/src/main/java/teetime/framework/EmptyContext.java deleted file mode 100644 index 3a676ebc..00000000 --- a/src/main/java/teetime/framework/EmptyContext.java +++ /dev/null @@ -1,15 +0,0 @@ -package teetime.framework; - -class EmptyContext extends ConfigurationContext { - - private static final EmptyContext INSTANCE = new EmptyContext(); - - private EmptyContext() { - - } - - static EmptyContext getInstance() { - return EmptyContext.INSTANCE; - } - -} diff --git a/src/main/java/teetime/framework/Stage.java b/src/main/java/teetime/framework/Stage.java index 4625f610..08a0e47b 100644 --- a/src/main/java/teetime/framework/Stage.java +++ b/src/main/java/teetime/framework/Stage.java @@ -48,7 +48,7 @@ public abstract class Stage { /** The owning thread of this stage if this stage is directly executed by a {@link AbstractRunnableStage}, <code>null</code> otherwise. */ protected Thread owningThread; - public ConfigurationContext owningContext = EmptyContext.getInstance(); + public ConfigurationContext owningContext = ConfigurationContext.EMPTY_CONTEXT; protected Stage() { this.id = this.createId(); diff --git a/src/main/java/teetime/stage/io/EveryXthPrinter.java b/src/main/java/teetime/stage/io/EveryXthPrinter.java index 4b62916d..c03f5646 100644 --- a/src/main/java/teetime/stage/io/EveryXthPrinter.java +++ b/src/main/java/teetime/stage/io/EveryXthPrinter.java @@ -19,7 +19,6 @@ import java.util.ArrayList; import java.util.List; import teetime.framework.AbstractCompositeStage; -import teetime.framework.ConfigurationContext; import teetime.framework.InputPort; import teetime.framework.OutputPort; import teetime.framework.Stage; @@ -32,7 +31,7 @@ public final class EveryXthPrinter<T> extends AbstractCompositeStage { private final Distributor<T> distributor; private final List<Stage> lastStages = new ArrayList<Stage>(); - public EveryXthPrinter(final int threshold, final ConfigurationContext context) { + public EveryXthPrinter(final int threshold) { distributor = new Distributor<T>(new CopyByReferenceStrategy()); EveryXthStage<T> everyXthStage = new EveryXthStage<T>(threshold); Printer<Integer> printer = new Printer<Integer>(); diff --git a/src/main/java/teetime/stage/string/WordCounter.java b/src/main/java/teetime/stage/string/WordCounter.java index 6d15a3f2..46d22380 100644 --- a/src/main/java/teetime/stage/string/WordCounter.java +++ b/src/main/java/teetime/stage/string/WordCounter.java @@ -16,7 +16,6 @@ package teetime.stage.string; import teetime.framework.AbstractCompositeStage; -import teetime.framework.ConfigurationContext; import teetime.framework.InputPort; import teetime.framework.OutputPort; import teetime.stage.MappingCounter; @@ -36,7 +35,7 @@ public final class WordCounter extends AbstractCompositeStage { private final Tokenizer tokenizer; private final MappingCounter<String> mapCounter; - public WordCounter(final ConfigurationContext context) { + public WordCounter() { this.tokenizer = new Tokenizer(" "); final ToLowerCase toLowerCase = new ToLowerCase(); diff --git a/src/test/java/teetime/framework/TraversorTest.java b/src/test/java/teetime/framework/TraversorTest.java index 95e118b1..ec0829ce 100644 --- a/src/test/java/teetime/framework/TraversorTest.java +++ b/src/test/java/teetime/framework/TraversorTest.java @@ -77,7 +77,7 @@ public class TraversorTest { // Middle part... multiple instances of WordCounter are created and connected to the merger and distrubuter stages for (int i = 0; i < threads; i++) { // final InputPortSizePrinter<String> inputPortSizePrinter = new InputPortSizePrinter<String>(); - final WordCounter wc = new WordCounter(this.getContext()); + final WordCounter wc = new WordCounter(); // intraFact.create(inputPortSizePrinter.getOutputPort(), wc.getInputPort()); connectPorts(distributor.getNewOutputPort(), wc.getInputPort()); -- GitLab