diff --git a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java b/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java index 3ea7e0a03762f5785cf1bc18bcefb9a3d66bd0f9..0ebf4a7926e5fb4ba9d7d90627361c5eee52c977 100644 --- a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java +++ b/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java @@ -56,14 +56,20 @@ public class TraceReconstructionAnalysis2 extends Analysis { private ClassNameRegistryRepository classNameRegistryRepository; + @Override public void init() { super.init(); +// IPipeline clockPipeline = buildClockPipeline(); +// this.clockThread = new WorkerThread(clockPipeline, 1); +// Clock clockStage=(Clock) clockPipeline.getStartStages().get(0); + final IPipeline pipeline = this.buildPipeline(); this.workerThread = new WorkerThread(pipeline, 0); } /** + * @param clockStage * @since 1.10 */ private IPipeline buildPipeline() { @@ -107,7 +113,7 @@ public class TraceReconstructionAnalysis2 extends Analysis { QueuePipe.connect(classNameRegistryCreationFilter.relayDirectoryOutputPort, directory2FilesFilter.directoryInputPort); QueuePipe.connect(directory2FilesFilter.fileOutputPort, file2TextLinesFilter.fileInputPort); QueuePipe.connect(file2TextLinesFilter.textLineOutputPort, cache.objectInputPort); - // QueuePipe.connect(XXX, cache.sendInputPort); +// QueuePipe.connect(XXX, cache.sendInputPort); QueuePipe.connect(cache.objectOutputPort, textLine2RecordFilter.textLineInputPort); QueuePipe.connect(textLine2RecordFilter.recordOutputPort, stringBufferFilter.objectInputPort); QueuePipe.connect(stringBufferFilter.objectOutputPort, timestampFilter.inputPort); @@ -115,11 +121,11 @@ public class TraceReconstructionAnalysis2 extends Analysis { // QueuePipe.connect(timestampFilter.mismatchingOutputPort, YYY); // ignore this case QueuePipe.connect(traceIdFilter.matchingOutputPort, instanceOfFilter.inputPort); // QueuePipe.connect(traceIdFilter.mismatchingOutputPort, traceIdFilter.inputPort); // ignore this case -// QueuePipe.connect(XXX, traceReconstructionFilter.timestampInputPort); +// QueuePipe.connect(clockStage.timestampOutputPort, traceReconstructionFilter.timestampInputPort); // ignore this case QueuePipe.connect(instanceOfFilter.matchingOutputPort, traceReconstructionFilter.recordInputPort); // QueuePipe.connect(instanceOfFilter.mismatchingOutputPort, instanceOfFilter.inputPort); // ignore this case QueuePipe.connect(traceReconstructionFilter.traceValidOutputPort, countingFilter.INPUT_OBJECT); - // QueuePipe.connect(traceReconstructionFilter.traceInvalidOutputPort, XXX); // ignore this case + // QueuePipe.connect(traceReconstructionFilter.traceInvalidOutputPort, ); // ignore this case final Pipeline pipeline = new Pipeline(); pipeline.setStartStages(startStages); diff --git a/src/main/java/teetime/stage/basic/Clock.java b/src/main/java/teetime/stage/basic/Clock.java index c25ae029ac0497fbcd53fa572dfcafad17fe5d19..014de3ec290489805e7f5bf4ef320a696b3d94b9 100644 --- a/src/main/java/teetime/stage/basic/Clock.java +++ b/src/main/java/teetime/stage/basic/Clock.java @@ -12,11 +12,10 @@ import teetime.framework.core.IOutputPort; * * @since 1.10 * - * @param <T> */ -public class Clock<T> extends AbstractFilter<Clock<T>> { +public class Clock extends AbstractFilter<Clock> { - public final IOutputPort<Clock<T>, Long> timestampOutputPort = this.createOutputPort(); + public final IOutputPort<Clock, Long> timestampOutputPort = this.createOutputPort(); private boolean initialDelayExceeded = false; @@ -27,7 +26,7 @@ public class Clock<T> extends AbstractFilter<Clock<T>> { * @since 1.10 */ @Override - protected boolean execute(final Context<Clock<T>> context) { + protected boolean execute(final Context<Clock> context) { if (!initialDelayExceeded) { initialDelayExceeded = true; sleep(initialDelayInMs);