diff --git a/src/main/java/org/genesys2/server/api/v1/AccessionController.java b/src/main/java/org/genesys2/server/api/v1/AccessionController.java index 1aae04dce9722869b5af949163b1ffeda9809fb7..92ba15f2efbf358a016fb0f5f92f7866f8abf69b 100644 --- a/src/main/java/org/genesys2/server/api/v1/AccessionController.java +++ b/src/main/java/org/genesys2/server/api/v1/AccessionController.java @@ -187,7 +187,7 @@ public class AccessionController { */ @PostMapping(value = "/overview", produces = { MediaType.APPLICATION_JSON_VALUE }) @JsonView({ JsonViews.Public.class }) - public Map overview(@RequestParam(name = "f", required = false) String filterCode, @RequestBody(required = false) AccessionFilter filter) + public AccessionOverview overview(@RequestParam(name = "f", required = false) String filterCode, @RequestBody(required = false) AccessionFilter filter) throws IOException, SearchException { if (filterCode != null) { @@ -196,7 +196,9 @@ public class AccessionController { filterCode = shortFilterService.getCode(filter); } - return elasticsearchService.termStatisticsAuto(Accession.class, filter, 10, terms.toArray(new String[] {})); + Map overview = elasticsearchService.termStatisticsAuto(Accession.class, filter, 10, terms.toArray(new String[] {})); + + return AccessionOverview.from(filterCode, filter, overview); } /** @@ -411,4 +413,19 @@ public class AccessionController { public String[] tileServers; } + private static class AccessionOverview { + public String filterCode; + public AccessionFilter filter; + public Map overview; + + private static AccessionOverview from(String filterCode, AccessionFilter filter, Map overview) { + AccessionOverview res = new AccessionOverview(); + res.filterCode = filterCode; + res.filter = filter; + res.overview = overview; + + return res; + } + } + }