From c284e4ee239050ee569421a2ca82b24413a7ef23 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 25 Aug 2022 15:33:47 +0200 Subject: [PATCH] Polishing. Refine assertions. See #4132 Original pull request: #4147. --- .../data/mongodb/core/MongoTemplate.java | 14 ++++++++------ .../data/mongodb/core/ReactiveMongoTemplate.java | 3 ++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java index efd195e43..d4e6a3f6d 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java @@ -29,6 +29,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; @@ -2070,6 +2071,8 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, */ @Override public AggregationResults aggregate(TypedAggregation aggregation, Class outputType) { + + Assert.notNull(aggregation, "Aggregation pipeline must not be null"); return aggregate(aggregation, getCollectionName(aggregation.getInputType()), outputType); } @@ -2079,9 +2082,6 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, @Override public AggregationResults aggregate(TypedAggregation aggregation, String inputCollectionName, Class outputType) { - - Assert.notNull(aggregation, "Aggregation pipeline must not be null!"); - return aggregate(aggregation, inputCollectionName, outputType, null); } @@ -2091,6 +2091,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, @Override public AggregationResults aggregate(Aggregation aggregation, Class inputType, Class outputType) { + Assert.notNull(aggregation, "Aggregation pipeline must not be null"); return aggregate(aggregation, getCollectionName(inputType), outputType, queryOperations.createAggregation(aggregation, inputType).getAggregationOperationContext()); } @@ -2109,8 +2110,6 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, @Override public CloseableIterator aggregateStream(TypedAggregation aggregation, String inputCollectionName, Class outputType) { - - Assert.notNull(aggregation, "Aggregation pipeline must not be null!"); return aggregateStream(aggregation, inputCollectionName, outputType, null); } @@ -2119,6 +2118,8 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, */ @Override public CloseableIterator aggregateStream(TypedAggregation aggregation, Class outputType) { + + Assert.notNull(aggregation, "Aggregation pipeline must not be null"); return aggregateStream(aggregation, getCollectionName(aggregation.getInputType()), outputType); } @@ -2128,6 +2129,7 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, @Override public CloseableIterator aggregateStream(Aggregation aggregation, Class inputType, Class outputType) { + Assert.notNull(aggregation, "Aggregation pipeline must not be null"); return aggregateStream(aggregation, getCollectionName(inputType), outputType, queryOperations.createAggregation(aggregation, inputType).getAggregationOperationContext()); } @@ -2286,8 +2288,8 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware, protected CloseableIterator aggregateStream(Aggregation aggregation, String collectionName, Class 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!"); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java index 53d630d41..eed68281f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java @@ -1018,7 +1018,6 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati public Flux aggregate(TypedAggregation aggregation, String inputCollectionName, Class outputType) { Assert.notNull(aggregation, "Aggregation pipeline must not be null!"); - return doAggregate(aggregation, inputCollectionName, aggregation.getInputType(), outputType); } @@ -1028,6 +1027,8 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati */ @Override public Flux aggregate(TypedAggregation aggregation, Class outputType) { + + Assert.notNull(aggregation, "Aggregation pipeline must not be null"); return aggregate(aggregation, getCollectionName(aggregation.getInputType()), outputType); }