本文整理汇总了Java中org.ektorp.DocumentOperationResult类的典型用法代码示例。如果您正苦于以下问题:Java DocumentOperationResult类的具体用法?Java DocumentOperationResult怎么用?Java DocumentOperationResult使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DocumentOperationResult类属于org.ektorp包,在下文中一共展示了DocumentOperationResult类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: rollback
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
private void rollback(List<StatementDocument> createdDocs,
List<StatementDocument> voidedDocs) {
List<Object> bulk = new ArrayList<>(createdDocs.size()
+ voidedDocs.size());
for (StatementDocument doc : createdDocs) {
bulk.add(BulkDeleteDocument.of(doc));
}
for (StatementDocument voidedDoc : voidedDocs) {
voidedDoc.setType(Type.PLAIN);
bulk.add(voidedDoc);
}
if (!bulk.isEmpty()) {
List<DocumentOperationResult> result = connector.executeBulk(bulk);
for (DocumentOperationResult docResult : result) {
if (docResult.isErroneous()) {
throw new RuntimeException(String.format(
"rollback failed: %s", result));
}
}
}
}
开发者ID:Apereo-Learning-Analytics-Initiative,项目名称:Larissa,代码行数:23,代码来源:CouchDbStatementRepository.java
示例2: deleteAllAnswersForQuestions
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@Override
public int deleteAllAnswersForQuestions(final List<String> contentIds) {
final ViewResult result = db.queryView(createQuery("by_questionid")
.keys(contentIds));
final List<BulkDeleteDocument> allAnswers = new ArrayList<>();
for (final ViewResult.Row a : result.getRows()) {
final BulkDeleteDocument d = new BulkDeleteDocument(a.getId(), a.getValueAsNode().get("_rev").asText());
allAnswers.add(d);
}
try {
final List<DocumentOperationResult> errors = db.executeBulk(allAnswers);
return allAnswers.size() - errors.size();
} catch (final DbAccessException e) {
logger.error("Could not bulk delete answers.", e);
}
return 0;
}
示例3: deleteByContentIds
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@Override
public int deleteByContentIds(final List<String> contentIds) {
final ViewResult result = db.queryView(createQuery("by_questionid")
.keys(contentIds));
final List<BulkDeleteDocument> deleteDocs = new ArrayList<>();
for (final ViewResult.Row a : result.getRows()) {
final BulkDeleteDocument d = new BulkDeleteDocument(a.getId(), a.getValueAsNode().get("_rev").asText());
deleteDocs.add(d);
}
try {
final List<DocumentOperationResult> errors = db.executeBulk(deleteDocs);
return deleteDocs.size() - errors.size();
} catch (final DbAccessException e) {
logger.error("Could not bulk delete answers.", e);
}
return 0;
}
示例4: deleteBySessionId
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@Override
public int deleteBySessionId(final String sessionId) {
final ViewResult result = db.queryView(createQuery("by_sessionid_variant_active")
.startKey(ComplexKey.of(sessionId))
.endKey(ComplexKey.of(sessionId, ComplexKey.emptyObject()))
.reduce(false));
final List<BulkDeleteDocument> deleteDocs = new ArrayList<>();
for (final ViewResult.Row a : result.getRows()) {
final BulkDeleteDocument d = new BulkDeleteDocument(a.getId(), a.getValueAsNode().get("_rev").asText());
deleteDocs.add(d);
}
List<DocumentOperationResult> errors = db.executeBulk(deleteDocs);
return deleteDocs.size() - errors.size();
}
示例5: close
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@Override
public void close() {
Collection<CouchDbConnector> connectorSet = _connectors.values();
for (CouchDbConnector connector : connectorSet) {
List<String> errornousResultsDescriptions = new ArrayList<String>();
List<DocumentOperationResult> results = connector.flushBulkBuffer();
for (DocumentOperationResult result : results) {
if (result.isErroneous()) {
String id = result.getId();
String error = result.getError();
String reason = result.getReason();
String revision = result.getRevision();
logger.error("Error occurred while flushing bulk buffer: {}, id: {}, revision: {}, reason: {}",
new Object[] { error, id, revision, reason });
errornousResultsDescriptions.add(error);
}
}
if (!errornousResultsDescriptions.isEmpty()) {
throw new MetaModelException(errornousResultsDescriptions.size() + " out of " + results.size()
+ " operations in bulk was errornous: " + errornousResultsDescriptions);
}
}
}
示例6: executeBulk
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
protected void executeBulk(Collection<? extends Object> collection) {
logger.debug(collection.size() + " documents are going to be processed ...");
List<DocumentOperationResult> results;
if (allOrNothing) {
results = db.executeAllOrNothing(collection);
} else {
results = db.executeBulk(collection);
}
// handle errors
List<BulkOperationError> errors = new ArrayList<BulkOperationError>();
List<String> messages = new ArrayList<String>();
for (DocumentOperationResult result : results) {
if (result.getError() != null) {
errors.add(new BulkOperationError(result.getId(), result.getRevision(), result.getError(), result
.getReason()));
messages.add(result.toString());
}
}
if (errors.size() > 0) {
throw new BulkOperationException(StringUtils.join(messages, ","), errors);
} else {
logger.debug("All documents have been processed.");
}
}
示例7: writeBulkData
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void writeBulkData() throws FilterException {
if (updateDataIfExists) {
timerContextBulkRead.resume();
Map<String, JsonNode> bulkLoaded = dataRepository.executeBulkGet(bulkDomainIds);
try {
for (ObjectNode node : bulkObjects) {
String domainId = node.at(source.getDomainIdKey()).asText();
if (bulkLoaded.containsKey(domainId)) {
JsonNode oldNode = bulkLoaded.get(domainId);
node.put("_id", oldNode.get("_id").asText());
node.put("_rev", oldNode.get("_rev").asText());
}
}
} finally {
timerContextBulkRead.pause();
}
}
timerContextBulkWrite.resume();
try {
Collection<DocumentOperationResult> results = dataRepository.executeBulkCreateAndUpdate((List) bulkObjects);
for (DocumentOperationResult result : results) {
if (result.isErroneous())
throw new FilterException("db insertion failed for id " + result.getId() + ", reason: " + result.getReason());
}
} finally {
timerContextBulkWrite.pause();
}
bulkObjects.clear();
}
示例8: executeBulkCreateAndUpdate
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
public Collection<DocumentOperationResult> executeBulkCreateAndUpdate(Collection<JsonNode> data) {
return connector.executeBulk(data);
}
示例9: flushBulkBuffer
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@Override
public List<DocumentOperationResult> flushBulkBuffer() {
throw new UnsupportedOperationException("not implemented");
}
示例10: executeBulk
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@Override
public List<DocumentOperationResult> executeBulk(InputStream inputStream) {
throw new UnsupportedOperationException("not implemented");
}
示例11: executeAllOrNothing
import org.ektorp.DocumentOperationResult; //导入依赖的package包/类
@Override
public List<DocumentOperationResult> executeAllOrNothing(
InputStream inputStream) {
throw new UnsupportedOperationException("not implemented");
}