@Override protected void doGetNext(JCas jCas) throws IOException, CollectionException { ObjectId id = queue.remove(0); Document docIdField = new Document(idField, id); Document document = coll.find(docIdField).first(); if (document == null) { getMonitor().error("No document returned from Mongo"); throw new CollectionException(); } String content = (String) document.get(contentField); InputStream is = IOUtils.toInputStream(content, Charset.defaultCharset()); extractContent(is, mongo.getMongoURI() + "." + collection + "#" + id, jCas); for (Entry<String, Object> entry : document.entrySet()) { String key = entry.getKey(); if (contentField.equals(key) || idField.equals(key)) { continue; } else { processMongoMetadataField(jCas, key, entry.getValue()); } } if (deleteSource) { coll.deleteOne(docIdField); } }
@Override protected void doGetNext(JCas jCas) throws IOException, CollectionException { ObjectId id = queue.remove(0); Document docIdField = new Document(idField, id); Document document = coll.find(docIdField).first(); if (document == null) { getMonitor().error("No document returned from Mongo"); throw new CollectionException(); } String content = (String) document.get(contentField); InputStream is = IOUtils.toInputStream(content, Charset.defaultCharset()); extractor.processStream(is, mongo.getMongoURI() + "." + collection + "#" + id, jCas); for (Entry<String, Object> entry : document.entrySet()) { String key = entry.getKey(); if (contentField.equals(key) || idField.equals(key)) { continue; } else { processMongoMetadataField(jCas, key, entry.getValue()); } } if (deleteSource) { coll.deleteOne(docIdField); } }