From 3b78bd601e1be20b28f70a82bfb589d70c25aa56 Mon Sep 17 00:00:00 2001
From: Nelson Tavares de Sousa <stu103017@mail.uni-kiel.de>
Date: Fri, 21 Aug 2015 15:17:18 +0200
Subject: [PATCH] moved logic back to A3

---
 .../teetime/framework/A1ThreadableStageCollector.java |  7 +++++++
 .../framework/A2InvalidThreadAssignmentCheck.java     |  7 +++++++
 .../java/teetime/framework/A3PipeInstantiation.java   | 10 ++++++++++
 .../java/teetime/framework/ITraverserVisitor.java     |  3 +++
 .../java/teetime/framework/IntraStageCollector.java   |  7 +++++++
 src/main/java/teetime/framework/Traverser.java        | 11 +----------
 6 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/src/main/java/teetime/framework/A1ThreadableStageCollector.java b/src/main/java/teetime/framework/A1ThreadableStageCollector.java
index 0b34c30b..387ad88f 100644
--- a/src/main/java/teetime/framework/A1ThreadableStageCollector.java
+++ b/src/main/java/teetime/framework/A1ThreadableStageCollector.java
@@ -19,6 +19,7 @@ import java.util.HashSet;
 import java.util.Set;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 
 /**
  * Searches for threadable stages
@@ -44,4 +45,10 @@ class A1ThreadableStageCollector implements ITraverserVisitor {
 		return VisitorBehavior.CONTINUE;
 	}
 
+	@Override
+	public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+		// TODO Auto-generated method stub
+
+	}
+
 }
diff --git a/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java b/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java
index 043c31ee..fd471230 100644
--- a/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java
+++ b/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java
@@ -21,6 +21,7 @@ import com.carrotsearch.hppc.ObjectIntHashMap;
 import com.carrotsearch.hppc.ObjectIntMap;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 import teetime.framework.pipe.IPipe;
 
 /**
@@ -90,5 +91,11 @@ public class A2InvalidThreadAssignmentCheck {
 			return VisitorBehavior.STOP;
 		}
 
+		@Override
+		public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+			// TODO Auto-generated method stub
+
+		}
+
 	}
 }
diff --git a/src/main/java/teetime/framework/A3PipeInstantiation.java b/src/main/java/teetime/framework/A3PipeInstantiation.java
index 4bbe1a9c..c1103fda 100644
--- a/src/main/java/teetime/framework/A3PipeInstantiation.java
+++ b/src/main/java/teetime/framework/A3PipeInstantiation.java
@@ -18,7 +18,11 @@ 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.DummyPipe;
 import teetime.framework.pipe.IPipe;
 import teetime.framework.pipe.IPipeFactory;
 import teetime.framework.pipe.InstantiationPipe;
@@ -31,6 +35,7 @@ import teetime.framework.pipe.UnboundedSpScPipeFactory;
  */
 class A3PipeInstantiation implements ITraverserVisitor {
 
+	private static final Logger LOGGER = LoggerFactory.getLogger(Execution.class);
 	private static final IPipeFactory interBoundedThreadPipeFactory = new SpScPipeFactory();
 	private static final IPipeFactory interUnboundedThreadPipeFactory = new UnboundedSpScPipeFactory();
 	private static final IPipeFactory intraThreadPipeFactory = new SingleElementPipeFactory();
@@ -77,4 +82,9 @@ class A3PipeInstantiation implements ITraverserVisitor {
 
 	}
 
+	@Override
+	public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+		LOGGER.debug("Unconnected port " + port + " in stage " + port.getOwningStage().getId());
+	}
+
 }
diff --git a/src/main/java/teetime/framework/ITraverserVisitor.java b/src/main/java/teetime/framework/ITraverserVisitor.java
index 5cd376f0..f089a258 100644
--- a/src/main/java/teetime/framework/ITraverserVisitor.java
+++ b/src/main/java/teetime/framework/ITraverserVisitor.java
@@ -16,6 +16,7 @@
 package teetime.framework;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 
 public interface ITraverserVisitor {
 
@@ -23,4 +24,6 @@ public interface ITraverserVisitor {
 
 	VisitorBehavior visit(AbstractPort<?> port);
 
+	void visit(DummyPipe pipe, AbstractPort<?> port);
+
 }
diff --git a/src/main/java/teetime/framework/IntraStageCollector.java b/src/main/java/teetime/framework/IntraStageCollector.java
index 40ccaa5b..3e95ba4d 100644
--- a/src/main/java/teetime/framework/IntraStageCollector.java
+++ b/src/main/java/teetime/framework/IntraStageCollector.java
@@ -16,6 +16,7 @@
 package teetime.framework;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 
 public class IntraStageCollector implements ITraverserVisitor {
 
@@ -40,4 +41,10 @@ public class IntraStageCollector implements ITraverserVisitor {
 		return VisitorBehavior.CONTINUE;
 	}
 
+	@Override
+	public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+		// TODO Auto-generated method stub
+
+	}
+
 }
diff --git a/src/main/java/teetime/framework/Traverser.java b/src/main/java/teetime/framework/Traverser.java
index 79424ba4..6bb62c64 100644
--- a/src/main/java/teetime/framework/Traverser.java
+++ b/src/main/java/teetime/framework/Traverser.java
@@ -18,9 +18,6 @@ package teetime.framework;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import teetime.framework.pipe.DummyPipe;
 
 /**
@@ -32,8 +29,6 @@ import teetime.framework.pipe.DummyPipe;
  */
 public class Traverser {
 
-	private static final Logger LOGGER = LoggerFactory.getLogger(Execution.class);
-
 	public static enum Direction {
 		BACKWARD(1), FORWARD(2), BOTH(BACKWARD.value | FORWARD.value);
 
@@ -87,11 +82,7 @@ public class Traverser {
 
 	private void visitAndTraverse(final AbstractPort<?> port, final Direction direction) {
 		if (port.getPipe() instanceof DummyPipe) {
-			if (direction == Direction.FORWARD) {
-				if (traverserVisitor instanceof A3PipeInstantiation) {
-					LOGGER.debug("Unconnected port " + port + " in stage " + port.getOwningStage().getId());
-				}
-			}
+			traverserVisitor.visit((DummyPipe) port.getPipe(), port);
 			return;
 		}
 		VisitorBehavior behavior = traverserVisitor.visit(port);
-- 
GitLab