|
42 | 42 | import static com.mongodb.assertions.Assertions.isTrue;
|
43 | 43 | import static com.mongodb.assertions.Assertions.notNull;
|
44 | 44 | import static com.mongodb.internal.async.ErrorHandlingResultCallback.errorHandlingCallback;
|
| 45 | +import static com.mongodb.internal.operation.ServerVersionHelper.serverIsAtLeastVersionThreeDotTwo; |
| 46 | +import static com.mongodb.internal.operation.WriteConcernHelper.appendWriteConcernToCommand; |
| 47 | +import static com.mongodb.internal.operation.WriteConcernHelper.throwOnWriteConcernError; |
45 | 48 | import static com.mongodb.operation.CommandOperationHelper.executeCommand;
|
46 | 49 | import static com.mongodb.operation.CommandOperationHelper.executeCommandAsync;
|
| 50 | +import static com.mongodb.operation.DocumentHelper.putIfNotNull; |
47 | 51 | import static com.mongodb.operation.DocumentHelper.putIfNotZero;
|
48 | 52 | import static com.mongodb.operation.DocumentHelper.putIfTrue;
|
49 | 53 | import static com.mongodb.operation.OperationHelper.AsyncCallableWithConnection;
|
| 54 | +import static com.mongodb.operation.OperationHelper.CallableWithConnection; |
50 | 55 | import static com.mongodb.operation.OperationHelper.LOGGER;
|
51 |
| -import static com.mongodb.operation.OperationHelper.validateCollation; |
52 | 56 | import static com.mongodb.operation.OperationHelper.releasingCallback;
|
53 |
| -import static com.mongodb.internal.operation.ServerVersionHelper.serverIsAtLeastVersionThreeDotTwo; |
54 |
| -import static com.mongodb.operation.OperationHelper.CallableWithConnection; |
55 |
| -import static com.mongodb.operation.OperationHelper.withConnection; |
| 57 | +import static com.mongodb.operation.OperationHelper.validateCollation; |
56 | 58 | import static com.mongodb.operation.OperationHelper.withAsyncConnection;
|
57 |
| -import static com.mongodb.internal.operation.WriteConcernHelper.appendWriteConcernToCommand; |
58 |
| -import static com.mongodb.internal.operation.WriteConcernHelper.throwOnWriteConcernError; |
| 59 | +import static com.mongodb.operation.OperationHelper.withConnection; |
59 | 60 | import static java.util.Arrays.asList;
|
60 | 61 | import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
61 | 62 |
|
@@ -595,20 +596,21 @@ public MapReduceStatistics apply(final BsonDocument result, final AsyncConnectio
|
595 | 596 |
|
596 | 597 | private BsonDocument getCommand(final ConnectionDescription description) {
|
597 | 598 | BsonDocument outputDocument = new BsonDocument(getAction(), new BsonString(getCollectionName()));
|
598 |
| - outputDocument.append("sharded", BsonBoolean.valueOf(isSharded())); |
599 |
| - outputDocument.append("nonAtomic", BsonBoolean.valueOf(isNonAtomic())); |
| 599 | + putIfTrue(outputDocument, "sharded", isSharded()); |
| 600 | + putIfTrue(outputDocument, "nonAtomic", isNonAtomic()); |
600 | 601 | if (getDatabaseName() != null) {
|
601 | 602 | outputDocument.put("db", new BsonString(getDatabaseName()));
|
602 | 603 | }
|
603 | 604 | BsonDocument commandDocument = new BsonDocument("mapreduce", new BsonString(namespace.getCollectionName()))
|
604 | 605 | .append("map", getMapFunction())
|
605 | 606 | .append("reduce", getReduceFunction())
|
606 |
| - .append("out", outputDocument) |
607 |
| - .append("query", asValueOrNull(getFilter())) |
608 |
| - .append("sort", asValueOrNull(getSort())) |
609 |
| - .append("finalize", asValueOrNull(getFinalizeFunction())) |
610 |
| - .append("scope", asValueOrNull(getScope())) |
611 |
| - .append("verbose", BsonBoolean.valueOf(isVerbose())); |
| 607 | + .append("out", outputDocument); |
| 608 | + |
| 609 | + putIfNotNull(commandDocument, "query", getFilter()); |
| 610 | + putIfNotNull(commandDocument, "sort", getSort()); |
| 611 | + putIfNotNull(commandDocument, "finalize", getFinalizeFunction()); |
| 612 | + putIfNotNull(commandDocument, "scope", getScope()); |
| 613 | + putIfTrue(commandDocument, "verbose", isVerbose()); |
612 | 614 | putIfNotZero(commandDocument, "limit", getLimit());
|
613 | 615 | putIfNotZero(commandDocument, "maxTimeMS", getMaxTime(MILLISECONDS));
|
614 | 616 | putIfTrue(commandDocument, "jsMode", isJsMode());
|
|
0 commit comments