Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • aou/aou-backend
1 result
Select Git revision
Show changes
Commits on Source (3)
......@@ -23,7 +23,6 @@
package ch.unige.aou.controller;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
......@@ -32,7 +31,6 @@ import org.springframework.web.bind.annotation.RestController;
import ch.unige.solidify.config.SolidifyProperties;
import ch.unige.solidify.controller.SolidifySitemapController;
import ch.unige.solidify.service.sitemap.SolidifySitemapService;
import ch.unige.aou.config.AouProperties;
import ch.unige.aou.service.sitemap.ContributorSitemapService;
......@@ -41,21 +39,14 @@ import ch.unige.aou.service.sitemap.PublicationSitemapService;
@RestController
@ConditionalOnBean(AccessController.class)
public class SitemapController extends SolidifySitemapController {
private final List<SolidifySitemapService> sitemapServicesList = new ArrayList<>();
public SitemapController(SolidifyProperties config,
AouProperties aouProperties,
PublicationSitemapService publicationSitemapService,
ContributorSitemapService contributorSitemapService
) {
ContributorSitemapService contributorSitemapService) {
super(config, aouProperties.getParameters().getHomepage());
this.sitemapServicesList.add(publicationSitemapService);
this.sitemapServicesList.add(contributorSitemapService);
}
@Override
protected List<SolidifySitemapService> getSitemapServiceList() {
return this.sitemapServicesList;
this.getSitemapServiceList().add(publicationSitemapService);
this.getSitemapServiceList().add(contributorSitemapService);
}
@Override
......
......@@ -23,9 +23,7 @@
package ch.unige.aou.service.sitemap;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
......@@ -33,13 +31,10 @@ import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import ch.unige.solidify.config.SolidifyProperties;
import ch.unige.solidify.rest.FieldsRequest;
import ch.unige.solidify.rest.RestCollection;
import ch.unige.solidify.rest.SearchCondition;
import ch.unige.solidify.service.sitemap.SolidifySitemapService;
import ch.unige.aou.AouConstants;
import ch.unige.aou.config.AouProperties;
import ch.unige.aou.model.publication.Contributor;
import ch.unige.aou.rest.ResourceName;
import ch.unige.aou.service.rest.trusted.TrustedContributorRemoteResourceService;
......@@ -47,18 +42,12 @@ import ch.unige.aou.service.rest.trusted.TrustedContributorRemoteResourceService
@Service
public class ContributorSitemapService extends SolidifySitemapService {
private final String contributorPrefix;
private final String contributorSuffix;
private final TrustedContributorRemoteResourceService remoteContributorService;
public ContributorSitemapService(
SolidifyProperties config,
AouProperties aouProperties,
TrustedContributorRemoteResourceService remoteContributorService) {
super(config);
this.contributorPrefix = aouProperties.getParameters().getPortalRouteContributorPrefix();
this.contributorSuffix = aouProperties.getParameters().getPortalRouteContributorSuffix();
super(config, "contributor/", "");
this.remoteContributorService = remoteContributorService;
}
......@@ -69,27 +58,21 @@ public class ContributorSitemapService extends SolidifySitemapService {
@Override
public long getItemsTotal() {
Pageable pageable = PageRequest.of(0, 1);
RestCollection<Contributor> result = this.getContributors(pageable);
RestCollection<Contributor> result = this.getContributors(PageRequest.of(0, 1));
return result.getPage().getTotalItems();
}
@Override
public List<String> getItemsFrom(int from) {
int page = 0;
if (from > 0) {
page = from / this.getPageSize();
}
int page = from / this.getPageSize();
Pageable pageable = PageRequest.of(page, this.getPageSize(), Sort.by(AouConstants.DB_CN_INDIVIDU));
RestCollection<Contributor> result = this.getContributors(pageable);
return result.getData().stream().map(p -> "/" + this.contributorPrefix + p.getCnIndividu() + this.contributorSuffix)
.collect(Collectors.toList());
return result.getData().stream()
.filter(p -> p.getCnIndividu() != null)
.map(p -> this.getItemPartialUrl(p.getCnIndividu())).toList();
}
private RestCollection<Contributor> getContributors(Pageable pageable) {
List<SearchCondition> searchConditionList = new ArrayList<>();
FieldsRequest fieldsRequest = new FieldsRequest();
fieldsRequest.getIncludes().add(AouConstants.INDEX_FIELD_ARCHIVE_ID);
return this.remoteContributorService.findAll(pageable);
}
......
......@@ -25,7 +25,6 @@ package ch.unige.aou.service.sitemap;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
......@@ -54,7 +53,7 @@ public class PublicationSitemapService extends SolidifySitemapService {
SolidifyProperties config,
AouProperties aouProperties,
IndexResourceService<String, PublicationIndexEntry> indexResourceService) {
super(config);
super(config, "", "");
this.indexName = aouProperties.getIndexing().getPublishedPublicationsIndexName();
this.indexResourceService = indexResourceService;
}
......@@ -66,20 +65,16 @@ public class PublicationSitemapService extends SolidifySitemapService {
@Override
public long getItemsTotal() {
Pageable pageable = PageRequest.of(0, 1);
FacetPage<PublicationIndexEntry> result = this.getPublications(pageable);
FacetPage<PublicationIndexEntry> result = this.getPublications(PageRequest.of(0, 1));
return result.getTotalElements();
}
@Override
public List<String> getItemsFrom(int from) {
int page = 0;
if (from > 0) {
page = from / this.getPageSize();
}
int page = from / this.getPageSize();
Pageable pageable = PageRequest.of(page, this.getPageSize(), Sort.by(AouConstants.INDEX_FIELD_ARCHIVE_ID_INT));
FacetPage<PublicationIndexEntry> result = this.getPublications(pageable);
return result.stream().map(p -> "/" + p.getArchiveId()).collect(Collectors.toList());
return result.stream().map(p -> this.getItemPartialUrl(p.getArchiveId())).toList();
}
private FacetPage<PublicationIndexEntry> getPublications(Pageable pageable) {
......
......@@ -211,8 +211,6 @@ public class AouProperties {
private String emailsPrefix;
private String emailTemplatePath;
private String homepage = "https://archive-ouverte.unige.ch";
private String portalRouteContributorPrefix = "contributor/";
private String portalRouteContributorSuffix = "";
private String publicationUrlTemplate = "https://archive-ouverte.unige.ch/{archiveId}";
......@@ -400,22 +398,6 @@ public class AouProperties {
this.homepage = homepage;
}
public String getPortalRouteContributorPrefix() {
return this.portalRouteContributorPrefix;
}
public void setPortalRouteContributorPrefix(String portalRouteContributorPrefix) {
this.portalRouteContributorPrefix = portalRouteContributorPrefix;
}
public String getPortalRouteContributorSuffix() {
return this.portalRouteContributorSuffix;
}
public void setPortalRouteContributorSuffix(String portalRouteContributorSuffix) {
this.portalRouteContributorSuffix = portalRouteContributorSuffix;
}
public String getPublicationUrlTemplate() {
return this.publicationUrlTemplate;
}
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>ch.unige.solidify</groupId>
<artifactId>solidify-parent</artifactId>
<version>3.0.2-SNAPSHOT</version>
<version>3.1.0-SNAPSHOT</version>
<relativePath/>
</parent>
......