From acf8b587286e093e6ba3a75c2bf566c68f6690e7 Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Fri, 3 Jul 2020 12:18:53 +0300 Subject: [PATCH] Fixed and improved the recent activity manager --- .../eudat/logic/managers/DashBoardManager.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 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 f45382bab..04bddbd5d 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 @@ -224,25 +224,33 @@ public class DashBoardManager { .withHint(HintedModelFactory.getHint(DataManagementPlanListingModel.class)) .orderBy((builder, root) -> builder.desc(root.get(tableRequest.getCriteria().getOrder()))) .skip(tableRequest.getOffset()) - .take(tableRequest.getSize()) + .take(tableRequest.getLength()) .selectAsync(item -> { return new RecentDmpModel().fromEntity(item); }) - .whenComplete((dmpActivities, throwable) -> recentActivityModels.addAll(dmpActivities)); + .whenComplete((dmpActivities, throwable) -> { + if (dmpActivities != null) { + recentActivityModels.addAll(dmpActivities); + } + }); CompletableFuture> datasets = datasetList .withHint(HintedModelFactory.getHint(DatasetListingModel.class)) .orderBy((builder, root) -> builder.desc(root.get(tableRequest.getCriteria().getOrder()))) .skip(tableRequest.getOffset()) - .take(tableRequest.getSize()) + .take(tableRequest.getLength()) .selectAsync(item -> { return new RecentDatasetModel().fromEntity(item); }) - .whenComplete((datasetActivities, throwable) -> recentActivityModels.addAll(datasetActivities)); + .whenComplete((datasetActivities, throwable) -> { + if (datasetActivities != null) { + recentActivityModels.addAll(datasetActivities); + } + }); CompletableFuture.allOf(dmps, datasets).join(); - return recentActivityModels.stream().sorted(this.comparators.get(tableRequest.getCriteria().getOrder())).collect(Collectors.toList()); + return recentActivityModels.stream().sorted(this.comparators.get(tableRequest.getCriteria().getOrder())).limit(tableRequest.getLength()).collect(Collectors.toList()); } public List searchUserData(String like, Principal principal) {