package edu.stanford.nlp.quoteattribution; import edu.stanford.nlp.io.IOUtils; import edu.stanford.nlp.pipeline.Annotation; import edu.stanford.nlp.pipeline.ProtobufAnnotationSerializer; import edu.stanford.nlp.util.Pair; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; /** * Created by michaelf on 5/30/16. */ public class ExtractQuotesUtil { //return true if one is contained in the other. public static boolean rangeContains(Pair<Integer, Integer> r1, Pair<Integer, Integer> r2) { return ((r1.first <= r2.first && r1.second >= r2.first) || (r1.first <= r2.second && r1.second >= r2.second)); } public static Annotation readSerializedProtobufFile(File fileIn) { Annotation annotation; try { ProtobufAnnotationSerializer pas = new ProtobufAnnotationSerializer(); InputStream is = new BufferedInputStream(new FileInputStream(fileIn)); Pair<Annotation, InputStream> pair = pas.read(is); pair.second.close(); annotation = pair.first; IOUtils.closeIgnoringExceptions(is); return annotation; } catch(Exception e) { throw new RuntimeException(e); } } }