diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java index b541b0aa415e4764db5e340c802d80ce15cd025b..5bb58812432667c97c13f7e1e8f5df8eb0411533 100644 --- a/src/main/java/teetime/framework/AbstractStage.java +++ b/src/main/java/teetime/framework/AbstractStage.java @@ -4,10 +4,6 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.UUID; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import teetime.framework.pipe.DummyPipe; import teetime.framework.pipe.IPipe; @@ -16,14 +12,6 @@ import teetime.framework.validation.InvalidPortConnection; public abstract class AbstractStage extends Stage { - private final String id; - /** - * A unique logger instance per stage instance - */ - protected final Logger logger; // NOPMD - - private Stage parentStage; - private final List<InputPort<?>> inputPortList = new ArrayList<InputPort<?>>(); private final List<OutputPort<?>> outputPortList = new ArrayList<OutputPort<?>>(); @@ -35,11 +23,6 @@ public abstract class AbstractStage extends Stage { private final Set<ISignal> triggeredSignals = new HashSet<ISignal>(); private boolean shouldTerminate; - public AbstractStage() { - this.id = UUID.randomUUID().toString(); // the id should only be represented by a UUID, not additionally by the class name - this.logger = LoggerFactory.getLogger(this.getClass().getName() + "(" + this.id + ")"); - } - private void connectUnconnectedOutputPorts() { for (OutputPort<?> outputPort : this.cachedOutputPorts) { if (null == outputPort.getPipe()) { // if port is unconnected @@ -57,21 +40,6 @@ public abstract class AbstractStage extends Stage { return this.cachedOutputPorts; } - @Override - public Stage getParentStage() { - return this.parentStage; - } - - @Override - public void setParentStage(final Stage parentStage, final int index) { - this.parentStage = parentStage; - } - - @Override - public String getId() { - return this.id; - } - /** * May not be invoked outside of IPipe implementations */ @@ -141,11 +109,6 @@ public abstract class AbstractStage extends Stage { } } - @Override - public String toString() { - return this.getClass().getName() + ": " + this.id; - } - @Override public void terminate() { this.shouldTerminate = true; diff --git a/src/main/java/teetime/framework/Stage.java b/src/main/java/teetime/framework/Stage.java index d490bc631a669a4b43509bda8c511331f80e754b..99f6c0b8d15139c066de47dd9c287e63dd797da9 100644 --- a/src/main/java/teetime/framework/Stage.java +++ b/src/main/java/teetime/framework/Stage.java @@ -1,17 +1,39 @@ package teetime.framework; import java.util.List; +import java.util.UUID; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import teetime.framework.signal.ISignal; import teetime.framework.validation.InvalidPortConnection; public abstract class Stage { - public abstract String getId(); + private final String id; + /** + * A unique logger instance per stage instance + */ + protected final Logger logger; // NOPMD + + protected Stage() { + this.id = UUID.randomUUID().toString(); // the id should only be represented by a UUID, not additionally by the class name + this.logger = LoggerFactory.getLogger(this.getClass().getName() + "(" + this.id + ")"); + } + + public String getId() { + return this.id; + } - public abstract Stage getParentStage(); + @Override + public String toString() { + return this.getClass().getName() + ": " + this.getId(); + } - public abstract void setParentStage(Stage parentStage, int index); + // public abstract Stage getParentStage(); + // + // public abstract void setParentStage(Stage parentStage, int index); /** * diff --git a/src/main/java/teetime/stage/CollectorSink.java b/src/main/java/teetime/stage/CollectorSink.java index a18f597dd9297c0272d8d923188c94298be4ce1c..eb4f3a0c5cb4aba15ce875f464499e5d28af8f42 100644 --- a/src/main/java/teetime/stage/CollectorSink.java +++ b/src/main/java/teetime/stage/CollectorSink.java @@ -15,6 +15,7 @@ ***************************************************************************/ package teetime.stage; +import java.util.ArrayList; import java.util.List; import teetime.framework.AbstractConsumerStage; @@ -24,39 +25,24 @@ import teetime.framework.AbstractConsumerStage; * * @since 1.0 */ -public class CollectorSink<T> extends AbstractConsumerStage<T> { +public final class CollectorSink<T> extends AbstractConsumerStage<T> { private final List<T> elements; - private final int threshold; - public CollectorSink(final List<T> list, final int threshold) { - this.elements = list; - this.threshold = threshold; + /** + * Creates a new {@link CollectorSink} with an {@link ArrayList}. + */ + public CollectorSink() { + this(new ArrayList<T>()); } public CollectorSink(final List<T> list) { - this(list, 100000); - } - - @Override - public void onTerminating() throws Exception { - logNumElements(); - super.onTerminating(); + this.elements = list; } @Override protected void execute(final T element) { this.elements.add(element); - - if ((this.elements.size() % this.threshold) == 0) { - logNumElements(); - } - } - - private void logNumElements() { - if (logger.isInfoEnabled()) { - logger.info("size: " + this.elements.size()); - } } } diff --git a/src/main/java/teetime/stage/Counter.java b/src/main/java/teetime/stage/Counter.java index 10632de710b00dbe9d12d3a701feb09fd69cd3d0..0a9b1c88b65d0a480dbb572b4b9263f3bde7a30d 100644 --- a/src/main/java/teetime/stage/Counter.java +++ b/src/main/java/teetime/stage/Counter.java @@ -12,7 +12,7 @@ public class Counter<T> extends AbstractConsumerStage<T> { @Override protected void execute(final T element) { this.numElementsPassed++; - // this.logger.debug("count: " + this.numElementsPassed); + outputPort.send(element); } diff --git a/src/main/java/teetime/stage/EveryXthStage.java b/src/main/java/teetime/stage/EveryXthStage.java new file mode 100644 index 0000000000000000000000000000000000000000..3ff9319df3e295bc30875652efbbd2dbb1a86a68 --- /dev/null +++ b/src/main/java/teetime/stage/EveryXthStage.java @@ -0,0 +1,29 @@ +package teetime.stage; + +import teetime.framework.AbstractConsumerStage; +import teetime.framework.OutputPort; + +public class EveryXthStage<T> extends AbstractConsumerStage<T> { + + private final OutputPort<T> outputPort = createOutputPort(); + private final int threshold; + + private int counter; + + public EveryXthStage(final int threshold) { + this.threshold = threshold; + } + + @Override + protected void execute(final T element) { + counter++; + if (counter % threshold == 0) { + outputPort.send(element); + } + } + + public OutputPort<T> getOutputPort() { + return outputPort; + } + +} diff --git a/src/main/java/teetime/stage/FileExtensionSwitch.java b/src/main/java/teetime/stage/FileExtensionSwitch.java index b58f2e9017e67094feffcfa075215a66a49bf86d..3824d223544827b2a24516040aa7309292518cad 100644 --- a/src/main/java/teetime/stage/FileExtensionSwitch.java +++ b/src/main/java/teetime/stage/FileExtensionSwitch.java @@ -9,14 +9,17 @@ import teetime.framework.OutputPort; import com.google.common.io.Files; -public class FileExtensionSwitch extends AbstractConsumerStage<File> { +public final class FileExtensionSwitch extends AbstractConsumerStage<File> { private final Map<String, OutputPort<File>> fileExtensions = new HashMap<String, OutputPort<File>>(); @Override protected void execute(final File file) { String fileExtension = Files.getFileExtension(file.getAbsolutePath()); - this.logger.debug("fileExtension: " + fileExtension); + if (logger.isDebugEnabled()) { + this.logger.debug("fileExtension: " + fileExtension); + } + OutputPort<File> outputPort = this.fileExtensions.get(fileExtension); outputPort.send(file); } diff --git a/src/main/java/teetime/stage/InstanceCounter.java b/src/main/java/teetime/stage/InstanceCounter.java index 7b5b4a0d88402a7966a1d75b5f852afeb0d9c40f..16a57baa62f78556fe13dad0427eec1aa4770818 100644 --- a/src/main/java/teetime/stage/InstanceCounter.java +++ b/src/main/java/teetime/stage/InstanceCounter.java @@ -3,7 +3,7 @@ package teetime.stage; import teetime.framework.AbstractConsumerStage; import teetime.framework.OutputPort; -public class InstanceCounter<T, C extends T> extends AbstractConsumerStage<T> { +public final class InstanceCounter<T, C extends T> extends AbstractConsumerStage<T> { private final OutputPort<T> outputPort = this.createOutputPort(); diff --git a/src/main/java/teetime/stage/InstanceOfFilter.java b/src/main/java/teetime/stage/InstanceOfFilter.java index a32b6963a2bd2b7a7f084489a237c123c7692ff5..710ea79f2b42ee100ecb468a2388346c6c384066 100644 --- a/src/main/java/teetime/stage/InstanceOfFilter.java +++ b/src/main/java/teetime/stage/InstanceOfFilter.java @@ -5,9 +5,9 @@ import teetime.framework.OutputPort; /** * @author Jan Waller, Nils Christian Ehmke, Christian Wulf - * + * */ -public class InstanceOfFilter<I, O> extends AbstractConsumerStage<I> { +public final class InstanceOfFilter<I, O> extends AbstractConsumerStage<I> { private final OutputPort<O> outputPort = this.createOutputPort(); diff --git a/src/main/java/teetime/stage/IterableProducer.java b/src/main/java/teetime/stage/IterableProducer.java index f83f1201e9951f92e2f0d34050660b8580647a8a..b66245ca71111456570c9ee8db6c3f0250ef2d9f 100644 --- a/src/main/java/teetime/stage/IterableProducer.java +++ b/src/main/java/teetime/stage/IterableProducer.java @@ -2,7 +2,7 @@ package teetime.stage; import teetime.framework.AbstractProducerStage; -public class IterableProducer<O extends Iterable<T>, T> extends AbstractProducerStage<T> { +public final class IterableProducer<O extends Iterable<T>, T> extends AbstractProducerStage<T> { private O iter = null; diff --git a/src/main/java/teetime/stage/NoopFilter.java b/src/main/java/teetime/stage/NoopFilter.java index f42247ffa82c604d8bb3882796020c43f360e9c0..1b777bf0d01a06235056ab23e2b217416efe0b01 100644 --- a/src/main/java/teetime/stage/NoopFilter.java +++ b/src/main/java/teetime/stage/NoopFilter.java @@ -21,9 +21,9 @@ import teetime.framework.OutputPort; /** * @author Christian Wulf * - * @since 1.10 + * @since 1.0 */ -public class NoopFilter<T> extends AbstractConsumerStage<T> { +public final class NoopFilter<T> extends AbstractConsumerStage<T> { private final OutputPort<T> outputPort = this.createOutputPort(); diff --git a/src/main/java/teetime/stage/ObjectProducer.java b/src/main/java/teetime/stage/ObjectProducer.java index 63b4a9c41049aa0a925a5e87c733779de48a6ae3..b4969d4ad4e42e7fd803d4d45f86b3713959f494 100644 --- a/src/main/java/teetime/stage/ObjectProducer.java +++ b/src/main/java/teetime/stage/ObjectProducer.java @@ -21,15 +21,15 @@ import teetime.util.ConstructorClosure; /** * @author Christian Wulf * - * @since 1.10 + * @since 1.0 */ -public class ObjectProducer<T> extends AbstractProducerStage<T> { +public final class ObjectProducer<T> extends AbstractProducerStage<T> { private long numInputObjects; private ConstructorClosure<T> inputObjectCreator; /** - * @since 1.10 + * @since 1.0 */ public ObjectProducer(final long numInputObjects, final ConstructorClosure<T> inputObjectCreator) { this.numInputObjects = numInputObjects; diff --git a/src/main/java/teetime/stage/Relay.java b/src/main/java/teetime/stage/Relay.java index 08d2ac811e29cbc8f4c1ac9dcc70e6db06deba4a..96e303348613094e57ddec5cd177c22bdf4ecdde 100644 --- a/src/main/java/teetime/stage/Relay.java +++ b/src/main/java/teetime/stage/Relay.java @@ -1,11 +1,11 @@ package teetime.stage; import teetime.framework.AbstractInterThreadPipe; -import teetime.framework.InputPort; import teetime.framework.AbstractProducerStage; +import teetime.framework.InputPort; import teetime.framework.signal.TerminatingSignal; -public class Relay<T> extends AbstractProducerStage<T> { +public final class Relay<T> extends AbstractProducerStage<T> { private final InputPort<T> inputPort = this.createInputPort(); diff --git a/src/main/java/teetime/stage/StartTimestampFilter.java b/src/main/java/teetime/stage/StartTimestampFilter.java index 67a0cb5d96db0af47e921630a8224bbe6d1f1113..a229af1656f23e6229fec3b008aff91d2c067b2a 100644 --- a/src/main/java/teetime/stage/StartTimestampFilter.java +++ b/src/main/java/teetime/stage/StartTimestampFilter.java @@ -24,7 +24,7 @@ import teetime.util.TimestampObject; * * @since 1.10 */ -public class StartTimestampFilter extends AbstractConsumerStage<TimestampObject> { +public final class StartTimestampFilter extends AbstractConsumerStage<TimestampObject> { private final OutputPort<TimestampObject> outputPort = this.createOutputPort(); diff --git a/src/main/java/teetime/stage/StopTimestampFilter.java b/src/main/java/teetime/stage/StopTimestampFilter.java index 03eb05732a2af30676bb7c9d2220c30d264c2997..253ea8b0fb872049cd13d5b8b2f75cc86fcddd15 100644 --- a/src/main/java/teetime/stage/StopTimestampFilter.java +++ b/src/main/java/teetime/stage/StopTimestampFilter.java @@ -24,7 +24,7 @@ import teetime.util.TimestampObject; * * @since 1.10 */ -public class StopTimestampFilter extends AbstractConsumerStage<TimestampObject> { +public final class StopTimestampFilter extends AbstractConsumerStage<TimestampObject> { private final OutputPort<TimestampObject> outputPort = this.createOutputPort(); diff --git a/src/main/java/teetime/stage/ZipByteArray.java b/src/main/java/teetime/stage/ZipByteArray.java index ea3d3d9d3d030caa5cc2c3fd08a0c1fdb09ed2c5..8b251ce669d61a63d0293e1edebdf82ec5bcb174 100644 --- a/src/main/java/teetime/stage/ZipByteArray.java +++ b/src/main/java/teetime/stage/ZipByteArray.java @@ -15,7 +15,7 @@ import teetime.framework.OutputPort; * @author Nelson Tavares de Sousa * */ -public class ZipByteArray extends AbstractConsumerStage<byte[]> { +public final class ZipByteArray extends AbstractConsumerStage<byte[]> { private final OutputPort<byte[]> outputPort = this.createOutputPort(); private final ZipMode mode; diff --git a/src/main/java/teetime/stage/basic/Delay.java b/src/main/java/teetime/stage/basic/Delay.java index d2cf63b4a2225c5cd204abfeffaf2c37a8b7efed..29f152d0fd8589b1d5e75da901f3269baef878c1 100644 --- a/src/main/java/teetime/stage/basic/Delay.java +++ b/src/main/java/teetime/stage/basic/Delay.java @@ -7,7 +7,7 @@ import teetime.framework.AbstractStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; -public class Delay<T> extends AbstractStage { +public final class Delay<T> extends AbstractStage { private final InputPort<T> inputPort = this.createInputPort(); private final InputPort<Long> timestampTriggerInputPort = this.createInputPort(); diff --git a/src/main/java/teetime/stage/basic/Sink.java b/src/main/java/teetime/stage/basic/Sink.java index 1b790990958c02d1be79be5c460bdb39d7f838e4..87ee070d18dc732150a6ef9cd8e4c2e1abff9002 100644 --- a/src/main/java/teetime/stage/basic/Sink.java +++ b/src/main/java/teetime/stage/basic/Sink.java @@ -2,7 +2,7 @@ package teetime.stage.basic; import teetime.framework.AbstractConsumerStage; -public class Sink<T> extends AbstractConsumerStage<T> { +public final class Sink<T> extends AbstractConsumerStage<T> { // PERFORMANCE let the sink remove all available input at once by using a new method receiveAll() that clears the pipe's buffer diff --git a/src/main/java/teetime/stage/basic/distributor/CopyByReferenceStrategy.java b/src/main/java/teetime/stage/basic/distributor/CopyByReferenceStrategy.java index d5f2697228bbfc7851057eae82e24fa71fe92bcb..3a31976eac4d3831fce0230c543e27631625ed39 100644 --- a/src/main/java/teetime/stage/basic/distributor/CopyByReferenceStrategy.java +++ b/src/main/java/teetime/stage/basic/distributor/CopyByReferenceStrategy.java @@ -26,8 +26,8 @@ public final class CopyByReferenceStrategy<T> implements IDistributorStrategy<T> @Override public boolean distribute(final OutputPort<T>[] outputPorts, final T element) { - for (final OutputPort<T> port : outputPorts) { - port.send(element); + for (final OutputPort<T> outputPort : outputPorts) { + outputPort.send(element); } return true; diff --git a/src/main/java/teetime/stage/basic/distributor/Distributor.java b/src/main/java/teetime/stage/basic/distributor/Distributor.java index 1f2ed53e5accb5e9bf654b3a4084b68ae3d59875..5fecfe44430510cf97bfdd17097bd6cee527bc84 100644 --- a/src/main/java/teetime/stage/basic/distributor/Distributor.java +++ b/src/main/java/teetime/stage/basic/distributor/Distributor.java @@ -22,7 +22,7 @@ import teetime.framework.OutputPort; /** * @author Christian Wulf * - * @since 1.10 + * @since 1.0 * * @param T * the type of the input port and the output ports diff --git a/src/main/java/teetime/stage/basic/merger/Merger.java b/src/main/java/teetime/stage/basic/merger/Merger.java index 92d370468f7b515f507d36cf1724e868d032a7a9..69b778a4751b8777cf9fab2656972b7af4c4daff 100644 --- a/src/main/java/teetime/stage/basic/merger/Merger.java +++ b/src/main/java/teetime/stage/basic/merger/Merger.java @@ -38,7 +38,7 @@ import teetime.framework.signal.ISignal; * @param <T> * the type of both the input and output ports */ -public class Merger<T> extends AbstractStage { +public final class Merger<T> extends AbstractStage { private final OutputPort<T> outputPort = this.createOutputPort(); diff --git a/src/main/java/teetime/stage/io/EveryXthPrinter.java b/src/main/java/teetime/stage/io/EveryXthPrinter.java new file mode 100644 index 0000000000000000000000000000000000000000..1b17337fa1f9ae09cc5cb2d7a7418afc88f42d53 --- /dev/null +++ b/src/main/java/teetime/stage/io/EveryXthPrinter.java @@ -0,0 +1,59 @@ +package teetime.stage.io; + +import java.util.List; + +import teetime.framework.InputPort; +import teetime.framework.Stage; +import teetime.framework.TerminationStrategy; +import teetime.framework.pipe.IPipeFactory; +import teetime.framework.pipe.PipeFactoryRegistry; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; +import teetime.framework.signal.ISignal; +import teetime.framework.validation.InvalidPortConnection; +import teetime.stage.EveryXthStage; + +public final class EveryXthPrinter<T> extends Stage { + + private final EveryXthStage<T> everyXthStage; + private final Printer<T> printer; + + public EveryXthPrinter(final int threshold) { + everyXthStage = new EveryXthStage<T>(threshold); + printer = new Printer<T>(); + + IPipeFactory pipeFactory = PipeFactoryRegistry.INSTANCE.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false); + pipeFactory.create(everyXthStage.getOutputPort(), printer.getInputPort()); + } + + @Override + protected void executeWithPorts() { + everyXthStage.executeWithPorts(); + } + + @Override + public void validateOutputPorts(final List<InvalidPortConnection> invalidPortConnections) { + printer.validateOutputPorts(invalidPortConnections); + } + + @Override + protected void onSignal(final ISignal signal, final InputPort<?> inputPort) { + everyXthStage.onSignal(signal, inputPort); + } + + @Override + protected TerminationStrategy getTerminationStrategy() { + return everyXthStage.getTerminationStrategy(); + } + + @Override + protected void terminate() { + everyXthStage.terminate(); + } + + @Override + protected boolean shouldBeTerminated() { + return everyXthStage.shouldBeTerminated(); + } + +} diff --git a/src/main/java/teetime/stage/Tokenizer.java b/src/main/java/teetime/stage/string/Tokenizer.java similarity index 85% rename from src/main/java/teetime/stage/Tokenizer.java rename to src/main/java/teetime/stage/string/Tokenizer.java index 2cbb80b09990fbfe71b1d9c0ea1aa30c0b82b233..812dedf4edeba7a0eaf0ecbd76ce95600aab6819 100644 --- a/src/main/java/teetime/stage/Tokenizer.java +++ b/src/main/java/teetime/stage/string/Tokenizer.java @@ -1,11 +1,11 @@ -package teetime.stage; +package teetime.stage.string; import java.util.StringTokenizer; import teetime.framework.AbstractConsumerStage; import teetime.framework.OutputPort; -public class Tokenizer extends AbstractConsumerStage<String> { +public final class Tokenizer extends AbstractConsumerStage<String> { private final OutputPort<String> outputPort = this.createOutputPort(); private final String regex; diff --git a/src/main/java/teetime/stage/stringBuffer/StringBufferFilter.java b/src/main/java/teetime/stage/string/buffer/StringBufferFilter.java similarity index 91% rename from src/main/java/teetime/stage/stringBuffer/StringBufferFilter.java rename to src/main/java/teetime/stage/string/buffer/StringBufferFilter.java index 24d030f52644fabe78d4bcfb9a3b29b27da1797c..6b20b26f189c2fc6ae1f55d590b8d5b5545bbeac 100644 --- a/src/main/java/teetime/stage/stringBuffer/StringBufferFilter.java +++ b/src/main/java/teetime/stage/string/buffer/StringBufferFilter.java @@ -13,22 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. ***************************************************************************/ -package teetime.stage.stringBuffer; +package teetime.stage.string.buffer; import java.util.Collection; import java.util.LinkedList; import teetime.framework.AbstractConsumerStage; import teetime.framework.OutputPort; -import teetime.stage.stringBuffer.handler.AbstractDataTypeHandler; -import teetime.stage.stringBuffer.util.KiekerHashMap; +import teetime.stage.string.buffer.handler.AbstractDataTypeHandler; +import teetime.stage.string.buffer.util.KiekerHashMap; /** * @author Christian Wulf * * @since 1.10 */ -public class StringBufferFilter<T> extends AbstractConsumerStage<T> { +public final class StringBufferFilter<T> extends AbstractConsumerStage<T> { private final OutputPort<T> outputPort = this.createOutputPort(); diff --git a/src/main/java/teetime/stage/stringBuffer/handler/AbstractDataTypeHandler.java b/src/main/java/teetime/stage/string/buffer/handler/AbstractDataTypeHandler.java similarity index 93% rename from src/main/java/teetime/stage/stringBuffer/handler/AbstractDataTypeHandler.java rename to src/main/java/teetime/stage/string/buffer/handler/AbstractDataTypeHandler.java index f58688df027c7ab160fabf1a55ddb1f708e161b0..da82bc87a8adbb3625bf830e04196550194d24a1 100644 --- a/src/main/java/teetime/stage/stringBuffer/handler/AbstractDataTypeHandler.java +++ b/src/main/java/teetime/stage/string/buffer/handler/AbstractDataTypeHandler.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. ***************************************************************************/ -package teetime.stage.stringBuffer.handler; +package teetime.stage.string.buffer.handler; import org.slf4j.Logger; -import teetime.stage.stringBuffer.util.KiekerHashMap; +import teetime.stage.string.buffer.util.KiekerHashMap; /** * @author Christian Wulf diff --git a/src/main/java/teetime/stage/stringBuffer/handler/StringHandler.java b/src/main/java/teetime/stage/string/buffer/handler/StringHandler.java similarity index 96% rename from src/main/java/teetime/stage/stringBuffer/handler/StringHandler.java rename to src/main/java/teetime/stage/string/buffer/handler/StringHandler.java index 82c356faf7727ec9d4b1521a9aceb8594837afca..83e28fa621ad595a9addca807a5a38cdd7f81c05 100644 --- a/src/main/java/teetime/stage/stringBuffer/handler/StringHandler.java +++ b/src/main/java/teetime/stage/string/buffer/handler/StringHandler.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ***************************************************************************/ -package teetime.stage.stringBuffer.handler; +package teetime.stage.string.buffer.handler; /** * @author Christian Wulf diff --git a/src/main/java/teetime/stage/stringBuffer/util/KiekerHashMap.java b/src/main/java/teetime/stage/string/buffer/util/KiekerHashMap.java similarity index 99% rename from src/main/java/teetime/stage/stringBuffer/util/KiekerHashMap.java rename to src/main/java/teetime/stage/string/buffer/util/KiekerHashMap.java index 82667eed1ccd4e0a0579a55d2587391f9d1dbadb..259265abc4d2b84b560ffff2215b9c9ed4f1cad1 100644 --- a/src/main/java/teetime/stage/stringBuffer/util/KiekerHashMap.java +++ b/src/main/java/teetime/stage/string/buffer/util/KiekerHashMap.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. ***************************************************************************/ -package teetime.stage.stringBuffer.util; +package teetime.stage.string.buffer.util; import java.lang.ref.SoftReference; import java.util.concurrent.locks.ReentrantLock; diff --git a/src/performancetest/java/teetime/framework/OldPipeline.java b/src/performancetest/java/teetime/framework/OldPipeline.java index 05bdb62f3e148053f9906947f9271fd7dd9341fd..56c8fffd59bc22e7b2a9efec73b9c83095ed502b 100644 --- a/src/performancetest/java/teetime/framework/OldPipeline.java +++ b/src/performancetest/java/teetime/framework/OldPipeline.java @@ -27,26 +27,11 @@ public class OldPipeline<FirstStage extends Stage, LastStage extends Stage> exte this.lastStage = lastStage; } - @Override - public String getId() { - return this.firstStage.getId(); - } - @Override public void executeWithPorts() { this.firstStage.executeWithPorts(); } - @Override - public Stage getParentStage() { - return this.firstStage.getParentStage(); - } - - @Override - public void setParentStage(final Stage parentStage, final int index) { - this.firstStage.setParentStage(parentStage, index); - } - @Override public void onSignal(final ISignal signal, final InputPort<?> inputPort) { this.firstStage.onSignal(signal, inputPort); @@ -59,20 +44,17 @@ public class OldPipeline<FirstStage extends Stage, LastStage extends Stage> exte @Override public TerminationStrategy getTerminationStrategy() { - // TODO Auto-generated method stub - return null; + return firstStage.getTerminationStrategy(); } @Override public void terminate() { - // TODO Auto-generated method stub - + firstStage.terminate(); } @Override public boolean shouldBeTerminated() { - // TODO Auto-generated method stub - return false; + return firstStage.shouldBeTerminated(); } } diff --git a/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java b/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java index d8c344e366736cb8fb67d9e30b6ac0705e438fce..a7af14594eaf8ae8ee0628b17b88e924dbe4a7ef 100644 --- a/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java +++ b/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java @@ -10,10 +10,10 @@ import teetime.stage.CipherByteArray; import teetime.stage.CipherByteArray.CipherMode; import teetime.stage.Counter; import teetime.stage.InitialElementProducer; -import teetime.stage.Tokenizer; import teetime.stage.ZipByteArray; import teetime.stage.ZipByteArray.ZipMode; import teetime.stage.io.File2ByteArray; +import teetime.stage.string.Tokenizer; public class TokenizerConfiguration extends AnalysisConfiguration {