From 7ea6e5b1e62e6800f00ca30f064d6f39ec299946 Mon Sep 17 00:00:00 2001 From: Christian Wulf <chw@informatik.uni-kiel.de> Date: Tue, 4 Nov 2014 07:41:58 +0100 Subject: [PATCH] fixed bug "merger does not pass start signal" --- src/main/java/teetime/stage/basic/merger/Merger.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/teetime/stage/basic/merger/Merger.java b/src/main/java/teetime/stage/basic/merger/Merger.java index 6afda057..0634134c 100644 --- a/src/main/java/teetime/stage/basic/merger/Merger.java +++ b/src/main/java/teetime/stage/basic/merger/Merger.java @@ -54,19 +54,17 @@ public class Merger<T> extends AbstractStage { public void onSignal(final ISignal signal, final InputPort<?> inputPort) { this.logger.trace("Got signal: " + signal + " from input port: " + inputPort); - signal.trigger(this); + if (0 == finishedInputPorts) { + signal.trigger(this); + } + this.finishedInputPorts++; if (this.finishedInputPorts == this.getInputPorts().length) { this.outputPort.sendSignal(signal); + this.finishedInputPorts = 0; } } - @Override - public void onTerminating() throws Exception { - this.finishedInputPorts++; - super.onTerminating(); - } - public IMergerStrategy<T> getStrategy() { return this.strategy; } -- GitLab