From c75454eda62d1d1d5212c8f95b44284c3c43934f Mon Sep 17 00:00:00 2001 From: Christian Wulf <chw@informatik.uni-kiel.de> Date: Fri, 21 Aug 2015 21:29:00 +0200 Subject: [PATCH] made ports final, again; added logging to A3PipeInstantiation --- .../teetime/framework/A3PipeInstantiation.java | 15 ++++++++++++++- .../java/teetime/framework/AbstractStage.java | 4 +++- src/main/java/teetime/framework/InputPort.java | 2 +- src/main/java/teetime/framework/OutputPort.java | 2 +- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/teetime/framework/A3PipeInstantiation.java b/src/main/java/teetime/framework/A3PipeInstantiation.java index 4bbe1a9c..e5b6ea06 100644 --- a/src/main/java/teetime/framework/A3PipeInstantiation.java +++ b/src/main/java/teetime/framework/A3PipeInstantiation.java @@ -18,6 +18,9 @@ package teetime.framework; import java.util.HashSet; import java.util.Set; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import teetime.framework.Traverser.VisitorBehavior; import teetime.framework.pipe.IPipe; import teetime.framework.pipe.IPipeFactory; @@ -31,6 +34,8 @@ import teetime.framework.pipe.UnboundedSpScPipeFactory; */ class A3PipeInstantiation implements ITraverserVisitor { + private static final Logger LOGGER = LoggerFactory.getLogger(A3PipeInstantiation.class); + private static final IPipeFactory interBoundedThreadPipeFactory = new SpScPipeFactory(); private static final IPipeFactory interUnboundedThreadPipeFactory = new UnboundedSpScPipeFactory(); private static final IPipeFactory intraThreadPipeFactory = new SingleElementPipeFactory(); @@ -67,14 +72,22 @@ class A3PipeInstantiation implements ITraverserVisitor { // inter if (pipe.capacity() != 0) { interBoundedThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), pipe.capacity()); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("Connected (bounded) " + pipe.getSourcePort() + " and " + pipe.getTargetPort()); + } } else { interUnboundedThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), 4); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("Connected (unbounded) " + pipe.getSourcePort() + " and " + pipe.getTargetPort()); + } } } else { // normal or reflexive pipe => intra intraThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), 4); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("Connected (unsynch) " + pipe.getSourcePort() + " and " + pipe.getTargetPort()); + } } } - } diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java index 6a6769ca..64962178 100644 --- a/src/main/java/teetime/framework/AbstractStage.java +++ b/src/main/java/teetime/framework/AbstractStage.java @@ -91,7 +91,9 @@ public abstract class AbstractStage extends Stage { private void changeState(final StageState newState) { currentState = newState; - logger.trace(newState.toString()); + if (logger.isTraceEnabled()) { + logger.trace(newState.toString()); + } } @Override diff --git a/src/main/java/teetime/framework/InputPort.java b/src/main/java/teetime/framework/InputPort.java index a11035a3..d4409bb1 100644 --- a/src/main/java/teetime/framework/InputPort.java +++ b/src/main/java/teetime/framework/InputPort.java @@ -24,7 +24,7 @@ package teetime.framework; * * @since 1.0 */ -public class InputPort<T> extends AbstractPort<T> { +public final class InputPort<T> extends AbstractPort<T> { InputPort(final Class<T> type, final Stage owningStage, final String portName) { super(type, owningStage, portName); diff --git a/src/main/java/teetime/framework/OutputPort.java b/src/main/java/teetime/framework/OutputPort.java index 7bdb677d..0f2db809 100644 --- a/src/main/java/teetime/framework/OutputPort.java +++ b/src/main/java/teetime/framework/OutputPort.java @@ -28,7 +28,7 @@ import teetime.framework.signal.TerminatingSignal; * * @since 1.0 */ -public class OutputPort<T> extends AbstractPort<T> { +public final class OutputPort<T> extends AbstractPort<T> { OutputPort(final Class<T> type, final Stage owningStage, final String portName) { super(type, owningStage, portName); -- GitLab