2323import org .slf4j .LoggerFactory ;
2424import org .springframework .dao .DataIntegrityViolationException ;
2525import org .springframework .data .domain .Page ;
26+ import org .springframework .data .domain .PageRequest ;
2627import org .springframework .data .domain .Pageable ;
2728import org .springframework .http .HttpHeaders ;
2829import org .springframework .http .HttpStatus ;
3940import java .time .ZoneOffset ;
4041import java .util .Collections ;
4142import java .util .List ;
43+ import java .util .Objects ;
4244import java .util .Optional ;
4345
4446/**
@@ -281,7 +283,8 @@ public ResponseEntity<Void> bulkDelete(@RequestParam List<Long> ids) {
281283
282284 @ PostMapping ("/utm-visualizations/run" )
283285 public ResponseEntity <List <?>> run (@ RequestBody UtmVisualization visualization ,
284- Pageable pageable ,
286+ @ RequestParam (value = "page" , required = false ) Integer page ,
287+ @ RequestParam (value = "size" , required = false ) Integer size ,
285288 @ RequestParam (defaultValue = "200" ) int top ) throws UtmChartBuilderException {
286289 final String ctx = CLASSNAME + ".run" ;
287290 try {
@@ -291,7 +294,12 @@ public ResponseEntity<List<?>> run(@RequestBody UtmVisualization visualization,
291294 return ResponseEntity .ok (Collections .emptyList ());
292295
293296 RequestDsl requestQuery = new RequestDsl (visualization );
294- SearchResponse <ObjectNode > result = elasticsearchService .search (requestQuery .getSearchSourceBuilder (pageable , 200 ).build (), ObjectNode .class );
297+ SearchResponse <ObjectNode > result ;
298+ if (Objects .nonNull (page ) && Objects .nonNull (size )){
299+ result = elasticsearchService .search (requestQuery .getSearchSourceBuilder ( PageRequest .of (page , size ), top ).build (), ObjectNode .class );
300+ } else {
301+ result = elasticsearchService .search (requestQuery .getSearchSourceBuilder ().build (), ObjectNode .class );
302+ }
295303 ResponseParser <?> responseParser = responseParserFactory .instance (visualization .getChartType ());
296304 return ResponseEntity .ok ().body (responseParser .parse (visualization , result ));
297305 } catch (Exception e ) {
0 commit comments