Coverage Report - org.galagosearch.core.parse.PriorParser
 
Classes in this File Line Coverage Branch Coverage Complexity
PriorParser
0%
0/25
0%
0/10
0
 
 1  
 // BSD License (http://www.galagosearch.org/license)
 2  
 package org.galagosearch.core.parse;
 3  
 
 4  
 import java.io.BufferedReader;
 5  
 import java.io.File;
 6  
 import java.io.FileNotFoundException;
 7  
 import java.io.FileReader;
 8  
 import java.io.IOException;
 9  
 import org.galagosearch.core.types.DocumentProbability;
 10  
 import org.galagosearch.tupleflow.ExNihiloSource;
 11  
 import org.galagosearch.tupleflow.IncompatibleProcessorException;
 12  
 import org.galagosearch.tupleflow.Linkage;
 13  
 import org.galagosearch.tupleflow.OutputClass;
 14  
 import org.galagosearch.tupleflow.Processor;
 15  
 import org.galagosearch.tupleflow.Step;
 16  
 import org.galagosearch.tupleflow.TupleFlowParameters;
 17  
 import org.galagosearch.tupleflow.execution.ErrorHandler;
 18  
 import org.galagosearch.tupleflow.execution.Verification;
 19  
 
 20  
 /**
 21  
  *
 22  
  * @author trevor
 23  
  */
 24  
 @OutputClass(className = "org.galagosearch.core.types.DocumentProbability")
 25  
 public class PriorParser implements ExNihiloSource<DocumentProbability> {
 26  
     public Processor<DocumentProbability> processor;
 27  
     BufferedReader reader;
 28  
 
 29  0
     public PriorParser(TupleFlowParameters parameters) throws FileNotFoundException, IOException {
 30  0
         String fileName = parameters.getXML().get("filename");
 31  0
         reader = new BufferedReader(new FileReader(fileName));
 32  0
     }
 33  
 
 34  
     public void setProcessor(Step processor) throws IncompatibleProcessorException {
 35  0
         Linkage.link(this, processor);
 36  0
     }
 37  
 
 38  
     public void run() throws IOException {
 39  
         String line;
 40  
 
 41  0
         while ((line = reader.readLine()) != null) {
 42  0
             if (line.startsWith("#")) {
 43  0
                 continue;
 44  
             }
 45  0
             String[] fields = line.split(" ");
 46  0
             if (fields.length != 2) {
 47  0
                 continue;
 48  
             }
 49  0
             String document = fields[0];
 50  0
             String probability = fields[1];
 51  
 
 52  0
             processor.process(new DocumentProbability(document, Double.parseDouble(probability)));
 53  0
         }
 54  
 
 55  0
         processor.close();
 56  0
     }
 57  
 
 58  
     public Class<DocumentProbability> getOutputClass() {
 59  0
         return DocumentProbability.class;
 60  
     }
 61  
 
 62  
     public static void verify(TupleFlowParameters parameters, ErrorHandler handler) {
 63  0
         if (!Verification.requireParameters(new String[]{"filename"}, parameters.getXML(), handler)) {
 64  0
             return;
 65  
         }
 66  0
         String filename = parameters.getXML().get("filename");
 67  0
         if (!new File(filename).isFile()) {
 68  0
             handler.addError("File " + filename + " does not exist.");
 69  
         }
 70  0
     }
 71  
 }