From 1c876cbccaaeaf41bd7092ed4378f4271647904a Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Fri, 31 Jul 2020 17:04:18 +0300 Subject: [PATCH] RecentActivity can now be sorted by finalizedAt and publishedAt --- .../java/eu/eudat/logic/managers/DashBoardManager.java | 10 +++++++++- .../src/app/core/common/enum/recent-activity-order.ts | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DashBoardManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DashBoardManager.java index 57a3b50dd..62b5fa194 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DashBoardManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DashBoardManager.java @@ -50,7 +50,8 @@ public class DashBoardManager { { "created", Comparator.comparing(o -> ((RecentActivityModel)o).getCreated()).reversed()}, { "label", Comparator.comparing(o -> ((RecentActivityModel)o).getTitle())}, { "status", Comparator.comparing(o -> ((RecentActivityModel)o).getStatus()).reversed()}, - { "finalized", Comparator.comparing(o -> ((RecentActivityModel)o).getFinalizedAt()).reversed()} + { "finalizedAt", Comparator.comparing(o -> ((RecentActivityModel)o).getFinalizedAt(), Comparator.nullsLast(Comparator.naturalOrder())).reversed()}, + { "publishedAt", Comparator.comparing(o -> ((RecentActivityModel)o).getPublishedAt(), Comparator.nullsLast(Comparator.naturalOrder())).reversed()} }).collect(Collectors.toMap(data -> (String) data[0], data -> (Comparator)data[1])); private ApiContext apiContext; @@ -265,6 +266,13 @@ public class DashBoardManager { } PaginationService.applyOrder(dmpList, tableRequest.getOrderings()); + for (int i = 0; i< tableRequest.getOrderings().getFields().length; i++) { + if (tableRequest.getOrderings().getFields()[i].contains("publishedAt")) { + String newField = tableRequest.getOrderings().getFields()[i].toCharArray()[0] + "dmp:publishedAt|join|"; + tableRequest.getOrderings().getFields()[i] = newField; + } + } + PaginationService.applyOrder(datasetList, tableRequest.getOrderings()); /*CompletableFuture future = CompletableFuture.runAsync(() -> */{ recentActivityModels.addAll(dmpList diff --git a/dmp-frontend/src/app/core/common/enum/recent-activity-order.ts b/dmp-frontend/src/app/core/common/enum/recent-activity-order.ts index 792ede63c..c8692b642 100644 --- a/dmp-frontend/src/app/core/common/enum/recent-activity-order.ts +++ b/dmp-frontend/src/app/core/common/enum/recent-activity-order.ts @@ -2,5 +2,7 @@ export enum RecentActivityOrder { LABEL = "label", CREATED = "created", MODIFIED = "modified", - STATUS = "status" + STATUS = "status", + FINALIZED = "finalizedAt", + PUBLISHED = "publishedAt" }