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

Merge remote-tracking branch 'origin/master' into reportUnconnectedPorts

Conflicts:
	src/main/java/teetime/framework/A3PipeInstantiation.java
parents 3b78bd60 bdd068dc
No related branches found
No related tags found
No related merge requests found
...@@ -35,7 +35,8 @@ import teetime.framework.pipe.UnboundedSpScPipeFactory; ...@@ -35,7 +35,8 @@ import teetime.framework.pipe.UnboundedSpScPipeFactory;
*/ */
class A3PipeInstantiation implements ITraverserVisitor { class A3PipeInstantiation implements ITraverserVisitor {
private static final Logger LOGGER = LoggerFactory.getLogger(Execution.class); private static final Logger LOGGER = LoggerFactory.getLogger(A3PipeInstantiation.class);
private static final IPipeFactory interBoundedThreadPipeFactory = new SpScPipeFactory(); private static final IPipeFactory interBoundedThreadPipeFactory = new SpScPipeFactory();
private static final IPipeFactory interUnboundedThreadPipeFactory = new UnboundedSpScPipeFactory(); private static final IPipeFactory interUnboundedThreadPipeFactory = new UnboundedSpScPipeFactory();
private static final IPipeFactory intraThreadPipeFactory = new SingleElementPipeFactory(); private static final IPipeFactory intraThreadPipeFactory = new SingleElementPipeFactory();
...@@ -72,12 +73,21 @@ class A3PipeInstantiation implements ITraverserVisitor { ...@@ -72,12 +73,21 @@ class A3PipeInstantiation implements ITraverserVisitor {
// inter // inter
if (pipe.capacity() != 0) { if (pipe.capacity() != 0) {
interBoundedThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), pipe.capacity()); interBoundedThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), pipe.capacity());
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Connected (bounded) " + pipe.getSourcePort() + " and " + pipe.getTargetPort());
}
} else { } else {
interUnboundedThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), 4); interUnboundedThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), 4);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Connected (unbounded) " + pipe.getSourcePort() + " and " + pipe.getTargetPort());
}
} }
} else { } else {
// normal or reflexive pipe => intra // normal or reflexive pipe => intra
intraThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), 4); intraThreadPipeFactory.create(pipe.getSourcePort(), pipe.getTargetPort(), 4);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Connected (unsynch) " + pipe.getSourcePort() + " and " + pipe.getTargetPort());
}
} }
} }
......
...@@ -91,7 +91,9 @@ public abstract class AbstractStage extends Stage { ...@@ -91,7 +91,9 @@ public abstract class AbstractStage extends Stage {
private void changeState(final StageState newState) { private void changeState(final StageState newState) {
currentState = newState; currentState = newState;
logger.trace(newState.toString()); if (logger.isTraceEnabled()) {
logger.trace(newState.toString());
}
} }
@Override @Override
......
...@@ -24,7 +24,7 @@ package teetime.framework; ...@@ -24,7 +24,7 @@ package teetime.framework;
* *
* @since 1.0 * @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) { InputPort(final Class<T> type, final Stage owningStage, final String portName) {
super(type, owningStage, portName); super(type, owningStage, portName);
......
...@@ -28,7 +28,7 @@ import teetime.framework.signal.TerminatingSignal; ...@@ -28,7 +28,7 @@ import teetime.framework.signal.TerminatingSignal;
* *
* @since 1.0 * @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) { OutputPort(final Class<T> type, final Stage owningStage, final String portName) {
super(type, owningStage, portName); super(type, owningStage, portName);
......
...@@ -19,24 +19,19 @@ import java.util.Arrays; ...@@ -19,24 +19,19 @@ import java.util.Arrays;
import teetime.framework.AbstractProducerStage; import teetime.framework.AbstractProducerStage;
public final class InitialElementProducer<T> extends AbstractProducerStage<T> { public class InitialElementProducer<T> extends AbstractProducerStage<T> {
private Iterable<T> elements; private final Iterable<T> elements;
public InitialElementProducer(final T... elements) { public InitialElementProducer(final T... elements) {
this.elements = Arrays.asList(elements); this(Arrays.asList(elements));
} }
public InitialElementProducer(final Iterable<T> elements) { public InitialElementProducer(final Iterable<T> elements) {
this.elements = elements;
}
@Override
public void onStarting() throws Exception {
if (elements == null) { if (elements == null) {
throw new IllegalArgumentException("The given iterable must not be null"); throw new IllegalArgumentException("The given iterable must not be null");
} }
super.onStarting(); this.elements = elements;
} }
@Override @Override
...@@ -47,12 +42,4 @@ public final class InitialElementProducer<T> extends AbstractProducerStage<T> { ...@@ -47,12 +42,4 @@ public final class InitialElementProducer<T> extends AbstractProducerStage<T> {
this.terminate(); this.terminate();
} }
public void setIter(final T... elements) {
this.elements = Arrays.asList(elements);
}
public void setIter(final Iterable<T> elements) {
this.elements = elements;
}
} }
...@@ -31,45 +31,37 @@ import org.junit.Test; ...@@ -31,45 +31,37 @@ import org.junit.Test;
*/ */
public class InitialElementProducerTest { public class InitialElementProducerTest {
private InitialElementProducer<Integer> producer;
// @Before
public void initializeProducer() {
producer = new InitialElementProducer<Integer>();
}
@Test @Test
public void producerShouldByDefaultSendNothing() { public void producerShouldByDefaultSendNothing() {
initializeProducer(); InitialElementProducer<Integer> producer = new InitialElementProducer<Integer>();
List<Integer> results = new ArrayList<Integer>(); List<Integer> results = new ArrayList<Integer>();
test(producer).and().receive(results).from(producer.getOutputPort()).start(); test(producer).and().receive(results).from(producer.getOutputPort()).start();
assertThat(results, is(empty())); assertThat(results, is(empty()));
} }
@Test // @Test
public void testSetIterArray() { // public void testSetIterArray() {
initializeProducer(); // InitialElementProducer<Integer> producer = new InitialElementProducer<Integer>(new Integer[] { 1, 2, 3 });
producer.setIter(new Integer[] { 1, 2, 3 }); //
List<Integer> results = new ArrayList<Integer>(); // List<Integer> results = new ArrayList<Integer>();
//
test(producer).and().receive(results).from(producer.getOutputPort()).start(); // test(producer).and().receive(results).from(producer.getOutputPort()).start();
assertThat(results, contains(1, 2, 3)); // assertThat(results, contains(1, 2, 3));
} // }
//
@Test // @Test
public void testSetIterVarargs() { // public void testSetIterVarargs() {
initializeProducer(); // InitialElementProducer<Integer> producer = new InitialElementProducer<Integer>(1, 2, 3);
producer.setIter(1, 2, 3); // List<Integer> results = new ArrayList<Integer>();
List<Integer> results = new ArrayList<Integer>(); //
// test(producer).and().receive(results).from(producer.getOutputPort()).start();
test(producer).and().receive(results).from(producer.getOutputPort()).start(); // assertThat(results, contains(1, 2, 3));
assertThat(results, contains(1, 2, 3)); // }
}
@Test @Test
public void instantiateWithArray() { public void instantiateWithArray() {
producer = new InitialElementProducer<Integer>(new Integer[] { 1, 2, 3 }); InitialElementProducer<Integer> producer = new InitialElementProducer<Integer>(new Integer[] { 1, 2, 3 });
List<Integer> results = new ArrayList<Integer>(); List<Integer> results = new ArrayList<Integer>();
test(producer).and().receive(results).from(producer.getOutputPort()).start(); test(producer).and().receive(results).from(producer.getOutputPort()).start();
...@@ -78,7 +70,7 @@ public class InitialElementProducerTest { ...@@ -78,7 +70,7 @@ public class InitialElementProducerTest {
@Test @Test
public void instantiateWithVarargs() { public void instantiateWithVarargs() {
producer = new InitialElementProducer<Integer>(1, 2, 3); InitialElementProducer<Integer> producer = new InitialElementProducer<Integer>(1, 2, 3);
List<Integer> results = new ArrayList<Integer>(); List<Integer> results = new ArrayList<Integer>();
test(producer).and().receive(results).from(producer.getOutputPort()).start(); test(producer).and().receive(results).from(producer.getOutputPort()).start();
...@@ -91,7 +83,7 @@ public class InitialElementProducerTest { ...@@ -91,7 +83,7 @@ public class InitialElementProducerTest {
testIntegers.add(1); testIntegers.add(1);
testIntegers.add(2); testIntegers.add(2);
testIntegers.add(3); testIntegers.add(3);
producer = new InitialElementProducer<Integer>(testIntegers); InitialElementProducer<Integer> producer = new InitialElementProducer<Integer>(testIntegers);
List<Integer> results = new ArrayList<Integer>(); List<Integer> results = new ArrayList<Integer>();
test(producer).and().receive(results).from(producer.getOutputPort()).start(); test(producer).and().receive(results).from(producer.getOutputPort()).start();
......
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