public QueryMessage build() { Preconditions.checkNotNull(query, "Query shall not be null"); return new QueryMessage(requestBaseMessage, context, context, database, collection, numberToSkip, numberToReturn, queryOptions, query, returnFieldsSelector, comment, explainOption, hint, maxScan, maxTimeMs, max, min, orderBy, returnKey, showDiscLoc, snapshot); }
C connection = getConnection(messageReplier); if (QUERY_MESSAGE_COMMAND_COLLECTION.equals(queryMessage.getCollection())) { executeCommand(connection, queryMessage, messageReplier); } else { QueryRequest.Builder requestBuilder = new QueryRequest.Builder( queryMessage.getDatabase(), queryMessage.getCollection() ); QueryOptions queryOptions = queryMessage.getQueryOptions(); requestBuilder.setCollection(queryMessage.getCollection()) .setQuery(queryMessage.getQuery()) .setProjection(null) .setNumberToSkip(queryMessage.getNumberToSkip()) .setLimit(queryMessage.getNumberToReturn()) .setAwaitData(queryOptions.isAwaitData()) .setExhaust(queryOptions.isExhaust()) connection, new Request( queryMessage.getDatabase(), new ExternalClientInfo(queryMessage.getClientAddress(), queryMessage.getClientPort()), requestBuilder.isSlaveOk(),
QueryMessage queryMessage, MessageReplier messageReplier) throws MongoException { BsonDocument document = queryMessage.getQuery(); LibraryEntry libraryEntry = safeRequestProcessor.getCommandsLibrary() .find(document); if (!QUERY_MESSAGE_ADMIN_DATABASE.equals(queryMessage.getDatabase())) { throw new UnauthorizedException( command.getCommandName() + "may only be run " queryMessage.getDatabase(), new ExternalClientInfo(queryMessage.getClientAddress(), queryMessage.getClientPort()), queryMessage.getQueryOptions().isSlaveOk(),