public class MongoDB extends Object implements Closeable
Modifier and Type | Field and Description |
---|---|
static String |
DOCUMENT_COLLECTION |
Constructor and Description |
---|
MongoDB() |
MongoDB(com.mongodb.MongoClient mongo,
String database) |
MongoDB(String host,
int port,
String database) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the underlying
MongoClient . |
void |
deleteDependency(String sourceName,
String id) |
void |
deleteDocument(String id) |
void |
deleteHarvest(String sourceName,
String id) |
void |
deleteProcess(String id) |
static long |
getBaseCursor(Instant time)
Returns a floored cursor based on the given time.
|
static long |
getCursor()
Generates a timestamp based long that can be used as cursor in a database.
|
Set<Dependency> |
getDependencies(String id) |
List<String> |
getDependencies(String source,
int limit) |
FullDocument |
getDocument(String id) |
List<FullDocument> |
getDocuments(List<String> ids) |
List<LoadDocument> |
getFromQueue(com.mongodb.client.MongoCollection<org.bson.Document> collection,
int limit) |
List<LoadDocument> |
getHarvestDocuments(int limit) |
String |
getIdFromSourceId(org.bson.Document document) |
List<String> |
getProcessTasks(int limit) |
com.fasterxml.jackson.databind.node.ObjectNode |
getToken(String source) |
List<FullDocument> |
harvest(long from,
int limit,
boolean includeDeleted,
List<String> fields,
List<String> collections) |
void |
putDependency(Dependency dependency) |
void |
putHarvestDocument(boolean primary,
LoadDocument loadDocument) |
void |
putProcessDocument(String id) |
void |
putResultDocument(FullDocument resultDocument) |
void |
putSourceDocument(LoadDocument loadDocument) |
void |
setHarvestCursor(String source,
com.fasterxml.jackson.databind.JsonNode cursor) |
org.bson.Document |
toSourceId(String sourceName,
String id) |
void |
updateDependencies(String id,
Set<Dependency> dependencies) |
public static final String DOCUMENT_COLLECTION
public MongoDB()
public MongoDB(com.mongodb.MongoClient mongo, String database)
mongo
- database
- public List<FullDocument> getDocuments(List<String> ids)
ids
- public FullDocument getDocument(String id)
id
- public List<FullDocument> harvest(long from, int limit, boolean includeDeleted, List<String> fields, List<String> collections)
from
- limit
- includeDeleted
- fields
- collections
- public void putResultDocument(FullDocument resultDocument)
resultDocument
- public void deleteDocument(String id)
id
- public void updateDependencies(String id, Set<Dependency> dependencies)
id
- dependencies
- public void putSourceDocument(LoadDocument loadDocument)
loadDocument
- public void putHarvestDocument(boolean primary, LoadDocument loadDocument)
primary
- loadDocument
- public org.bson.Document toSourceId(String sourceName, String id)
sourceName
- id
- public String getIdFromSourceId(org.bson.Document document)
document
- public void putProcessDocument(String id)
id
- public com.fasterxml.jackson.databind.node.ObjectNode getToken(String source)
source
- public List<String> getDependencies(String source, int limit)
source
- limit
- public Set<Dependency> getDependencies(String id)
id
- public void setHarvestCursor(String source, com.fasterxml.jackson.databind.JsonNode cursor)
source
- cursor
- public void putDependency(Dependency dependency)
dependency
- public void deleteDependency(String sourceName, String id)
sourceName
- id
- public void deleteProcess(String id)
id
- public List<LoadDocument> getHarvestDocuments(int limit)
public List<LoadDocument> getFromQueue(com.mongodb.client.MongoCollection<org.bson.Document> collection, int limit)
collection
- limit
- public static long getCursor()
With 34 bits for the time component, this strategy should work until approximately the year 2242.
public static long getBaseCursor(Instant time)
public void close() throws IOException
MongoClient
.close
in interface Closeable
close
in interface AutoCloseable
IOException
Copyright © 2016. All rights reserved.