From c3d6e3fb7fc94c2ee01aaff1d0cb71a241ca3937 Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <stu103017@mail.uni-kiel.de> Date: Tue, 2 Feb 2016 16:02:50 +0100 Subject: [PATCH] refactored AbstractCompositeStage (name and non-abstract) --- src/main/java/teetime/framework/AbstractStage.java | 3 --- .../{AbstractCompositeStage.java => CompositeStage.java} | 7 ++++++- src/main/java/teetime/framework/Configuration.java | 2 +- src/main/java/teetime/stage/io/EveryXthPrinter.java | 4 ++-- src/main/java/teetime/stage/string/WordCounter.java | 4 ++-- .../java/teetime/stage/taskfarm/ITaskFarmDuplicable.java | 2 +- src/main/java/teetime/stage/taskfarm/TaskFarmStage.java | 4 ++-- .../teetime/framework/CompositeCounterIncrementer.java | 2 +- .../java/teetime/framework/CompositeProducerStage.java | 2 +- ...ractCompositeStageTest.java => CompositeStageTest.java} | 2 +- .../stage/taskfarm/TaskFarmStageTestConfiguration.java | 4 ++-- 11 files changed, 19 insertions(+), 17 deletions(-) rename src/main/java/teetime/framework/{AbstractCompositeStage.java => CompositeStage.java} (92%) rename src/test/java/teetime/framework/{AbstractCompositeStageTest.java => CompositeStageTest.java} (99%) diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java index 59012068..50c9ee70 100644 --- a/src/main/java/teetime/framework/AbstractStage.java +++ b/src/main/java/teetime/framework/AbstractStage.java @@ -40,7 +40,6 @@ import teetime.util.framework.port.PortRemovedListener; * Represents a minimal Stage, with some pre-defined methods. * Implemented stages need to adapt all abstract methods with own implementations. */ -@SuppressWarnings("PMD.AbstractNaming") public abstract class AbstractStage { private static final ConcurrentMap<String, Integer> INSTANCES_COUNTER = new ConcurrentHashMap<String, Integer>(); @@ -100,7 +99,6 @@ public abstract class AbstractStage { return newId; } - @SuppressWarnings("PMD.DefaultPackage") static void clearInstanceCounters() { INSTANCES_COUNTER.clear(); } @@ -208,7 +206,6 @@ public abstract class AbstractStage { * @param inputPort * The port which received the signal */ - @SuppressWarnings("PMD.DataflowAnomalyAnalysis") final void onSignal(final ISignal signal, final InputPort<?> inputPort) { Class<? extends ISignal> signalClass = signal.getClass(); diff --git a/src/main/java/teetime/framework/AbstractCompositeStage.java b/src/main/java/teetime/framework/CompositeStage.java similarity index 92% rename from src/main/java/teetime/framework/AbstractCompositeStage.java rename to src/main/java/teetime/framework/CompositeStage.java index 3b421195..27cc0acb 100644 --- a/src/main/java/teetime/framework/AbstractCompositeStage.java +++ b/src/main/java/teetime/framework/CompositeStage.java @@ -19,19 +19,24 @@ import teetime.framework.pipe.InstantiationPipe; /** * Represents a minimal stage that composes several other stages. + * In order to work with this class, you need to extend from it and work from within the extending class. * * @since 2.0 * * @author Christian Wulf, Nelson Tavares de Sousa * */ -public abstract class AbstractCompositeStage { +public class CompositeStage { /** * Default capacity for pipes */ private static final int DEFAULT_CAPACITY = 4; + protected CompositeStage() { + // prohibit instantiation of this class + } + /** * Connects two ports with a pipe with a default capacity of currently {@value #DEFAULT_CAPACITY}. * diff --git a/src/main/java/teetime/framework/Configuration.java b/src/main/java/teetime/framework/Configuration.java index 05e3c2b9..06f1b654 100644 --- a/src/main/java/teetime/framework/Configuration.java +++ b/src/main/java/teetime/framework/Configuration.java @@ -26,7 +26,7 @@ import teetime.framework.exceptionHandling.TerminatingExceptionListenerFactory; * @since 2.0 * */ -public class Configuration extends AbstractCompositeStage { +public class Configuration extends CompositeStage { private final AbstractExceptionListenerFactory<?> factory; private final ConfigurationContext context; diff --git a/src/main/java/teetime/stage/io/EveryXthPrinter.java b/src/main/java/teetime/stage/io/EveryXthPrinter.java index 91c0b398..1f88fe8a 100644 --- a/src/main/java/teetime/stage/io/EveryXthPrinter.java +++ b/src/main/java/teetime/stage/io/EveryXthPrinter.java @@ -18,7 +18,7 @@ package teetime.stage.io; import java.util.ArrayList; import java.util.List; -import teetime.framework.AbstractCompositeStage; +import teetime.framework.CompositeStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; import teetime.framework.AbstractStage; @@ -26,7 +26,7 @@ import teetime.stage.EveryXthStage; import teetime.stage.basic.distributor.Distributor; import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy; -public final class EveryXthPrinter<T> extends AbstractCompositeStage { +public final class EveryXthPrinter<T> extends CompositeStage { private final Distributor<T> distributor; private final List<AbstractStage> lastStages = new ArrayList<AbstractStage>(); diff --git a/src/main/java/teetime/stage/string/WordCounter.java b/src/main/java/teetime/stage/string/WordCounter.java index db1679cc..4323c31c 100644 --- a/src/main/java/teetime/stage/string/WordCounter.java +++ b/src/main/java/teetime/stage/string/WordCounter.java @@ -15,7 +15,7 @@ */ package teetime.stage.string; -import teetime.framework.AbstractCompositeStage; +import teetime.framework.CompositeStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; import teetime.stage.MappingCounter; @@ -31,7 +31,7 @@ import teetime.stage.util.CountingMap; * @author Nelson Tavares de Sousa * */ -public final class WordCounter extends AbstractCompositeStage implements ITaskFarmDuplicable<String, CountingMap<String>> { +public final class WordCounter extends CompositeStage implements ITaskFarmDuplicable<String, CountingMap<String>> { private final Tokenizer tokenizer; private final MappingCounter<String> mapCounter; diff --git a/src/main/java/teetime/stage/taskfarm/ITaskFarmDuplicable.java b/src/main/java/teetime/stage/taskfarm/ITaskFarmDuplicable.java index 63bf0300..556314b9 100644 --- a/src/main/java/teetime/stage/taskfarm/ITaskFarmDuplicable.java +++ b/src/main/java/teetime/stage/taskfarm/ITaskFarmDuplicable.java @@ -19,7 +19,7 @@ import teetime.framework.InputPort; import teetime.framework.OutputPort; /** - * Any {@link teetime.framework.AbstractStage AbstractStage} or {@link teetime.framework.AbstractCompositeStage AbstractCompositeStage} implementing this interface + * Any {@link teetime.framework.AbstractStage AbstractStage} or {@link teetime.framework.CompositeStage AbstractCompositeStage} implementing this interface * can be used by a Task Farm as an enclosed stage. The enclosed * stage may not have more than one input or output port each. * diff --git a/src/main/java/teetime/stage/taskfarm/TaskFarmStage.java b/src/main/java/teetime/stage/taskfarm/TaskFarmStage.java index 17e2c17d..d5cd237e 100644 --- a/src/main/java/teetime/stage/taskfarm/TaskFarmStage.java +++ b/src/main/java/teetime/stage/taskfarm/TaskFarmStage.java @@ -18,7 +18,7 @@ package teetime.stage.taskfarm; import java.util.LinkedList; import java.util.List; -import teetime.framework.AbstractCompositeStage; +import teetime.framework.CompositeStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; import teetime.stage.basic.distributor.dynamic.DynamicDistributor; @@ -41,7 +41,7 @@ import teetime.stage.taskfarm.monitoring.SingleTaskFarmMonitoringService; * @param <T> * Type of the parallelized stage */ -public final class TaskFarmStage<I, O, T extends ITaskFarmDuplicable<I, O>> extends AbstractCompositeStage { +public final class TaskFarmStage<I, O, T extends ITaskFarmDuplicable<I, O>> extends CompositeStage { /** currently existing worker stages **/ private final List<ITaskFarmDuplicable<I, O>> enclosedStageInstances = new LinkedList<ITaskFarmDuplicable<I, O>>(); diff --git a/src/test/java/teetime/framework/CompositeCounterIncrementer.java b/src/test/java/teetime/framework/CompositeCounterIncrementer.java index 6feb5ac1..10dd62b9 100644 --- a/src/test/java/teetime/framework/CompositeCounterIncrementer.java +++ b/src/test/java/teetime/framework/CompositeCounterIncrementer.java @@ -15,7 +15,7 @@ */ package teetime.framework; -class CompositeCounterIncrementer extends AbstractCompositeStage { +class CompositeCounterIncrementer extends CompositeStage { private final InputPort<CounterContainer> inputPort; private final OutputPort<CounterContainer> outputPort; diff --git a/src/test/java/teetime/framework/CompositeProducerStage.java b/src/test/java/teetime/framework/CompositeProducerStage.java index d763a7b0..66b8a23f 100644 --- a/src/test/java/teetime/framework/CompositeProducerStage.java +++ b/src/test/java/teetime/framework/CompositeProducerStage.java @@ -26,7 +26,7 @@ import teetime.stage.basic.merger.Merger; * @param <T> * the element type of the producer */ -class CompositeProducerStage<T> extends AbstractCompositeStage { +class CompositeProducerStage<T> extends CompositeStage { private final Merger<T> merger; diff --git a/src/test/java/teetime/framework/AbstractCompositeStageTest.java b/src/test/java/teetime/framework/CompositeStageTest.java similarity index 99% rename from src/test/java/teetime/framework/AbstractCompositeStageTest.java rename to src/test/java/teetime/framework/CompositeStageTest.java index 1e8730e9..be9d357d 100644 --- a/src/test/java/teetime/framework/AbstractCompositeStageTest.java +++ b/src/test/java/teetime/framework/CompositeStageTest.java @@ -40,7 +40,7 @@ import teetime.testutil.AssertHelper; * @author Christian Wulf * */ -public class AbstractCompositeStageTest { +public class CompositeStageTest { @Before public void before() { diff --git a/src/test/java/teetime/stage/taskfarm/TaskFarmStageTestConfiguration.java b/src/test/java/teetime/stage/taskfarm/TaskFarmStageTestConfiguration.java index 3f35c80d..30abe6e0 100644 --- a/src/test/java/teetime/stage/taskfarm/TaskFarmStageTestConfiguration.java +++ b/src/test/java/teetime/stage/taskfarm/TaskFarmStageTestConfiguration.java @@ -18,7 +18,7 @@ package teetime.stage.taskfarm; import java.util.LinkedList; import java.util.List; -import teetime.framework.AbstractCompositeStage; +import teetime.framework.CompositeStage; import teetime.framework.Configuration; import teetime.framework.InputPort; import teetime.framework.OutputPort; @@ -54,7 +54,7 @@ public class TaskFarmStageTestConfiguration extends Configuration { connectPorts(taskFarmStage.getOutputPort(), sink.getInputPort()); } - private static class CompositeTestStage extends AbstractCompositeStage implements ITaskFarmDuplicable<Long, String> { + private static class CompositeTestStage extends CompositeStage implements ITaskFarmDuplicable<Long, String> { private final PlusOneInStringStage pOne = new PlusOneInStringStage(); private final StringDuplicationStage sDup = new StringDuplicationStage(); -- GitLab