From 5f1ab8a8a62835af7f1da45d6121e1a4302e104b Mon Sep 17 00:00:00 2001 From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de> Date: Wed, 18 Feb 2015 15:14:30 +0100 Subject: [PATCH] performance improvement --- .../java/teetime/stage/basic/merger/Merger.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/teetime/stage/basic/merger/Merger.java b/src/main/java/teetime/stage/basic/merger/Merger.java index 60a3e2e8..ee53d9a8 100644 --- a/src/main/java/teetime/stage/basic/merger/Merger.java +++ b/src/main/java/teetime/stage/basic/merger/Merger.java @@ -79,8 +79,10 @@ public final class Merger<T> extends AbstractStage { public void onSignal(final ISignal signal, final InputPort<?> inputPort) { this.logger.info("Got signal: " + signal + " from input port: " + inputPort); - if (signalMap.containsKey(signal.getClass())) { - Set<InputPort<?>> set = signalMap.get(signal.getClass()); + Class<? extends ISignal> signalClass = signal.getClass(); + + if (signalMap.containsKey(signalClass)) { + Set<InputPort<?>> set = signalMap.get(signalClass); if (!set.add(inputPort)) { this.logger.warn("Received more than one signal - " + signal + " - from input port: " + inputPort); } @@ -88,14 +90,13 @@ public final class Merger<T> extends AbstractStage { } else { Set<InputPort<?>> tempSet = new HashSet<InputPort<?>>(); tempSet.add(inputPort); - signalMap.put((Class<ISignal>) signal.getClass(), tempSet); + signalMap.put((Class<ISignal>) signalClass, tempSet); } - if (signalMap.get(signal.getClass()).size() == this.getInputPorts().length) { - System.out.println("SENT"); + if (signalMap.get(signalClass).size() == this.getInputPorts().length) { signal.trigger(this); this.outputPort.sendSignal(signal); - signalMap.remove(signal.getClass()); + signalMap.remove(signalClass); } } -- GitLab