1515 */
1616package org .springframework .data .mongodb .core ;
1717
18- import java .util .Arrays ;
19- import java .util .Collections ;
2018import java .util .List ;
2119import java .util .Optional ;
2220import java .util .stream .Collectors ;
2321
2422import org .bson .Document ;
2523import org .springframework .data .mapping .context .MappingContext ;
2624import org .springframework .data .mongodb .core .aggregation .Aggregation ;
27- import org .springframework .data .mongodb .core .aggregation .AggregationOperation ;
2825import org .springframework .data .mongodb .core .aggregation .AggregationOperationContext ;
29- import org .springframework .data .mongodb .core .aggregation .AggregationOptions ;
3026import org .springframework .data .mongodb .core .aggregation .AggregationOptions .DomainTypeMapping ;
31- import org .springframework .data .mongodb .core .aggregation .CountOperation ;
3227import org .springframework .data .mongodb .core .aggregation .RelaxedTypeBasedAggregationOperationContext ;
3328import org .springframework .data .mongodb .core .aggregation .TypeBasedAggregationOperationContext ;
3429import org .springframework .data .mongodb .core .aggregation .TypedAggregation ;
3530import org .springframework .data .mongodb .core .convert .QueryMapper ;
3631import org .springframework .data .mongodb .core .mapping .MongoPersistentEntity ;
3732import org .springframework .data .mongodb .core .mapping .MongoPersistentProperty ;
38- import org .springframework .data .mongodb .core .query .CriteriaDefinition ;
39- import org .springframework .data .mongodb .core .query .Query ;
4033import org .springframework .data .util .Lazy ;
4134import org .springframework .lang .Nullable ;
42- import org .springframework .util .Assert ;
43- import org .springframework .util .ObjectUtils ;
4435
4536/**
4637 * Utility methods to map {@link org.springframework.data.mongodb.core.aggregation.Aggregation} pipeline definitions and
@@ -75,21 +66,19 @@ AggregationOperationContext createAggregationContext(Aggregation aggregation, @N
7566
7667 if (!(aggregation instanceof TypedAggregation )) {
7768
78- if (inputType == null ) {
69+ if (inputType == null ) {
7970 return untypedMappingContext .get ();
8071 }
8172
82- if (domainTypeMapping == DomainTypeMapping .STRICT
83- && !aggregation .getPipeline ().containsUnionWith ()) {
73+ if (domainTypeMapping == DomainTypeMapping .STRICT && !aggregation .getPipeline ().containsUnionWith ()) {
8474 return new TypeBasedAggregationOperationContext (inputType , mappingContext , queryMapper );
8575 }
8676
8777 return new RelaxedTypeBasedAggregationOperationContext (inputType , mappingContext , queryMapper );
8878 }
8979
9080 inputType = ((TypedAggregation <?>) aggregation ).getInputType ();
91- if (domainTypeMapping == DomainTypeMapping .STRICT
92- && !aggregation .getPipeline ().containsUnionWith ()) {
81+ if (domainTypeMapping == DomainTypeMapping .STRICT && !aggregation .getPipeline ().containsUnionWith ()) {
9382 return new TypeBasedAggregationOperationContext (inputType , mappingContext , queryMapper );
9483 }
9584
@@ -104,12 +93,7 @@ AggregationOperationContext createAggregationContext(Aggregation aggregation, @N
10493 * @return
10594 */
10695 List <Document > createPipeline (Aggregation aggregation , AggregationOperationContext context ) {
107-
108- if (ObjectUtils .nullSafeEquals (context , Aggregation .DEFAULT_CONTEXT )) {
109- return aggregation .toPipeline (context );
110- }
111-
112- return mapAggregationPipeline (aggregation .toPipeline (context ));
96+ return aggregation .toPipeline (context );
11397 }
11498
11599 /**
@@ -120,16 +104,7 @@ List<Document> createPipeline(Aggregation aggregation, AggregationOperationConte
120104 * @return
121105 */
122106 Document createCommand (String collection , Aggregation aggregation , AggregationOperationContext context ) {
123-
124- Document command = aggregation .toDocument (collection , context );
125-
126- if (!ObjectUtils .nullSafeEquals (context , Aggregation .DEFAULT_CONTEXT )) {
127- return command ;
128- }
129-
130- command .put ("pipeline" , mapAggregationPipeline (command .get ("pipeline" , List .class )));
131-
132- return command ;
107+ return aggregation .toDocument (collection , context );
133108 }
134109
135110 private List <Document > mapAggregationPipeline (List <Document > pipeline ) {
0 commit comments