@VisibleForTesting
List<Publication> extractPublications(InputStream inputStream, LocalDateTime lastImport, int total) throws FactoryConfigurationError {
final List<Publication> publications = new ArrayList<>(total);
final SAXParserFactory parserFactory = SAXParserFactory.newInstance();
parserFactory.setNamespaceAware(true);
try {
SAXParser parser = parserFactory.newSAXParser();
parser.parse(inputStream, new ArxivSaxHandler(new PublicationCallbackHandler() {
@Override
public void onNewPublication(Publication publication) {
publications.add(publication);
}
}, dao, lastImport));
} catch (StopParsing ex) {
logger.info("Stopped parsing because entries were before the last import date");
} catch (SAXException | ParserConfigurationException | IOException e) {
throw new IllegalStateException("Failed to parse input", e);
}
return publications;
}
ArxivImporter.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:scientific-publishing
作者:
评论列表
文章目录