diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/AbstractStage.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/AbstractStage.java index 6dab49dad506e7ae9a8718f089f3f01df688c10d..a2bd9887df5f89555ed65e49450cbfddd0b31891 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/AbstractStage.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/AbstractStage.java @@ -11,7 +11,7 @@ import org.slf4j.LoggerFactory; import teetime.variant.methodcallWithPorts.framework.core.pipe.DummyPipe; import teetime.variant.methodcallWithPorts.framework.core.pipe.IPipe; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; import teetime.variant.methodcallWithPorts.framework.core.validation.InvalidPortConnection; public abstract class AbstractStage implements StageWithPort { @@ -32,7 +32,7 @@ public abstract class AbstractStage implements StageWithPort { /** A cached instance of <code>outputPortList</code> to avoid creating an iterator each time iterating it */ protected OutputPort<?>[] cachedOutputPorts; - private final Map<Signal, Void> visited = new HashMap<Signal, Void>(); + private final Map<ISignal, Void> visited = new HashMap<ISignal, Void>(); public AbstractStage() { this.id = UUID.randomUUID().toString(); // the id should only be represented by a UUID, not additionally by the class name @@ -92,7 +92,7 @@ public abstract class AbstractStage implements StageWithPort { * May not be invoked outside of IPipe implementations */ @Override - public void onSignal(final Signal signal, final InputPort<?> inputPort) { + public void onSignal(final ISignal signal, final InputPort<?> inputPort) { if (!this.alreadyVisited(signal, inputPort)) { signal.trigger(this); @@ -102,7 +102,7 @@ public abstract class AbstractStage implements StageWithPort { } } - protected boolean alreadyVisited(final Signal signal, final InputPort<?> inputPort) { + protected boolean alreadyVisited(final ISignal signal, final InputPort<?> inputPort) { if (this.visited.containsKey(signal)) { this.logger.trace("Got signal: " + signal + " again from input port: " + inputPort); return true; diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/OutputPort.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/OutputPort.java index 5d06dd476525b392cda71d173c874ea1c8f770aa..790aa531350e77a7584fa72a54d9cea6244b8dea 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/OutputPort.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/OutputPort.java @@ -1,6 +1,6 @@ package teetime.variant.methodcallWithPorts.framework.core; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; public final class OutputPort<T> extends AbstractPort<T> { @@ -17,7 +17,7 @@ public final class OutputPort<T> extends AbstractPort<T> { return this.pipe.add(element); } - public void sendSignal(final Signal signal) { + public void sendSignal(final ISignal signal) { this.pipe.setSignal(signal); } diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/Pipeline.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/Pipeline.java index 6d063ea831650c80b18e2895382cc1b9200013ab..d44473d72cebab905430450d473ce6050d20f6f0 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/Pipeline.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/Pipeline.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core; import java.util.List; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; import teetime.variant.methodcallWithPorts.framework.core.validation.InvalidPortConnection; public class Pipeline<FirstStage extends StageWithPort, LastStage extends StageWithPort> implements StageWithPort { @@ -52,7 +52,7 @@ public class Pipeline<FirstStage extends StageWithPort, LastStage extends StageW } @Override - public void onSignal(final Signal signal, final InputPort<?> inputPort) { + public void onSignal(final ISignal signal, final InputPort<?> inputPort) { this.firstStage.onSignal(signal, inputPort); } diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/StageWithPort.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/StageWithPort.java index ffd5d0600f4189aee587535978858b6e2c7c3349..b315a0006d73a95bc9ada9bf65119cf8c671f8bd 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/StageWithPort.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/StageWithPort.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core; import java.util.List; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; import teetime.variant.methodcallWithPorts.framework.core.validation.InvalidPortConnection; public interface StageWithPort { @@ -18,7 +18,7 @@ public interface StageWithPort { // BETTER remove this method since it will be replaced by onTerminating() void onIsPipelineHead(); - void onSignal(Signal signal, InputPort<?> inputPort); + void onSignal(ISignal signal, InputPort<?> inputPort); /** * diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/DummyPipe.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/DummyPipe.java index 26888277d24a1dfa57d33c6c5a79936ec6849db7..aa27ebbdf9d5ece5fe81513c83d595ae7fe04e09 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/DummyPipe.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/DummyPipe.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core.pipe; import teetime.variant.methodcallWithPorts.framework.core.InputPort; import teetime.variant.methodcallWithPorts.framework.core.OutputPort; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; /** * A pipe implementation used to connect unconnected output ports. @@ -44,7 +44,7 @@ public final class DummyPipe implements IPipe { } @Override - public void setSignal(final Signal signal) {} + public void setSignal(final ISignal signal) {} @Override public void connectPorts(final OutputPort sourcePort, final InputPort targetPort) {} diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IPipe.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IPipe.java index a89a3c680616dcbbf035329ed61659f4b520f4fc..154ac92334e24ecf9dae3fe81686d91558cdfacf 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IPipe.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IPipe.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core.pipe; import teetime.variant.methodcallWithPorts.framework.core.InputPort; import teetime.variant.methodcallWithPorts.framework.core.OutputPort; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; public interface IPipe { @@ -18,7 +18,7 @@ public interface IPipe { InputPort<?> getTargetPort(); - void setSignal(Signal signal); + void setSignal(ISignal signal); @Deprecated <T> void connectPorts(OutputPort<? extends T> sourcePort, InputPort<T> targetPort); diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/InterThreadPipe.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/InterThreadPipe.java index 37ad702248c45a684fa71c3ad0ae6db0c2bd033f..7c2ede98b1a4875d7085083634cb482c0667a4d6 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/InterThreadPipe.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/InterThreadPipe.java @@ -4,22 +4,22 @@ import java.util.concurrent.atomic.AtomicReference; import teetime.variant.methodcallWithPorts.framework.core.InputPort; import teetime.variant.methodcallWithPorts.framework.core.OutputPort; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; public abstract class InterThreadPipe extends AbstractPipe { - private final AtomicReference<Signal> signal = new AtomicReference<Signal>(); + private final AtomicReference<ISignal> signal = new AtomicReference<ISignal>(); <T> InterThreadPipe(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) { super(sourcePort, targetPort); } @Override - public void setSignal(final Signal signal) { + public void setSignal(final ISignal signal) { this.signal.lazySet(signal); // lazySet is legal due to our single-writer requirement } - public Signal getSignal() { + public ISignal getSignal() { return this.signal.get(); } diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IntraThreadPipe.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IntraThreadPipe.java index 04857a9e656ccec1b58c4e60eabce32f90d3c8fd..e34547b0b08802a62ef8e5e90f58f44491f35c52 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IntraThreadPipe.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/pipe/IntraThreadPipe.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core.pipe; import teetime.variant.methodcallWithPorts.framework.core.InputPort; import teetime.variant.methodcallWithPorts.framework.core.OutputPort; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; public abstract class IntraThreadPipe extends AbstractPipe { @@ -11,7 +11,7 @@ public abstract class IntraThreadPipe extends AbstractPipe { } @Override - public void setSignal(final Signal signal) { + public void setSignal(final ISignal signal) { if (this.getTargetPort() != null) { // BETTER remove this check since there are DummyPorts this.cachedTargetStage.onSignal(signal, this.getTargetPort()); } diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/Signal.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/ISignal.java similarity index 87% rename from src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/Signal.java rename to src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/ISignal.java index 93a47871075b0db76d559873e11f3f596cff5f13..13e15dbf29069d24ee577b89522540836122699b 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/Signal.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/ISignal.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core.signal; import teetime.variant.methodcallWithPorts.framework.core.AbstractStage; -public interface Signal { +public interface ISignal { void trigger(AbstractStage stage); } diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/StartingSignal.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/StartingSignal.java index 9e82408c3ac1a802964c1cb67952025181f99b70..11dc8c725de1a26d08e1d07598004cdea91dcbc1 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/StartingSignal.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/StartingSignal.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core.signal; import teetime.variant.methodcallWithPorts.framework.core.AbstractStage; -public class StartingSignal implements Signal { +public class StartingSignal implements ISignal { @Override public void trigger(final AbstractStage stage) { diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/TerminatingSignal.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/TerminatingSignal.java index b0ea58c0a35fad8b54b52e68a3315724366bb356..1c523522c3108c463f139941e572a2e731ea6727 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/TerminatingSignal.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/TerminatingSignal.java @@ -2,7 +2,7 @@ package teetime.variant.methodcallWithPorts.framework.core.signal; import teetime.variant.methodcallWithPorts.framework.core.AbstractStage; -public class TerminatingSignal implements Signal { +public class TerminatingSignal implements ISignal { @Override public void trigger(final AbstractStage stage) { diff --git a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/ValidatingSignal.java b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/ValidatingSignal.java index fad95a43646e4f6151a97de3b5d922fd2381cab7..3b9cd6840fe8ceb59ca3715b2c22b59fe6c200be 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/ValidatingSignal.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/framework/core/signal/ValidatingSignal.java @@ -6,7 +6,7 @@ import java.util.List; import teetime.variant.methodcallWithPorts.framework.core.AbstractStage; import teetime.variant.methodcallWithPorts.framework.core.validation.InvalidPortConnection; -public class ValidatingSignal implements Signal { +public class ValidatingSignal implements ISignal { private final List<InvalidPortConnection> invalidPortConnections = new LinkedList<InvalidPortConnection>(); diff --git a/src/main/java/teetime/variant/methodcallWithPorts/stage/basic/merger/Merger.java b/src/main/java/teetime/variant/methodcallWithPorts/stage/basic/merger/Merger.java index bf90f0a521cb473445f6f1ea8c8603c40ee889eb..d46369c9505542d72e3d1f822f8280e30fda35c7 100644 --- a/src/main/java/teetime/variant/methodcallWithPorts/stage/basic/merger/Merger.java +++ b/src/main/java/teetime/variant/methodcallWithPorts/stage/basic/merger/Merger.java @@ -19,7 +19,7 @@ package teetime.variant.methodcallWithPorts.stage.basic.merger; import teetime.variant.methodcallWithPorts.framework.core.AbstractStage; import teetime.variant.methodcallWithPorts.framework.core.InputPort; import teetime.variant.methodcallWithPorts.framework.core.OutputPort; -import teetime.variant.methodcallWithPorts.framework.core.signal.Signal; +import teetime.variant.methodcallWithPorts.framework.core.signal.ISignal; /** * @@ -51,7 +51,7 @@ public class Merger<T> extends AbstractStage { } @Override - public void onSignal(final Signal signal, final InputPort<?> inputPort) { + public void onSignal(final ISignal signal, final InputPort<?> inputPort) { this.logger.trace("Got signal: " + signal + " from input port: " + inputPort); signal.trigger(this); diff --git a/submodules/JCTools b/submodules/JCTools index 88e1e25f9519b250258c7e5ada30935975ab2d10..75998aa20b7ec897ec321c1f94192de888f2dc6e 160000 --- a/submodules/JCTools +++ b/submodules/JCTools @@ -1 +1 @@ -Subproject commit 88e1e25f9519b250258c7e5ada30935975ab2d10 +Subproject commit 75998aa20b7ec897ec321c1f94192de888f2dc6e