diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 989609020a008e70c15d3ce12a3a1c835b80201c..29abf999564110a0d6aca109f55f439c72b7031c 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,5 +1,6 @@ eclipse.preferences.version=1 encoding//src/main/java=UTF-8 encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 encoding//src/test/resources=UTF-8 encoding/<project>=UTF-8 diff --git a/src/main/java/teetime/stage/basic/Delay.java b/src/main/java/teetime/stage/basic/Delay.java index 09903e8c447f54620a437de8b8fe6db964360cb8..6c0ecac5b2b93a86500ee939623e110e1a80f4e9 100644 --- a/src/main/java/teetime/stage/basic/Delay.java +++ b/src/main/java/teetime/stage/basic/Delay.java @@ -1,5 +1,8 @@ package teetime.stage.basic; +import java.util.LinkedList; +import java.util.List; + import teetime.framework.AbstractStage; import teetime.framework.InputPort; import teetime.framework.OutputPort; @@ -10,18 +13,22 @@ public class Delay<T> extends AbstractStage { private final InputPort<Long> timestampTriggerInputPort = this.createInputPort(); private final OutputPort<T> outputPort = this.createOutputPort(); + private final List<T> bufferedElements = new LinkedList<T>(); + @Override public void executeWithPorts() { + T element = inputPort.receive(); + if (null != element) { + bufferedElements.add(element); + } + Long timestampTrigger = this.timestampTriggerInputPort.receive(); if (null == timestampTrigger) { return; } - // System.out.println("got timestamp; #elements: " + this.getInputPort().pipe.size()); - // System.out.println("#elements: " + this.getInputPort().pipe.size()); - // TODO implement receiveAll() and sendMultiple() - while (!this.inputPort.getPipe().isEmpty()) { - T element = this.inputPort.receive(); + while (!bufferedElements.isEmpty()) { + element = bufferedElements.remove(0); this.send(this.outputPort, element); } } diff --git a/src/main/java/teetime/stage/io/File2TextLinesFilter.java b/src/main/java/teetime/stage/io/File2TextLinesFilter.java index c4795559e3ca299ca49492702e76e2fc14a561a8..48005fd790c2c19b7d69b2ae44c109f663cd2cd3 100644 --- a/src/main/java/teetime/stage/io/File2TextLinesFilter.java +++ b/src/main/java/teetime/stage/io/File2TextLinesFilter.java @@ -30,7 +30,6 @@ import teetime.stage.util.TextLine; /** * @author Christian Wulf * - * @since 1.10 */ public class File2TextLinesFilter extends ConsumerStage<File> {