From 9f21618da56e87c8152ca574c6c2e121c2be6ba9 Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <stu103017@mail.uni-kiel.de> Date: Tue, 5 May 2015 17:27:10 +0200 Subject: [PATCH] Quick fix for #151 --- src/main/java/teetime/framework/AbstractStage.java | 2 +- src/main/java/teetime/framework/RunnableConsumerStage.java | 3 +++ src/main/java/teetime/stage/MultipleInstanceOfFilter.java | 1 - src/test/java/teetime/stage/MultipleInstanceOfFilterTest.java | 3 +++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java index ab8d1dae..96b71bb4 100644 --- a/src/main/java/teetime/framework/AbstractStage.java +++ b/src/main/java/teetime/framework/AbstractStage.java @@ -58,10 +58,10 @@ public abstract class AbstractStage extends Stage { public void onSignal(final ISignal signal, final InputPort<?> inputPort) { if (!this.signalAlreadyReceived(signal, inputPort)) { signal.trigger(this); - for (OutputPort<?> outputPort : outputPorts) { outputPort.sendSignal(signal); } + } } diff --git a/src/main/java/teetime/framework/RunnableConsumerStage.java b/src/main/java/teetime/framework/RunnableConsumerStage.java index 5a8e3964..ded489eb 100644 --- a/src/main/java/teetime/framework/RunnableConsumerStage.java +++ b/src/main/java/teetime/framework/RunnableConsumerStage.java @@ -47,6 +47,9 @@ final class RunnableConsumerStage extends AbstractRunnableStage { for (InputPort<?> inputPort : inputPorts) { inputPort.waitForStartSignal(); } + for (InputPort<?> inputPort : inputPorts) { + inputPort.waitForStartSignal(); + } logger.trace("Starting..." + stage); } diff --git a/src/main/java/teetime/stage/MultipleInstanceOfFilter.java b/src/main/java/teetime/stage/MultipleInstanceOfFilter.java index 46a363af..42f0d22b 100644 --- a/src/main/java/teetime/stage/MultipleInstanceOfFilter.java +++ b/src/main/java/teetime/stage/MultipleInstanceOfFilter.java @@ -42,7 +42,6 @@ public final class MultipleInstanceOfFilter<I> extends AbstractConsumerStage<I> @SuppressWarnings("unchecked") public void onStarting() throws Exception { super.onStarting(); - // We cache the map to avoid the creating of iterators during runtime cachedOutputPortsMap = (Entry<Class<? extends I>, OutputPort<? super I>>[]) outputPortsMap.entrySet().toArray(new Entry<?, ?>[outputPortsMap.size()]); } diff --git a/src/test/java/teetime/stage/MultipleInstanceOfFilterTest.java b/src/test/java/teetime/stage/MultipleInstanceOfFilterTest.java index 3654fedd..6221ba77 100644 --- a/src/test/java/teetime/stage/MultipleInstanceOfFilterTest.java +++ b/src/test/java/teetime/stage/MultipleInstanceOfFilterTest.java @@ -16,7 +16,9 @@ package teetime.stage; import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; import java.util.ArrayList; @@ -42,6 +44,7 @@ public class MultipleInstanceOfFilterTest { StageTester.test(filter).and().send(input).to(filter.getInputPort()).and().receive(result).from(filter.getOutputPortForType(String.class)).start(); + assertThat(result, is(not(empty()))); assertThat(result, contains("1", "2", "3")); } -- GitLab