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

edit FileProducer to use SequencedLine

parent a3c58c6d
package producer; package producer;
import model.SequencedLine;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
...@@ -8,11 +9,12 @@ import java.util.concurrent.atomic.AtomicBoolean; ...@@ -8,11 +9,12 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class FileProducer implements Runnable { public class FileProducer implements Runnable {
private final String inputFilePath; private final String inputFilePath;
private final BlockingQueue<String> inputQueue; private final BlockingQueue<SequencedLine> inputQueue;
private final AtomicBoolean productionFinished; private final AtomicBoolean productionFinished;
private int sequenceCounter = 0;
public FileProducer(String inputFilePath, public FileProducer(String inputFilePath,
BlockingQueue<String> inputQueue, BlockingQueue<SequencedLine> inputQueue,
AtomicBoolean productionFinished) { AtomicBoolean productionFinished) {
this.inputFilePath = inputFilePath; this.inputFilePath = inputFilePath;
this.inputQueue = inputQueue; this.inputQueue = inputQueue;
...@@ -31,7 +33,9 @@ public class FileProducer implements Runnable { ...@@ -31,7 +33,9 @@ public class FileProducer implements Runnable {
while ((line = reader.readLine()) != null) { while ((line = reader.readLine()) != null) {
if (!line.trim().isEmpty()) { if (!line.trim().isEmpty()) {
// Put line in queue - will wait if queue is full // 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++; lineCount++;
// Progress reporting every 50 lines // 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