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 e87c74dc8..0d5b81e06 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 @@ -16,6 +16,8 @@ import eu.eudat.models.data.dashboard.searchbar.SearchBarItem; import eu.eudat.models.data.dashboard.statistics.DashBoardStatistics; import eu.eudat.models.data.security.Principal; import eu.eudat.types.searchbar.SearchBarItemType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -28,6 +30,7 @@ import java.util.stream.Collectors; @Component public class DashBoardManager { + private static final Logger logger = LoggerFactory.getLogger(DashBoardManager.class); private ApiContext apiContext; private DatabaseRepository databaseRepository; @@ -87,10 +90,15 @@ public class DashBoardManager { user.setId(principal.getId()); DatasetCriteria datasetCriteria = new DatasetCriteria(); if (apiContext.getOperationsContext().getDatasetRepository() != null) { - eu.eudat.elastic.criteria.DatasetCriteria datasetElasticCriteria = new eu.eudat.elastic.criteria.DatasetCriteria(); - datasetElasticCriteria.setAllowAllVersions(false); - datasetElasticCriteria.setPublic(false); - datasets = apiContext.getOperationsContext().getDatasetRepository().query(datasetElasticCriteria); + try { + eu.eudat.elastic.criteria.DatasetCriteria datasetElasticCriteria = new eu.eudat.elastic.criteria.DatasetCriteria(); + datasetElasticCriteria.setAllowAllVersions(false); + datasetElasticCriteria.setPublic(false); + datasets = apiContext.getOperationsContext().getDatasetRepository().query(datasetElasticCriteria); + }catch (Exception e) { + logger.warn(e.getMessage(), e); + datasets = null; + } } datasetCriteria.setAllVersions(false); datasetCriteria.setIsPublic(false); @@ -102,7 +110,7 @@ public class DashBoardManager { CompletableFuture dmpFuture = dataManagementPlanRepository.getAuthenticated(dataManagementPlanRepository.getWithCriteria(dataManagementPlanCriteria), principal.getId(), roles).countAsync() .whenComplete((dmpsStats, throwable) -> statistics.setTotalDataManagementPlanCount(dmpsStats)); List finalDatasets = datasets; - CompletableFuture datasetFuture = datasetRepository.getAuthenticated(datasets !=null ? datasetRepository.asQueryable().where((builder, root) -> root.get("id").in(finalDatasets.stream().map(x -> UUID.fromString(x.getId())).collect(Collectors.toList()))) : datasetRepository.getWithCriteria(datasetCriteria), user, roles).countAsync() + CompletableFuture datasetFuture = datasetRepository.getAuthenticated(datasets != null ? datasetRepository.asQueryable().where((builder, root) -> root.get("id").in(finalDatasets.stream().map(x -> UUID.fromString(x.getId())).collect(Collectors.toList()))) : datasetRepository.getWithCriteria(datasetCriteria), user, roles).countAsync() .whenComplete((datasetsStats, throwable) -> statistics.setTotalDataSetCount(datasetsStats)); CompletableFuture grantFuture = grantRepository.getAuthenticated(grantRepository.getWithCriteria(grantCriteria), user).countAsync() .whenComplete((grantsStats, throwable) -> statistics.setTotalGrantCount(grantsStats));