WriteRequest.Type getType() { return writeRequest.getType(); } }
private static boolean isRetryable(final WriteRequest writeRequest) { if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { return !((UpdateRequest) writeRequest).isMulti(); } else if (writeRequest.getType() == DELETE) { return !((DeleteRequest) writeRequest).isMulti(); } return true; }
private void executeLegacyBatchesAsync(final AsyncConnection connection, final List<? extends WriteRequest> writeRequests, final int batchNum, final SingleResultCallback<BulkWriteResult> callback) { try { if (!writeRequests.isEmpty()) { WriteRequest writeRequest = writeRequests.get(0); final List<? extends WriteRequest> remaining = writeRequests.subList(1, writeRequests.size()); SingleResultCallback<WriteConcernResult> writeCallback = new SingleResultCallback<WriteConcernResult>() { @Override public void onResult(final WriteConcernResult result, final Throwable t) { if (t != null) { callback.onResult(null, t); } else { executeLegacyBatchesAsync(connection, remaining, batchNum + 1, callback); } } }; if (writeRequest.getType() == INSERT) { connection.insertAsync(getNamespace(), isOrdered(), (InsertRequest) writeRequest, writeCallback); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { connection.updateAsync(getNamespace(), isOrdered(), (UpdateRequest) writeRequest, writeCallback); } else { connection.deleteAsync(getNamespace(), isOrdered(), (DeleteRequest) writeRequest, writeCallback); } } else { callback.onResult(BulkWriteResult.unacknowledged(), null); } } catch (Throwable t) { callback.onResult(null, t); } }
private BulkWriteResult executeLegacyBatches(final Connection connection) { try { for (WriteRequest writeRequest : getWriteRequests()) { if (writeRequest.getType() == INSERT) { connection.insert(getNamespace(), isOrdered(), (InsertRequest) writeRequest); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { connection.update(getNamespace(), isOrdered(), (UpdateRequest) writeRequest); } else { connection.delete(getNamespace(), isOrdered(), (DeleteRequest) writeRequest); } } return BulkWriteResult.unacknowledged(); } finally { connection.release(); } }
this.bypassDocumentValidation = bypassDocumentValidation; this.bulkWriteBatchCombiner = bulkWriteBatchCombiner; this.batchType = writeRequestsWithIndices.isEmpty() ? INSERT : writeRequestsWithIndices.get(0).writeRequest.getType(); this.retryWrites = retryWrites;
@Override @SuppressWarnings("unchecked") public void encode(final BsonWriter writer, final WriteRequest writeRequest, final EncoderContext encoderContext) { if (writeRequest.getType() == INSERT) { BsonDocument document = ((InsertRequest) writeRequest).getDocument(); getCodec(document).encode(writer, document, EncoderContext.builder().isEncodingCollectibleDocument(true).build()); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { UpdateRequest update = (UpdateRequest) writeRequest; writer.writeStartDocument();
WriteRequest.Type getType() { return writeRequest.getType(); } }
private static boolean isRetryable(final WriteRequest writeRequest) { if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { return !((UpdateRequest) writeRequest).isMulti(); } else if (writeRequest.getType() == DELETE) { return !((DeleteRequest) writeRequest).isMulti(); } return true; }
private void executeLegacyBatchesAsync(final AsyncConnection connection, final List<? extends WriteRequest> writeRequests, final int batchNum, final SingleResultCallback<BulkWriteResult> callback) { try { if (!writeRequests.isEmpty()) { WriteRequest writeRequest = writeRequests.get(0); final List<? extends WriteRequest> remaining = writeRequests.subList(1, writeRequests.size()); SingleResultCallback<WriteConcernResult> writeCallback = new SingleResultCallback<WriteConcernResult>() { @Override public void onResult(final WriteConcernResult result, final Throwable t) { if (t != null) { callback.onResult(null, t); } else { executeLegacyBatchesAsync(connection, remaining, batchNum + 1, callback); } } }; if (writeRequest.getType() == INSERT) { connection.insertAsync(getNamespace(), isOrdered(), (InsertRequest) writeRequest, writeCallback); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { connection.updateAsync(getNamespace(), isOrdered(), (UpdateRequest) writeRequest, writeCallback); } else { connection.deleteAsync(getNamespace(), isOrdered(), (DeleteRequest) writeRequest, writeCallback); } } else { callback.onResult(BulkWriteResult.unacknowledged(), null); } } catch (Throwable t) { callback.onResult(null, t); } }
private BulkWriteResult executeLegacyBatches(final Connection connection) { try { for (WriteRequest writeRequest : getWriteRequests()) { if (writeRequest.getType() == INSERT) { connection.insert(getNamespace(), isOrdered(), (InsertRequest) writeRequest); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { connection.update(getNamespace(), isOrdered(), (UpdateRequest) writeRequest); } else { connection.delete(getNamespace(), isOrdered(), (DeleteRequest) writeRequest); } } return BulkWriteResult.unacknowledged(); } finally { connection.release(); } }
this.bypassDocumentValidation = bypassDocumentValidation; this.bulkWriteBatchCombiner = bulkWriteBatchCombiner; this.batchType = writeRequestsWithIndices.isEmpty() ? INSERT : writeRequestsWithIndices.get(0).writeRequest.getType(); this.retryWrites = retryWrites;
@Override @SuppressWarnings("unchecked") public void encode(final BsonWriter writer, final WriteRequest writeRequest, final EncoderContext encoderContext) { if (writeRequest.getType() == INSERT) { BsonDocument document = ((InsertRequest) writeRequest).getDocument(); getCodec(document).encode(writer, document, EncoderContext.builder().isEncodingCollectibleDocument(true).build()); } else if (writeRequest.getType() == UPDATE || writeRequest.getType() == REPLACE) { UpdateRequest update = (UpdateRequest) writeRequest; writer.writeStartDocument();