diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java index 59012068d271b5ab42fb903cf8da037e51a34575..50c9ee708cce74aa4257336f900a51f0a61ff4b4 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 3b421195e813be4d07da5512bf0c0f9a0d06f455..27cc0acbf543364ccae5b70671b2d958c2d210b2 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 05e3c2b948190c516a638ac09715f4591a9b97e8..06f1b654d4b75b5ec0c52bee89eaec63cef23313 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 91c0b39818dc1984aa39475c189bd3f70a755db0..1f88fe8a005e4e2258b11170103fb31c434ad5ee 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 db1679cc3b260d88506889f17f95c337b2ba6af5..4323c31cfe9e615f31a00650f7bc8a071d980594 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 63bf0300323b1d769f36d2e1aa54e62492ca2005..556314b957aa6a46b746ecb3df20400429395ba2 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 17e2c17d207ce8a79d0853668b3a6f3dadc2d148..d5cd237ecb7da203fe58e4ded8fe95624518a7a6 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 6feb5ac1e101a2746678db7de9af0520282b199c..10dd62b9626098f8ee14dc151cbace7c142555d0 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 d763a7b0024d13886eafbcdea7f7d533dd98a573..66b8a23f83386bd7f908754f72ab1f247dbd4107 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 1e8730e921067f0ef168952e494f7a5ba39fa8b7..be9d357d8801bebee84ad562f3f1fe921544679d 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 3f35c80d2d374cfb9810150bd3f79e171beb22df..30abe6e0c26c1e276c34f4bb0d3c01933a0115b1 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();