@Override public BatchCursor<T> execute(final ReadBinding binding) { return withConnection(binding, new CallableWithConnectionAndSource<BatchCursor<T>>() { @Override public BatchCursor<T> call(final ConnectionSource source, final Connection connection) { validateReadConcernAndCollation(connection, binding.getSessionContext().getReadConcern(), collation); return executeWrappedCommandProtocol(binding, namespace.getDatabaseName(), getCommand(binding.getSessionContext()), createCommandDecoder(), connection, transformer(source, connection)); } }); }
@Override public BsonDocument execute(final ReadBinding binding) { return withConnection(binding, new CallableWithConnection<BsonDocument>() { @Override public BsonDocument call(final Connection connection) { validateCollation(connection, collation); return executeWrappedCommandProtocol(binding, namespace.getDatabaseName(), getCommand(), connection); } }); }
@Override public Boolean execute(final ReadBinding binding) { return withConnection(binding, new CallableWithConnection<Boolean>() { @Override public Boolean call(final Connection connection) { return executeWrappedCommandProtocol(binding, databaseName, getCommand(), connection, transformer()); } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { validateCollation(connection, collation); executeWrappedCommandProtocol(binding, databaseName, getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); return null; } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { validateCollation(connection, collation); return executeWrappedCommandProtocol(binding, namespace.getDatabaseName(), getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new OperationHelper.CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { executeWrappedCommandProtocol(binding, databaseName, getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); return null; } }); }
@Override public List<BatchCursor<T>> execute(final ReadBinding binding) { return withConnection(binding, new CallableWithConnectionAndSource<List<BatchCursor<T>>>() { @Override public List<BatchCursor<T>> call(final ConnectionSource source, final Connection connection) { validateReadConcern(connection, binding.getSessionContext().getReadConcern()); return executeWrappedCommandProtocol(binding, namespace.getDatabaseName(), getCommand(binding.getSessionContext()), CommandResultDocumentCodec.create(decoder, "firstBatch"), connection, transformer(source)); } }); }
@Override public BsonDocument execute(final ReadBinding binding) { return withConnection(binding, new CallableWithConnection<BsonDocument>() { @Override public BsonDocument call(final Connection connection) { if (serverIsAtLeastVersionThreeDotTwo(connection.getDescription())) { return executeWrappedCommandProtocol(binding, "admin", FSYNC_UNLOCK_COMMAND, connection); } else { return queryUnlock(connection); } } }); }
@Override public BatchCursor<T> execute(final ReadBinding binding) { return withConnection(binding, new CallableWithConnectionAndSource<BatchCursor<T>>() { @Override public BatchCursor<T> call(final ConnectionSource source, final Connection connection) { validateReadConcernAndCollation(connection, binding.getSessionContext().getReadConcern(), collation); return executeWrappedCommandProtocol(binding, namespace.getDatabaseName(), getCommand(connection.getDescription(), binding.getSessionContext()), CommandResultDocumentCodec.create(decoder, FIELD_NAMES_WITH_RESULT), connection, transformer(source, connection)); } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { if (!serverIsAtLeastVersionThreeDotFour(connection.getDescription())) { throw createExceptionForIncompatibleServerVersion(); } executeWrappedCommandProtocol(binding, databaseName, getCommand(connection.getDescription()), writeConcernErrorTransformer()); return null; } }); }
/** * Executing this will return a list of all the databases names in the MongoDB instance. * * @param binding the binding. * @return a List of Strings of the names of all the databases in the MongoDB instance. */ @Override public BatchCursor<T> execute(final ReadBinding binding) { return withConnection(binding, new OperationHelper.CallableWithConnectionAndSource<BatchCursor<T>>() { @Override public BatchCursor<T> call(final ConnectionSource source, final Connection connection) { return executeWrappedCommandProtocol(binding, "admin", getCommand(), CommandResultDocumentCodec.create(decoder, "databases"), connection, transformer(source, connection)); } }); }
@Override public void executeAsync(final AsyncWriteBinding binding, final SingleResultCallback<Void> callback) { withConnection(binding, new AsyncCallableWithConnection() { @Override public void call(final AsyncConnection connection, final Throwable t) { SingleResultCallback<Void> errHandlingCallback = errorHandlingCallback(callback, LOGGER); if (t != null) { errHandlingCallback.onResult(null, t); } else { final SingleResultCallback<Void> wrappedCallback = releasingCallback(errHandlingCallback, connection); executeWrappedCommandProtocolAsync(binding, credential.getSource(), getCommand(connection.getDescription()), connection, writeConcernErrorTransformer(), userCommandCallback(wrappedCallback)); } } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { try { executeWrappedCommandProtocol(binding, getCredential().getSource(), getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); } catch (MongoCommandException e) { translateUserCommandException(e); } return null; } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { try { executeWrappedCommandProtocol(binding, namespace.getDatabaseName(), getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); } catch (MongoCommandException e) { CommandOperationHelper.rethrowIfNotNamespaceError(e); } return null; } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { try { executeWrappedCommandProtocol(binding, databaseName, getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); } catch (MongoCommandException e) { translateUserCommandException(e); } return null; } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { try { executeWrappedCommandProtocol(binding, namespace.getDatabaseName(), getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); } catch (MongoCommandException e) { rethrowIfNotNamespaceError(e); } return null; } }); }
@Override public Void execute(final WriteBinding binding) { return withConnection(binding, new CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { try { executeWrappedCommandProtocol(binding, getCredential().getSource(), getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); } catch (MongoCommandException e) { translateUserCommandException(e); } return null; } }); }
/** * Rename the collection with {@code oldCollectionName} in database {@code databaseName} to the {@code newCollectionName}. * * @param binding the binding * @return a void result * @throws com.mongodb.MongoServerException if you provide a newCollectionName that is the name of an existing collection and dropTarget * is false, or if the oldCollectionName is the name of a collection that doesn't exist */ @Override public Void execute(final WriteBinding binding) { return withConnection(binding, new OperationHelper.CallableWithConnection<Void>() { @Override public Void call(final Connection connection) { return executeWrappedCommandProtocol(binding, "admin", getCommand(connection.getDescription()), connection, writeConcernErrorTransformer()); } }); }
@Override public void executeAsync(final AsyncWriteBinding binding, final SingleResultCallback<Void> callback) { withConnection(binding, new OperationHelper.AsyncCallableWithConnection() { @Override public void call(final AsyncConnection connection, final Throwable t) { SingleResultCallback<Void> errHandlingCallback = errorHandlingCallback(callback, LOGGER); if (t != null) { errHandlingCallback.onResult(null, t); } else { executeWrappedCommandProtocolAsync(binding, "admin", getCommand(connection.getDescription()), connection, writeConcernErrorTransformer(), releasingCallback(errHandlingCallback, connection)); } } }); }
@Override public void executeAsync(final AsyncWriteBinding binding, final SingleResultCallback<Void> callback) { withConnection(binding, new OperationHelper.AsyncCallableWithConnection() { @Override public void call(final AsyncConnection connection, final Throwable t) { SingleResultCallback<Void> errHandlingCallback = errorHandlingCallback(callback, LOGGER); if (t != null) { errHandlingCallback.onResult(null, t); } else { executeWrappedCommandProtocolAsync(binding, databaseName, getCommand(connection.getDescription()), connection, writeConcernErrorTransformer(), releasingCallback(errHandlingCallback, connection)); } } }); }