Skip to content
Snippets Groups Projects
Commit 315f61b6 authored by Christian Wulf's avatar Christian Wulf
Browse files

removed Stage

parent 11de3429
Branches
Tags
No related merge requests found
Showing
with 63 additions and 65 deletions
...@@ -44,7 +44,7 @@ class ThreadService extends AbstractService<ThreadService> { ...@@ -44,7 +44,7 @@ class ThreadService extends AbstractService<ThreadService> {
private final List<Thread> infiniteProducerThreads = Collections.synchronizedList(new LinkedList<Thread>()); private final List<Thread> infiniteProducerThreads = Collections.synchronizedList(new LinkedList<Thread>());
private final SignalingCounter runnableCounter = new SignalingCounter(); private final SignalingCounter runnableCounter = new SignalingCounter();
private final Set<Stage> threadableStages = Collections.synchronizedSet(new HashSet<Stage>()); private final Set<AbstractStage> threadableStages = Collections.synchronizedSet(new HashSet<AbstractStage>());
private final Configuration configuration; private final Configuration configuration;
...@@ -54,23 +54,23 @@ class ThreadService extends AbstractService<ThreadService> { ...@@ -54,23 +54,23 @@ class ThreadService extends AbstractService<ThreadService> {
@Override @Override
void onInitialize() { void onInitialize() {
Stage startStage = configuration.getStartStage(); AbstractStage startStage = configuration.getStartStage();
Set<Stage> newThreadableStages = initialize(startStage); Set<AbstractStage> newThreadableStages = initialize(startStage);
startThreads(newThreadableStages); startThreads(newThreadableStages);
} }
void startStageAtRuntime(final Stage newStage) { void startStageAtRuntime(final AbstractStage newStage) {
newStage.declareActive(); newStage.declareActive();
Set<Stage> newThreadableStages = initialize(newStage); Set<AbstractStage> newThreadableStages = initialize(newStage);
startThreads(newThreadableStages); startThreads(newThreadableStages);
sendStartingSignal(newThreadableStages); sendStartingSignal(newThreadableStages);
} }
// extracted for runtime use // extracted for runtime use
private Set<Stage> initialize(final Stage startStage) { private Set<AbstractStage> initialize(final AbstractStage startStage) {
if (startStage == null) { if (startStage == null) {
throw new IllegalStateException("The start stage may not be null."); throw new IllegalStateException("The start stage may not be null.");
} }
...@@ -81,7 +81,7 @@ class ThreadService extends AbstractService<ThreadService> { ...@@ -81,7 +81,7 @@ class ThreadService extends AbstractService<ThreadService> {
Traverser traversor = new Traverser(stageCollector, Direction.BOTH); Traverser traversor = new Traverser(stageCollector, Direction.BOTH);
traversor.traverse(startStage); traversor.traverse(startStage);
Set<Stage> newThreadableStages = stageCollector.getThreadableStages(); Set<AbstractStage> newThreadableStages = stageCollector.getThreadableStages();
threadableStages.addAll(newThreadableStages); threadableStages.addAll(newThreadableStages);
if (threadableStages.isEmpty()) { if (threadableStages.isEmpty()) {
...@@ -98,14 +98,14 @@ class ThreadService extends AbstractService<ThreadService> { ...@@ -98,14 +98,14 @@ class ThreadService extends AbstractService<ThreadService> {
A4StageAttributeSetter attributeSetter = new A4StageAttributeSetter(configuration, newThreadableStages); A4StageAttributeSetter attributeSetter = new A4StageAttributeSetter(configuration, newThreadableStages);
attributeSetter.setAttributes(); attributeSetter.setAttributes();
for (Stage stage : newThreadableStages) { for (AbstractStage stage : newThreadableStages) {
categorizeThreadableStage(stage); categorizeThreadableStage(stage);
} }
return newThreadableStages; return newThreadableStages;
} }
private void categorizeThreadableStage(final Stage stage) { private void categorizeThreadableStage(final AbstractStage stage) {
switch (stage.getTerminationStrategy()) { switch (stage.getTerminationStrategy()) {
case BY_INTERRUPT: case BY_INTERRUPT:
infiniteProducerThreads.add(stage.getOwningThread()); infiniteProducerThreads.add(stage.getOwningThread());
...@@ -122,15 +122,15 @@ class ThreadService extends AbstractService<ThreadService> { ...@@ -122,15 +122,15 @@ class ThreadService extends AbstractService<ThreadService> {
} }
} }
private void startThreads(final Set<Stage> threadableStages) { private void startThreads(final Set<AbstractStage> threadableStages) {
for (Stage stage : threadableStages) { for (AbstractStage stage : threadableStages) {
stage.getOwningThread().start(); stage.getOwningThread().start();
} }
} }
private void sendStartingSignal(final Set<Stage> newThreadableStages) { private void sendStartingSignal(final Set<AbstractStage> newThreadableStages) {
synchronized (newThreadableStages) { synchronized (newThreadableStages) {
for (Stage stage : newThreadableStages) { for (AbstractStage stage : newThreadableStages) {
((TeeTimeThread) stage.getOwningThread()).sendStartingSignal(); ((TeeTimeThread) stage.getOwningThread()).sendStartingSignal();
} }
} }
...@@ -146,9 +146,9 @@ class ThreadService extends AbstractService<ThreadService> { ...@@ -146,9 +146,9 @@ class ThreadService extends AbstractService<ThreadService> {
abortStages(threadableStages); abortStages(threadableStages);
} }
private void abortStages(final Set<Stage> currentTreadableStages) { private void abortStages(final Set<AbstractStage> currentTreadableStages) {
synchronized (currentTreadableStages) { synchronized (currentTreadableStages) {
for (Stage stage : currentTreadableStages) { for (AbstractStage stage : currentTreadableStages) {
stage.abort(); stage.abort();
} }
} }
...@@ -193,7 +193,7 @@ class ThreadService extends AbstractService<ThreadService> { ...@@ -193,7 +193,7 @@ class ThreadService extends AbstractService<ThreadService> {
return exceptions; return exceptions;
} }
Set<Stage> getThreadableStages() { Set<AbstractStage> getThreadableStages() {
return threadableStages; return threadableStages;
} }
......
...@@ -47,7 +47,7 @@ public class Traverser { ...@@ -47,7 +47,7 @@ public class Traverser {
CONTINUE, STOP; CONTINUE, STOP;
} }
private final Set<Stage> visitedStages = new HashSet<Stage>(); private final Set<AbstractStage> visitedStages = new HashSet<AbstractStage>();
private final ITraverserVisitor traverserVisitor; private final ITraverserVisitor traverserVisitor;
private final Direction direction; private final Direction direction;
...@@ -61,7 +61,7 @@ public class Traverser { ...@@ -61,7 +61,7 @@ public class Traverser {
this.direction = direction; this.direction = direction;
} }
public void traverse(final Stage stage) { public void traverse(final AbstractStage stage) {
VisitorBehavior behavior = traverserVisitor.visit(stage); VisitorBehavior behavior = traverserVisitor.visit(stage);
if (behavior == VisitorBehavior.STOP || !visitedStages.add(stage)) { if (behavior == VisitorBehavior.STOP || !visitedStages.add(stage)) {
return; return;
...@@ -93,7 +93,7 @@ public class Traverser { ...@@ -93,7 +93,7 @@ public class Traverser {
} }
} }
public Set<Stage> getVisitedStages() { public Set<AbstractStage> getVisitedStages() {
return visitedStages; return visitedStages;
} }
} }
...@@ -21,12 +21,12 @@ import java.util.List; ...@@ -21,12 +21,12 @@ import java.util.List;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
/** /**
* Represents a minimalistic StageExceptionListener. * Represents a minimalistic StageExceptionListener.
* Listener which extend from this one, must a least implement this functionality. * Listener which extend from this one, must a least implement this functionality.
* This abstract class provides a Logger {@link #logger} and the method {@link #onStageException(Exception, Stage)} which is called on every raised exception. * This abstract class provides a Logger {@link #logger} and the method {@link #onStageException(Exception, AbstractStage)} which is called on every raised exception.
*/ */
public abstract class AbstractExceptionListener { public abstract class AbstractExceptionListener {
...@@ -57,13 +57,13 @@ public abstract class AbstractExceptionListener { ...@@ -57,13 +57,13 @@ public abstract class AbstractExceptionListener {
* @return * @return
* true, if the thread should be terminated, false otherwise * true, if the thread should be terminated, false otherwise
*/ */
public abstract FurtherExecution onStageException(Exception e, Stage throwingStage); public abstract FurtherExecution onStageException(Exception e, AbstractStage throwingStage);
public List<Exception> getLoggedExceptions() { public List<Exception> getLoggedExceptions() {
return exceptionsList; return exceptionsList;
} }
public FurtherExecution reportException(final Exception e, final Stage stage) { public FurtherExecution reportException(final Exception e, final AbstractStage stage) {
if (logExceptions) { if (logExceptions) {
exceptionsList.add(e); exceptionsList.add(e);
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package teetime.framework.exceptionHandling; package teetime.framework.exceptionHandling;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
class IgnoringExceptionListener extends AbstractExceptionListener { class IgnoringExceptionListener extends AbstractExceptionListener {
...@@ -24,7 +24,7 @@ class IgnoringExceptionListener extends AbstractExceptionListener { ...@@ -24,7 +24,7 @@ class IgnoringExceptionListener extends AbstractExceptionListener {
} }
@Override @Override
public FurtherExecution onStageException(final Exception e, final Stage throwingStage) { public FurtherExecution onStageException(final Exception e, final AbstractStage throwingStage) {
return FurtherExecution.CONTINUE; return FurtherExecution.CONTINUE;
} }
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package teetime.framework.exceptionHandling; package teetime.framework.exceptionHandling;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
class LoggingExceptionListener extends AbstractExceptionListener { class LoggingExceptionListener extends AbstractExceptionListener {
...@@ -24,7 +24,7 @@ class LoggingExceptionListener extends AbstractExceptionListener { ...@@ -24,7 +24,7 @@ class LoggingExceptionListener extends AbstractExceptionListener {
} }
@Override @Override
public FurtherExecution onStageException(final Exception e, final Stage throwingStage) { public FurtherExecution onStageException(final Exception e, final AbstractStage throwingStage) {
logger.warn("Exception occurred in " + throwingStage.getId(), e); logger.warn("Exception occurred in " + throwingStage.getId(), e);
return FurtherExecution.CONTINUE; return FurtherExecution.CONTINUE;
} }
......
...@@ -18,7 +18,7 @@ package teetime.framework.exceptionHandling; ...@@ -18,7 +18,7 @@ package teetime.framework.exceptionHandling;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
class TerminatingExceptionListener extends AbstractExceptionListener { class TerminatingExceptionListener extends AbstractExceptionListener {
...@@ -29,7 +29,7 @@ class TerminatingExceptionListener extends AbstractExceptionListener { ...@@ -29,7 +29,7 @@ class TerminatingExceptionListener extends AbstractExceptionListener {
} }
@Override @Override
public FurtherExecution onStageException(final Exception e, final Stage throwingStage) { public FurtherExecution onStageException(final Exception e, final AbstractStage throwingStage) {
if (logger.isWarnEnabled()) { if (logger.isWarnEnabled()) {
logger.warn("Exception occurred in " + throwingStage.getId(), e); logger.warn("Exception occurred in " + throwingStage.getId(), e);
} }
......
...@@ -19,11 +19,11 @@ import java.util.List; ...@@ -19,11 +19,11 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import teetime.framework.InputPort; import teetime.framework.InputPort;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
public interface ISignal { public interface ISignal {
void trigger(Stage stage) throws Exception; void trigger(AbstractStage stage) throws Exception;
// Only used by the merger so far // Only used by the merger so far
boolean mayBeTriggered(Set<InputPort<?>> receivedInputPorts, List<InputPort<?>> allInputPorts); boolean mayBeTriggered(Set<InputPort<?>> receivedInputPorts, List<InputPort<?>> allInputPorts);
......
...@@ -19,12 +19,12 @@ import java.util.List; ...@@ -19,12 +19,12 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import teetime.framework.InputPort; import teetime.framework.InputPort;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
public final class StartingSignal implements ISignal { public final class StartingSignal implements ISignal {
@Override @Override
public void trigger(final Stage stage) throws Exception { public void trigger(final AbstractStage stage) throws Exception {
stage.onStarting(); stage.onStarting();
} }
......
...@@ -19,12 +19,12 @@ import java.util.List; ...@@ -19,12 +19,12 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import teetime.framework.InputPort; import teetime.framework.InputPort;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
public final class TerminatingSignal implements ISignal { public final class TerminatingSignal implements ISignal {
@Override @Override
public void trigger(final Stage stage) throws Exception { public void trigger(final AbstractStage stage) throws Exception {
stage.onTerminating(); stage.onTerminating();
} }
......
...@@ -20,7 +20,7 @@ import java.util.List; ...@@ -20,7 +20,7 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import teetime.framework.InputPort; import teetime.framework.InputPort;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
import teetime.framework.validation.InvalidPortConnection; import teetime.framework.validation.InvalidPortConnection;
public final class ValidatingSignal implements ISignal { public final class ValidatingSignal implements ISignal {
...@@ -28,7 +28,7 @@ public final class ValidatingSignal implements ISignal { ...@@ -28,7 +28,7 @@ public final class ValidatingSignal implements ISignal {
private final List<InvalidPortConnection> invalidPortConnections = new LinkedList<InvalidPortConnection>(); private final List<InvalidPortConnection> invalidPortConnections = new LinkedList<InvalidPortConnection>();
@Override @Override
public void trigger(final Stage stage) { public void trigger(final AbstractStage stage) {
stage.onValidating(this.invalidPortConnections); stage.onValidating(this.invalidPortConnections);
} }
......
...@@ -16,18 +16,18 @@ ...@@ -16,18 +16,18 @@
package teetime.framework.test; package teetime.framework.test;
import teetime.framework.InputPort; import teetime.framework.InputPort;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
public final class InputHolder<I> { public final class InputHolder<I> {
private final StageTester stageTester; private final StageTester stageTester;
private final Stage stage; private final AbstractStage stage;
private final Iterable<Object> input; private final Iterable<Object> input;
private InputPort<Object> port; private InputPort<Object> port;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
InputHolder(final StageTester stageTester, final Stage stage, final Iterable<I> input) { InputHolder(final StageTester stageTester, final AbstractStage stage, final Iterable<I> input) {
this.stageTester = stageTester; this.stageTester = stageTester;
this.stage = stage; this.stage = stage;
this.input = (Iterable<Object>) input; this.input = (Iterable<Object>) input;
......
...@@ -22,7 +22,7 @@ import java.util.List; ...@@ -22,7 +22,7 @@ import java.util.List;
import teetime.framework.Configuration; import teetime.framework.Configuration;
import teetime.framework.Execution; import teetime.framework.Execution;
import teetime.framework.ExecutionException; import teetime.framework.ExecutionException;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
import teetime.framework.StageState; import teetime.framework.StageState;
import teetime.stage.CollectorSink; import teetime.stage.CollectorSink;
import teetime.stage.InitialElementProducer; import teetime.stage.InitialElementProducer;
...@@ -36,13 +36,13 @@ public final class StageTester { ...@@ -36,13 +36,13 @@ public final class StageTester {
private final List<InputHolder<?>> inputHolders = new ArrayList<InputHolder<?>>(); private final List<InputHolder<?>> inputHolders = new ArrayList<InputHolder<?>>();
private final List<OutputHolder<?>> outputHolders = new ArrayList<OutputHolder<?>>(); private final List<OutputHolder<?>> outputHolders = new ArrayList<OutputHolder<?>>();
private final Stage stage; private final AbstractStage stage;
private StageTester(final Stage stage) { private StageTester(final AbstractStage stage) {
this.stage = stage; this.stage = stage;
} }
public static StageTester test(final Stage stage) { public static StageTester test(final AbstractStage stage) {
if (stage.getCurrentState() != StageState.CREATED) { if (stage.getCurrentState() != StageState.CREATED) {
throw new AssertionError("This stage has already been tested in this test method. Move this test into a new test method."); throw new AssertionError("This stage has already been tested in this test method. Move this test into a new test method.");
} }
...@@ -85,7 +85,7 @@ public final class StageTester { ...@@ -85,7 +85,7 @@ public final class StageTester {
private final class TestConfiguration extends Configuration { private final class TestConfiguration extends Configuration {
public TestConfiguration(final List<InputHolder<?>> inputHolders, final Stage stage, final List<OutputHolder<?>> outputHolders) { public TestConfiguration(final List<InputHolder<?>> inputHolders, final AbstractStage stage, final List<OutputHolder<?>> outputHolders) {
for (InputHolder<?> inputHolder : inputHolders) { for (InputHolder<?> inputHolder : inputHolders) {
final InitialElementProducer<Object> producer = new InitialElementProducer<Object>(inputHolder.getInput()); final InitialElementProducer<Object> producer = new InitialElementProducer<Object>(inputHolder.getInput());
connectPorts(producer.getOutputPort(), inputHolder.getPort()); connectPorts(producer.getOutputPort(), inputHolder.getPort());
......
...@@ -21,7 +21,7 @@ import java.util.List; ...@@ -21,7 +21,7 @@ import java.util.List;
import teetime.framework.AbstractCompositeStage; import teetime.framework.AbstractCompositeStage;
import teetime.framework.InputPort; import teetime.framework.InputPort;
import teetime.framework.OutputPort; import teetime.framework.OutputPort;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
import teetime.stage.EveryXthStage; import teetime.stage.EveryXthStage;
import teetime.stage.basic.distributor.Distributor; import teetime.stage.basic.distributor.Distributor;
import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy; import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy;
...@@ -29,7 +29,7 @@ import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy; ...@@ -29,7 +29,7 @@ import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy;
public final class EveryXthPrinter<T> extends AbstractCompositeStage { public final class EveryXthPrinter<T> extends AbstractCompositeStage {
private final Distributor<T> distributor; private final Distributor<T> distributor;
private final List<Stage> lastStages = new ArrayList<Stage>(); private final List<AbstractStage> lastStages = new ArrayList<AbstractStage>();
public EveryXthPrinter(final int threshold) { public EveryXthPrinter(final int threshold) {
distributor = new Distributor<T>(new CopyByReferenceStrategy()); distributor = new Distributor<T>(new CopyByReferenceStrategy());
...@@ -50,7 +50,7 @@ public final class EveryXthPrinter<T> extends AbstractCompositeStage { ...@@ -50,7 +50,7 @@ public final class EveryXthPrinter<T> extends AbstractCompositeStage {
return distributor.getNewOutputPort(); return distributor.getNewOutputPort();
} }
public Stage getFirstStage() { public AbstractStage getFirstStage() {
return distributor; return distributor;
} }
......
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
*/ */
package teetime.util.framework.port; package teetime.util.framework.port;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
public interface PortAction<T extends Stage> { public interface PortAction<T extends AbstractStage> {
public abstract void execute(final T stage); public abstract void execute(final T stage);
......
...@@ -23,7 +23,7 @@ import org.jctools.queues.spec.ConcurrentQueueSpec; ...@@ -23,7 +23,7 @@ import org.jctools.queues.spec.ConcurrentQueueSpec;
import org.jctools.queues.spec.Ordering; import org.jctools.queues.spec.Ordering;
import org.jctools.queues.spec.Preference; import org.jctools.queues.spec.Preference;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
import teetime.util.framework.concurrent.queue.PCBlockingQueue; import teetime.util.framework.concurrent.queue.PCBlockingQueue;
import teetime.util.framework.concurrent.queue.putstrategy.PutStrategy; import teetime.util.framework.concurrent.queue.putstrategy.PutStrategy;
import teetime.util.framework.concurrent.queue.putstrategy.YieldPutStrategy; import teetime.util.framework.concurrent.queue.putstrategy.YieldPutStrategy;
...@@ -44,14 +44,14 @@ public final class PortActionHelper { ...@@ -44,14 +44,14 @@ public final class PortActionHelper {
return portActions; return portActions;
} }
public static <T extends Stage> void checkForPendingPortActionRequest(final T stage, final BlockingQueue<PortAction<T>> portActions) { public static <T extends AbstractStage> void checkForPendingPortActionRequest(final T stage, final BlockingQueue<PortAction<T>> portActions) {
PortAction<T> dynamicPortAction = portActions.poll(); PortAction<T> dynamicPortAction = portActions.poll();
if (null != dynamicPortAction) { if (null != dynamicPortAction) {
dynamicPortAction.execute(stage); dynamicPortAction.execute(stage);
} }
} }
public static <T extends Stage> void checkBlockingForPendingPortActionRequest(final T stage, final BlockingQueue<PortAction<T>> portActions) public static <T extends AbstractStage> void checkBlockingForPendingPortActionRequest(final T stage, final BlockingQueue<PortAction<T>> portActions)
throws InterruptedException { throws InterruptedException {
PortAction<T> dynamicPortAction = portActions.take(); PortAction<T> dynamicPortAction = portActions.take();
dynamicPortAction.execute(stage); dynamicPortAction.execute(stage);
......
...@@ -29,11 +29,11 @@ import teetime.stage.Cache; ...@@ -29,11 +29,11 @@ import teetime.stage.Cache;
import teetime.stage.Counter; import teetime.stage.Counter;
import teetime.stage.InitialElementProducer; import teetime.stage.InitialElementProducer;
public class StageTest { public class AbstractStageTest {
@Test @Test
public void testId() { public void testId() {
Stage.clearInstanceCounters(); AbstractStage.clearInstanceCounters();
Counter<Object> counter0 = new Counter<Object>(); Counter<Object> counter0 = new Counter<Object>();
Counter<Object> counter1 = new Counter<Object>(); Counter<Object> counter1 = new Counter<Object>();
...@@ -77,8 +77,6 @@ public class StageTest { ...@@ -77,8 +77,6 @@ public class StageTest {
private final long delayInMs; private final long delayInMs;
public boolean finished;
public DelayAndTerminate(final long delayInMs) { public DelayAndTerminate(final long delayInMs) {
super(); super();
this.delayInMs = delayInMs; this.delayInMs = delayInMs;
...@@ -89,8 +87,8 @@ public class StageTest { ...@@ -89,8 +87,8 @@ public class StageTest {
try { try {
Thread.sleep(delayInMs); Thread.sleep(delayInMs);
} catch (InterruptedException e) { } catch (InterruptedException e) {
throw new IllegalStateException(e);
} }
finished = true;
} }
} }
......
...@@ -45,7 +45,7 @@ public class TraverserTest { ...@@ -45,7 +45,7 @@ public class TraverserTest {
Traverser traversor = new Traverser(new IntraStageCollector(tc.init)); Traverser traversor = new Traverser(new IntraStageCollector(tc.init));
traversor.traverse(tc.init); traversor.traverse(tc.init);
Set<Stage> comparingStages = new HashSet<Stage>(); Set<AbstractStage> comparingStages = new HashSet<AbstractStage>();
comparingStages.add(tc.init); comparingStages.add(tc.init);
comparingStages.add(tc.f2b); comparingStages.add(tc.f2b);
comparingStages.add(tc.distributor); comparingStages.add(tc.distributor);
......
...@@ -28,10 +28,10 @@ class WaitStrategyConfiguration extends Configuration { ...@@ -28,10 +28,10 @@ class WaitStrategyConfiguration extends Configuration {
public WaitStrategyConfiguration(final long initialDelayInMs, final Object... elements) { public WaitStrategyConfiguration(final long initialDelayInMs, final Object... elements) {
Stage producer = buildProducer(elements); AbstractStage producer = buildProducer(elements);
producer.declareActive(); producer.declareActive();
Stage consumer = buildConsumer(delay); AbstractStage consumer = buildConsumer(delay);
consumer.declareActive(); consumer.declareActive();
Clock clock = buildClock(initialDelayInMs, delay); Clock clock = buildClock(initialDelayInMs, delay);
...@@ -47,7 +47,7 @@ class WaitStrategyConfiguration extends Configuration { ...@@ -47,7 +47,7 @@ class WaitStrategyConfiguration extends Configuration {
return clock; return clock;
} }
private Stage buildProducer(final Object... elements) { private AbstractStage buildProducer(final Object... elements) {
InitialElementProducer<Object> initialElementProducer = new InitialElementProducer<Object>(elements); InitialElementProducer<Object> initialElementProducer = new InitialElementProducer<Object>(elements);
delay = new Delay<Object>(); delay = new Delay<Object>();
......
...@@ -28,7 +28,7 @@ class YieldStrategyConfiguration extends Configuration { ...@@ -28,7 +28,7 @@ class YieldStrategyConfiguration extends Configuration {
InitialElementProducer<Object> producer = buildProducer(elements); InitialElementProducer<Object> producer = buildProducer(elements);
producer.declareActive(); producer.declareActive();
Stage consumer = buildConsumer(producer); AbstractStage consumer = buildConsumer(producer);
consumer.declareActive(); consumer.declareActive();
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package teetime.framework.exceptionHandling; package teetime.framework.exceptionHandling;
import teetime.framework.Stage; import teetime.framework.AbstractStage;
public class TestListener extends AbstractExceptionListener { public class TestListener extends AbstractExceptionListener {
...@@ -26,7 +26,7 @@ public class TestListener extends AbstractExceptionListener { ...@@ -26,7 +26,7 @@ public class TestListener extends AbstractExceptionListener {
private int numExceptionsInvoked; private int numExceptionsInvoked;
@Override @Override
public FurtherExecution onStageException(final Exception e, final Stage throwingStage) { public FurtherExecution onStageException(final Exception e, final AbstractStage throwingStage) {
numExceptionsInvoked++; numExceptionsInvoked++;
if (numExceptionsInvoked == 2) { if (numExceptionsInvoked == 2) {
return FurtherExecution.TERMINATE; return FurtherExecution.TERMINATE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment