From c836de5761d2081866db23cc5c7167842da151a9 Mon Sep 17 00:00:00 2001 From: LSmyrnaios Date: Fri, 22 Mar 2024 11:51:22 +0200 Subject: [PATCH] Use the new DSM-2.0 API to obtain the "aggregation history" of a repository. --- pom.xml | 2 +- .../controllers/DashboardController.java | 6 +++- .../controllers/RepositoryController.java | 1 + .../domain/AggregationHistoryResponse.java | 29 ------------------- .../repo/manager/domain/AggregationInfo.java | 9 ------ .../domain/CollectionMonitorSummary.java | 2 ++ .../manager/service/AggregationService.java | 2 +- .../service/AggregationServiceImpl.java | 8 ++--- .../manager/service/DashboardServiceImpl.java | 4 +-- 9 files changed, 16 insertions(+), 47 deletions(-) delete mode 100644 src/main/java/eu/dnetlib/repo/manager/domain/AggregationHistoryResponse.java delete mode 100644 src/main/java/eu/dnetlib/repo/manager/domain/AggregationInfo.java diff --git a/pom.xml b/pom.xml index 42f43c1..afce7f3 100644 --- a/pom.xml +++ b/pom.xml @@ -96,7 +96,7 @@ eu.dnetlib.dhp dnet-exporter-model - [3.5.0, ) + [3.5.1, ) org.springdoc diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/DashboardController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/DashboardController.java index 115f449..b0a9960 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/DashboardController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/DashboardController.java @@ -1,6 +1,10 @@ package eu.dnetlib.repo.manager.controllers; -import eu.dnetlib.repo.manager.domain.*; +import eu.dnetlib.openaire.exporter.model.dsm.AggregationInfo; +import eu.dnetlib.repo.manager.domain.BrokerSummary; +import eu.dnetlib.repo.manager.domain.CollectionMonitorSummary; +import eu.dnetlib.repo.manager.domain.RepositorySummaryInfo; +import eu.dnetlib.repo.manager.domain.UsageSummary; import eu.dnetlib.repo.manager.exception.BrokerException; import eu.dnetlib.repo.manager.exception.RepositoryServiceException; import eu.dnetlib.repo.manager.service.*; diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java index 441f16e..b5c3013 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java @@ -1,6 +1,7 @@ package eu.dnetlib.repo.manager.controllers; import eu.dnetlib.domain.data.PiwikInfo; +import eu.dnetlib.openaire.exporter.model.dsm.AggregationInfo; import eu.dnetlib.repo.manager.domain.*; import eu.dnetlib.repo.manager.domain.dto.RepositoryTerms; import eu.dnetlib.repo.manager.domain.dto.User; diff --git a/src/main/java/eu/dnetlib/repo/manager/domain/AggregationHistoryResponse.java b/src/main/java/eu/dnetlib/repo/manager/domain/AggregationHistoryResponse.java deleted file mode 100644 index 65e932d..0000000 --- a/src/main/java/eu/dnetlib/repo/manager/domain/AggregationHistoryResponse.java +++ /dev/null @@ -1,29 +0,0 @@ -package eu.dnetlib.repo.manager.domain; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; - -import java.util.List; - -@JsonAutoDetect -public class AggregationHistoryResponse extends Response { - - private List aggregationInfo; - - public AggregationHistoryResponse() { - // no-arg constructor - } - - public AggregationHistoryResponse(final List aggregationInfo) { - super(); - this.aggregationInfo = aggregationInfo; - } - - public List getAggregationInfo() { - return aggregationInfo; - } - - public void setAggregationInfo(final List aggregationInfo) { - this.aggregationInfo = aggregationInfo; - } -} - diff --git a/src/main/java/eu/dnetlib/repo/manager/domain/AggregationInfo.java b/src/main/java/eu/dnetlib/repo/manager/domain/AggregationInfo.java deleted file mode 100644 index bcadee5..0000000 --- a/src/main/java/eu/dnetlib/repo/manager/domain/AggregationInfo.java +++ /dev/null @@ -1,9 +0,0 @@ -package eu.dnetlib.repo.manager.domain; - -import eu.dnetlib.openaire.exporter.model.dsm.CollectionInfoV2; - -public class AggregationInfo extends CollectionInfoV2 { - - public AggregationInfo() { - } -} diff --git a/src/main/java/eu/dnetlib/repo/manager/domain/CollectionMonitorSummary.java b/src/main/java/eu/dnetlib/repo/manager/domain/CollectionMonitorSummary.java index c272118..704e1d3 100644 --- a/src/main/java/eu/dnetlib/repo/manager/domain/CollectionMonitorSummary.java +++ b/src/main/java/eu/dnetlib/repo/manager/domain/CollectionMonitorSummary.java @@ -1,5 +1,7 @@ package eu.dnetlib.repo.manager.domain; +import eu.dnetlib.openaire.exporter.model.dsm.AggregationInfo; + import java.util.List; public class CollectionMonitorSummary { diff --git a/src/main/java/eu/dnetlib/repo/manager/service/AggregationService.java b/src/main/java/eu/dnetlib/repo/manager/service/AggregationService.java index eff9b26..6d62a41 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/AggregationService.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/AggregationService.java @@ -1,6 +1,6 @@ package eu.dnetlib.repo.manager.service; -import eu.dnetlib.repo.manager.domain.AggregationInfo; +import eu.dnetlib.openaire.exporter.model.dsm.AggregationInfo; import org.json.JSONException; import java.util.List; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/AggregationServiceImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/AggregationServiceImpl.java index 611e28f..7fc5e3a 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/AggregationServiceImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/AggregationServiceImpl.java @@ -1,7 +1,7 @@ package eu.dnetlib.repo.manager.service; -import eu.dnetlib.repo.manager.domain.AggregationHistoryResponse; -import eu.dnetlib.repo.manager.domain.AggregationInfo; +import eu.dnetlib.openaire.exporter.model.dsm.AggregationHistoryResponseV2; +import eu.dnetlib.openaire.exporter.model.dsm.AggregationInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -41,7 +41,7 @@ public class AggregationServiceImpl implements AggregationService { logger.debug("Retrieving aggregations for repository with id : " + id); UriComponents uriComponents = getAggregationHistory(id); - AggregationHistoryResponse rs = restTemplate.getForObject(uriComponents.toUri(), AggregationHistoryResponse.class); + AggregationHistoryResponseV2 rs = restTemplate.getForObject(uriComponents.toUri(), AggregationHistoryResponseV2.class); return rs != null ? (List) rs.getAggregationInfo() : null; } @@ -73,7 +73,7 @@ public class AggregationServiceImpl implements AggregationService { private UriComponents getAggregationHistory(String repoId) { return UriComponentsBuilder - .fromHttpUrl(baseAddress + "/ds/aggregationhistory/") + .fromHttpUrl(baseAddress + "/dsm/2.0/aggregationhistory/") .path(repoId) .build().expand(repoId).encode(); } diff --git a/src/main/java/eu/dnetlib/repo/manager/service/DashboardServiceImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/DashboardServiceImpl.java index 49098c0..7fa8718 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/DashboardServiceImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/DashboardServiceImpl.java @@ -1,6 +1,6 @@ package eu.dnetlib.repo.manager.service; -import eu.dnetlib.repo.manager.domain.AggregationInfo; +import eu.dnetlib.openaire.exporter.model.dsm.AggregationInfo; import eu.dnetlib.repo.manager.domain.MetricsNumbers; import eu.dnetlib.repo.manager.domain.RepositorySnippet; import eu.dnetlib.repo.manager.domain.RepositorySummaryInfo; @@ -49,7 +49,7 @@ public class DashboardServiceImpl implements DashboardService { repositorySummaryInfo.setRepositoryName(repoOfficialName); repositorySummaryInfo.setLogoURL(repository.getLogoUrl()); - //TODO getRepositoryAggregations returns only the 20 more recent items. Is it positive that we will find an indexed version there? + //TODO getRepositoryAggregations returns only the 20 more recent items. Is it possible that we will find an indexed version there? boolean isIndexedVersionFound = false; long start = System.currentTimeMillis(); List aggregationInfoList = aggregationService.getRepositoryAggregations(repoId, 0, 20);