Polishing.

Refine assertions.

See #4132
Original pull request: #4147.
This commit is contained in:
Mark Paluch
2022-08-25 15:33:47 +02:00
parent 655dbc9783
commit 4bbc443a0e
2 changed files with 10 additions and 8 deletions

View File

@@ -23,7 +23,6 @@ import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.BiPredicate;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -31,6 +30,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.bson.Document;
import org.bson.conversions.Bson;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
@@ -1870,21 +1870,21 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
@Override
public <O> AggregationResults<O> aggregate(TypedAggregation<?> aggregation, Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return aggregate(aggregation, getCollectionName(aggregation.getInputType()), outputType);
}
@Override
public <O> AggregationResults<O> aggregate(TypedAggregation<?> aggregation, String inputCollectionName,
Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return aggregate(aggregation, inputCollectionName, outputType, null);
}
@Override
public <O> AggregationResults<O> aggregate(Aggregation aggregation, Class<?> inputType, Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return aggregate(aggregation, getCollectionName(inputType), outputType,
queryOperations.createAggregation(aggregation, inputType).getAggregationOperationContext());
}
@@ -1897,19 +1897,20 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
@Override
public <O> Stream<O> aggregateStream(TypedAggregation<?> aggregation, String inputCollectionName,
Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return aggregateStream(aggregation, inputCollectionName, outputType, null);
}
@Override
public <O> Stream<O> aggregateStream(TypedAggregation<?> aggregation, Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return aggregateStream(aggregation, getCollectionName(aggregation.getInputType()), outputType);
}
@Override
public <O> Stream<O> aggregateStream(Aggregation aggregation, Class<?> inputType, Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return aggregateStream(aggregation, getCollectionName(inputType), outputType,
queryOperations.createAggregation(aggregation, inputType).getAggregationOperationContext());
}
@@ -2056,8 +2057,8 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware,
protected <O> Stream<O> aggregateStream(Aggregation aggregation, String collectionName, Class<O> outputType,
@Nullable AggregationOperationContext context) {
Assert.hasText(collectionName, "Collection name must not be null or empty");
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
Assert.hasText(collectionName, "Collection name must not be null or empty");
Assert.notNull(outputType, "Output type must not be null");
Assert.isTrue(!aggregation.getOptions().isExplain(), "Can't use explain option with streaming");

View File

@@ -856,12 +856,13 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati
public <O> Flux<O> aggregate(TypedAggregation<?> aggregation, String inputCollectionName, Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return doAggregate(aggregation, inputCollectionName, aggregation.getInputType(), outputType);
}
@Override
public <O> Flux<O> aggregate(TypedAggregation<?> aggregation, Class<O> outputType) {
Assert.notNull(aggregation, "Aggregation pipeline must not be null");
return aggregate(aggregation, getCollectionName(aggregation.getInputType()), outputType);
}