Coverage Report - org.galagosearch.core.parse.DocumentToKeyValuePair
 
Classes in this File Line Coverage Branch Coverage Complexity
DocumentToKeyValuePair
100%
10/10
N/A
0
 
 1  
 // BSD License (http://www.galagosearch.org/license)
 2  
 
 3  
 package org.galagosearch.core.parse;
 4  
 
 5  
 import java.io.ByteArrayOutputStream;
 6  
 import java.io.IOException;
 7  
 import java.io.ObjectOutputStream;
 8  
 import org.galagosearch.core.types.KeyValuePair;
 9  
 import org.galagosearch.tupleflow.InputClass;
 10  
 import org.galagosearch.tupleflow.OutputClass;
 11  
 import org.galagosearch.tupleflow.StandardStep;
 12  
 import org.galagosearch.tupleflow.Utility;
 13  
 import org.galagosearch.tupleflow.execution.Verified;
 14  
 
 15  
 /**
 16  
  * <p>This is used in conjunction with KeyValuePairToDocument.  Since Document
 17  
  * is not a real Galago type, it needs to be converted to a KeyValuePair in order
 18  
  * to be passed between stages (or to a Sorter).</p>
 19  
 
 20  
  * @author trevor
 21  
  */
 22  
 @Verified
 23  
 @InputClass(className = "org.galagosearch.core.parse.Document")
 24  
 @OutputClass(className = "org.galagosearch.core.types.KeyValuePair")
 25  4
 public class DocumentToKeyValuePair extends StandardStep<Document, KeyValuePair> {
 26  
     @Override
 27  
     public void process(Document document) throws IOException {
 28  4
         ByteArrayOutputStream array = new ByteArrayOutputStream();
 29  4
         ObjectOutputStream output = new ObjectOutputStream(array);
 30  4
         output.writeObject(document);
 31  4
         output.close();
 32  
 
 33  4
         byte[] key = Utility.makeBytes(document.identifier);
 34  4
         byte[] value = array.toByteArray();
 35  4
         KeyValuePair pair = new KeyValuePair(key, value);
 36  4
         processor.process(pair);
 37  4
     }
 38  
 }