Add dataset filter like in getPaged on DataManagementPlanManager

This commit is contained in:
George Kalampokis 2020-07-22 15:40:07 +03:00
parent 8d7d9c5a8b
commit 14df3a4bbe
1 changed files with 8 additions and 0 deletions

View File

@ -209,6 +209,7 @@ public class DashBoardManager {
QueryableList<Dataset> datasetList;
if (principal.getId() != null) {
datasetCriteria.setIsPublic(false);
List<Integer> roles = new LinkedList<>();
dmpList = dataManagementPlanRepository.getAuthenticated(dataManagementPlanRepository.getWithCriteria(dataManagementPlanCriteria), principal.getId(), roles);
datasetList = datasetRepository.getAuthenticated(datasetRepository.getWithCriteria(datasetCriteria), user, roles);
@ -227,6 +228,13 @@ public class DashBoardManager {
.skip(tableRequest.getDmpOffset())
.take(tableRequest.getLength())
.select(item -> {
item.setDataset(
item.getDataset().stream()
.filter(dataset -> !dataset.getStatus().equals(Dataset.Status.DELETED.getValue()) && !dataset.getStatus().equals(Dataset.Status.CANCELED.getValue())).collect(Collectors.toList()).stream()
.filter(dataset -> dataset.getDmp().getUsers().stream()
.filter(x -> x.getUser().getId().equals(principal.getId()))
.collect(Collectors.toList()).size() > 0)
.collect(Collectors.toSet()));
return new RecentDmpModel().fromEntity(item);
}));