/*
* !! Workers should never stop on Exceptions.
* !! Do not System.exit(1) on file reading exception. Throw an exception.
*/
package edu.ucsb.jpregel.system;
import api.WorkerGraphMaker;
import java.io.BufferedReader;
import static java.lang.System.err;
import static java.lang.System.exit;
/**
*
* @author Pete Cappello
*/
public class WorkerGraphMakerStandard extends WorkerGraphMaker
{
private static final long serialVersionUID = 1L;
@Override
public int makeGraph(Worker worker)
{
int numVertices = 0;
try
{
int workerNum = worker.getWorkerNum();
Job job = worker.getJob();
FileSystem fileSystem = job.getFileSystem();
VertexImpl vertexFactory = job.getVertexFactory();
BufferedReader bufferedReader = fileSystem.getWorkerInputFileInputStream(workerNum);
/*
* String strLine; System.out.println ("contents from the file");
* while ((strLine = bufferedReader.readLine()) != null) {
* System.out.println (strLine); }
*/
for (String line; (line = bufferedReader.readLine()) != null; numVertices++)
{
VertexImpl vertex = vertexFactory.make(line);
worker.addVertex(vertex, line);
}
bufferedReader.close();
} catch (Exception exception)
{
err.println("StandardWorkerGraphMaker.makeGraph: Error: " + exception.getMessage());
exception.printStackTrace();
exit(1);
}
return numVertices;
}
}