Commit d998425e authored by tammam.alsoleman's avatar tammam.alsoleman

edit FileProducer to use SequencedLine

parent a3c58c6d
package producer;
import model.SequencedLine;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
......@@ -8,11 +9,12 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class FileProducer implements Runnable {
private final String inputFilePath;
private final BlockingQueue<String> inputQueue;
private final BlockingQueue<SequencedLine> inputQueue;
private final AtomicBoolean productionFinished;
private int sequenceCounter = 0;
public FileProducer(String inputFilePath,
BlockingQueue<String> inputQueue,
BlockingQueue<SequencedLine> inputQueue,
AtomicBoolean productionFinished) {
this.inputFilePath = inputFilePath;
this.inputQueue = inputQueue;
......@@ -31,7 +33,9 @@ public class FileProducer implements Runnable {
while ((line = reader.readLine()) != null) {
if (!line.trim().isEmpty()) {
// Put line in queue - will wait if queue is full
inputQueue.put(line);
SequencedLine sequencedLine = new SequencedLine(sequenceCounter, line);
sequenceCounter++; // Prepare for next line
inputQueue.put(sequencedLine);
lineCount++;
// Progress reporting every 50 lines
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment