From d9f18188c3ef264f14c0a83c32f5fea9e3493894 Mon Sep 17 00:00:00 2001 From: Lars Johansson <lars.johansson@ess.eu> Date: Wed, 23 Nov 2022 10:18:47 +0100 Subject: [PATCH] Fix sorting for history endpoints Set sorting to default to timestamp and ascending. --- .../java/org/openepics/names/rest/api/v1/INames.java | 10 ++++++---- .../org/openepics/names/rest/api/v1/IStructures.java | 10 ++++++---- .../org/openepics/names/service/NamesService.java | 12 +----------- .../openepics/names/service/StructuresService.java | 9 --------- 4 files changed, 13 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/openepics/names/rest/api/v1/INames.java b/src/main/java/org/openepics/names/rest/api/v1/INames.java index 99f43f27..735694b9 100644 --- a/src/main/java/org/openepics/names/rest/api/v1/INames.java +++ b/src/main/java/org/openepics/names/rest/api/v1/INames.java @@ -119,8 +119,10 @@ public interface INames { /upload and /download endpoints handle Excel files */ - public static final String DEFAULT_PAGE = "0"; - public static final String DEFAULT_PAGE_SIZE = "100"; + public static final String DEFAULT_PAGE = "0"; + public static final String DEFAULT_PAGE_SIZE = "100"; + public static final String DEFAULT_SORT_FIELD_WHEN = "WHEN"; + public static final String DEFAULT_SORT_ORDER_ASC = "true"; /** * Create names by list of name element commands. @@ -600,8 +602,8 @@ public interface INames { produces = {"application/json"}) public ResponsePageNameElements readNamesHistory( @Parameter(in = ParameterIn.PATH, description = "search by uuid") @PathVariable("uuid") String uuid, - @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false) FieldName orderBy, - @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false) Boolean isAsc, + @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false, defaultValue = DEFAULT_SORT_FIELD_WHEN) FieldName orderBy, + @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false, defaultValue = DEFAULT_SORT_ORDER_ASC) Boolean isAsc, @Parameter(in = ParameterIn.QUERY, description = "page starting from 0, offset") @RequestParam(required = false, defaultValue = DEFAULT_PAGE) Integer page, @Parameter(in = ParameterIn.QUERY, description = "page size, limit") @RequestParam(required = false, defaultValue = DEFAULT_PAGE_SIZE) Integer pageSize); diff --git a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java index 62914b8e..3971f3ac 100644 --- a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java +++ b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java @@ -134,8 +134,10 @@ public interface IStructures { /upload and /download endpoints handle Excel files */ - public static final String DEFAULT_PAGE = "0"; - public static final String DEFAULT_PAGE_SIZE = "100"; + public static final String DEFAULT_PAGE = "0"; + public static final String DEFAULT_PAGE_SIZE = "100"; + public static final String DEFAULT_SORT_FIELD_WHEN = "WHEN"; + public static final String DEFAULT_SORT_ORDER_ASC = "true"; /** * Create (propose) structures by list of structure element commands. @@ -653,8 +655,8 @@ public interface IStructures { public ResponsePageStructureElements readStructuresHistory( @Parameter(in = ParameterIn.PATH, description = "search by uuid") @PathVariable("uuid") String uuid, @Parameter(in = ParameterIn.QUERY, description = "search by type of structure") @RequestParam(required = false) Type type, - @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false) FieldStructure orderBy, - @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false) Boolean isAsc, + @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false, defaultValue = DEFAULT_SORT_FIELD_WHEN) FieldStructure orderBy, + @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false, defaultValue = DEFAULT_SORT_ORDER_ASC) Boolean isAsc, @Parameter(in = ParameterIn.QUERY, description = "page starting from 0, offset") @RequestParam(required = false, defaultValue = DEFAULT_PAGE) Integer page, @Parameter(in = ParameterIn.QUERY, description = "page size, limit") @RequestParam(required = false, defaultValue = DEFAULT_PAGE_SIZE) Integer pageSize); diff --git a/src/main/java/org/openepics/names/service/NamesService.java b/src/main/java/org/openepics/names/service/NamesService.java index 122be991..ce7e4eab 100644 --- a/src/main/java/org/openepics/names/service/NamesService.java +++ b/src/main/java/org/openepics/names/service/NamesService.java @@ -18,8 +18,6 @@ package org.openepics.names.service; -import java.util.Collections; -import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.UUID; @@ -355,17 +353,9 @@ public class NamesService { ValidateUtil.validateInputUuid(uuid); // do - ResponsePageNameElements response = readNames(null, + return readNames(null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit); - Collections.sort(response.getList(), new Comparator<NameElement>() { - @Override - public int compare(NameElement e1, NameElement e2) { - return e1.getWhen().compareTo(e2.getWhen()); - } - }); - - return response; } // ---------------------------------------------------------------------------------------------------- diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java index 6c18ecb2..67d6670d 100644 --- a/src/main/java/org/openepics/names/service/StructuresService.java +++ b/src/main/java/org/openepics/names/service/StructuresService.java @@ -18,8 +18,6 @@ package org.openepics.names.service; -import java.util.Collections; -import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.UUID; @@ -618,13 +616,6 @@ public class StructuresService { } - Collections.sort(response.getList(), new Comparator<StructureElement>() { - @Override - public int compare(StructureElement e1, StructureElement e2) { - return e1.getWhen().compareTo(e2.getWhen()); - } - }); - return response; } -- GitLab