Skip to content
Snippets Groups Projects
Commit 5f1ab8a8 authored by Nelson Tavares de Sousa's avatar Nelson Tavares de Sousa
Browse files

performance improvement

parent 150c91e4
No related branches found
No related tags found
No related merge requests found
...@@ -79,8 +79,10 @@ public final class Merger<T> extends AbstractStage { ...@@ -79,8 +79,10 @@ public final class Merger<T> extends AbstractStage {
public void onSignal(final ISignal signal, final InputPort<?> inputPort) { public void onSignal(final ISignal signal, final InputPort<?> inputPort) {
this.logger.info("Got signal: " + signal + " from input port: " + inputPort); this.logger.info("Got signal: " + signal + " from input port: " + inputPort);
if (signalMap.containsKey(signal.getClass())) { Class<? extends ISignal> signalClass = signal.getClass();
Set<InputPort<?>> set = signalMap.get(signal.getClass());
if (signalMap.containsKey(signalClass)) {
Set<InputPort<?>> set = signalMap.get(signalClass);
if (!set.add(inputPort)) { if (!set.add(inputPort)) {
this.logger.warn("Received more than one signal - " + signal + " - from input port: " + 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 { ...@@ -88,14 +90,13 @@ public final class Merger<T> extends AbstractStage {
} else { } else {
Set<InputPort<?>> tempSet = new HashSet<InputPort<?>>(); Set<InputPort<?>> tempSet = new HashSet<InputPort<?>>();
tempSet.add(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) { if (signalMap.get(signalClass).size() == this.getInputPorts().length) {
System.out.println("SENT");
signal.trigger(this); signal.trigger(this);
this.outputPort.sendSignal(signal); this.outputPort.sendSignal(signal);
signalMap.remove(signal.getClass()); signalMap.remove(signalClass);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment