|
11 | 11 | *******************************************************************************/
|
12 | 12 | package org.devgateway.ocds.web.rest.controller;
|
13 | 13 |
|
14 |
| -import com.mongodb.BasicDBObject; |
15 |
| -import com.mongodb.DBObject; |
16 |
| -import io.swagger.annotations.ApiOperation; |
| 14 | +import static org.springframework.data.mongodb.core.aggregation.Aggregation.group; |
| 15 | +import static org.springframework.data.mongodb.core.aggregation.Aggregation.limit; |
| 16 | +import static org.springframework.data.mongodb.core.aggregation.Aggregation.match; |
| 17 | +import static org.springframework.data.mongodb.core.aggregation.Aggregation.newAggregation; |
| 18 | +import static org.springframework.data.mongodb.core.aggregation.Aggregation.project; |
| 19 | +import static org.springframework.data.mongodb.core.aggregation.Aggregation.skip; |
| 20 | +import static org.springframework.data.mongodb.core.query.Criteria.where; |
| 21 | + |
| 22 | +import java.util.List; |
| 23 | + |
| 24 | +import javax.validation.Valid; |
| 25 | + |
17 | 26 | import org.devgateway.ocds.web.rest.controller.request.DefaultFilterPagingRequest;
|
18 | 27 | import org.devgateway.toolkit.persistence.mongo.aggregate.CustomProjectionOperation;
|
| 28 | +import org.devgateway.toolkit.persistence.mongo.aggregate.CustomSortingOperation; |
19 | 29 | import org.springframework.cache.annotation.CacheConfig;
|
20 | 30 | import org.springframework.cache.annotation.Cacheable;
|
21 |
| -import org.springframework.data.domain.Sort.Direction; |
22 | 31 | import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
23 | 32 | import org.springframework.data.mongodb.core.aggregation.AggregationResults;
|
24 | 33 | import org.springframework.data.mongodb.core.aggregation.Fields;
|
|
27 | 36 | import org.springframework.web.bind.annotation.RequestMethod;
|
28 | 37 | import org.springframework.web.bind.annotation.RestController;
|
29 | 38 |
|
30 |
| -import javax.validation.Valid; |
31 |
| -import java.util.List; |
| 39 | +import com.mongodb.BasicDBObject; |
| 40 | +import com.mongodb.DBObject; |
32 | 41 |
|
33 |
| -import static org.springframework.data.mongodb.core.aggregation.Aggregation.group; |
34 |
| -import static org.springframework.data.mongodb.core.aggregation.Aggregation.limit; |
35 |
| -import static org.springframework.data.mongodb.core.aggregation.Aggregation.match; |
36 |
| -import static org.springframework.data.mongodb.core.aggregation.Aggregation.newAggregation; |
37 |
| -import static org.springframework.data.mongodb.core.aggregation.Aggregation.project; |
38 |
| -import static org.springframework.data.mongodb.core.aggregation.Aggregation.skip; |
39 |
| -import static org.springframework.data.mongodb.core.aggregation.Aggregation.sort; |
40 |
| -import static org.springframework.data.mongodb.core.query.Criteria.where; |
| 42 | +import io.swagger.annotations.ApiOperation; |
41 | 43 |
|
42 | 44 | /**
|
43 | 45 | *
|
@@ -74,7 +76,7 @@ public List<DBObject> averageNumberOfTenderers(@ModelAttribute @Valid final Defa
|
74 | 76 | project(Fields.from(Fields.field("year", Fields.UNDERSCORE_ID_REF)))
|
75 | 77 | .andInclude(Keys.AVERAGE_NO_OF_TENDERERS)
|
76 | 78 | .andExclude(Fields.UNDERSCORE_ID),
|
77 |
| - sort(Direction.ASC, Keys.YEAR), |
| 79 | + new CustomSortingOperation(new BasicDBObject(Keys.YEAR, 1)), |
78 | 80 | skip(filter.getSkip()), limit(filter.getPageSize()));
|
79 | 81 |
|
80 | 82 | AggregationResults<DBObject> results = mongoTemplate.aggregate(agg, "release", DBObject.class);
|
|
0 commit comments