Search in sources :

Example 6 with EntryPublication

use of org.nextprot.api.core.domain.publication.EntryPublication in project nextprot-api by calipho-sib.

the class StatisticsServiceImpl method getGlobalPublicationStatistics.

@Cacheable("global-publication-statistics")
@Override
public GlobalPublicationStatistics getGlobalPublicationStatistics() {
    GlobalPublicationStatistics globalPublicationStatistics = new GlobalPublicationStatistics();
    publicationService.findAllPublicationIds().forEach(pubId -> {
        List<EntryPublication> entryPublications = publicationService.getEntryPublications(pubId);
        GlobalPublicationStatistics.PublicationStatistics stats = new PublicationStatisticsAnalyser(pubId, entryPublications).analyse();
        globalPublicationStatistics.putPublicationStatisticsById(pubId, stats);
        if (stats.isCited()) {
            globalPublicationStatistics.incrementNumberOfCitedPublications();
        }
        if (stats.isComputed()) {
            globalPublicationStatistics.incrementNumberOfComputationallyMappedPublications();
        }
        if (stats.isLargeScale()) {
            globalPublicationStatistics.incrementNumberOfLargeScalePublications();
        }
        if (stats.isCurated()) {
            globalPublicationStatistics.incrementNumberOfCuratedPublications();
        }
        globalPublicationStatistics.incrementTotalNumberOfPublications();
    });
    return globalPublicationStatistics;
}
Also used : EntryPublication(org.nextprot.api.core.domain.publication.EntryPublication) GlobalPublicationStatistics(org.nextprot.api.core.domain.publication.GlobalPublicationStatistics) Cacheable(org.springframework.cache.annotation.Cacheable)

Aggregations

EntryPublication (org.nextprot.api.core.domain.publication.EntryPublication)6 Test (org.junit.Test)4 ArrayList (java.util.ArrayList)2 List (java.util.List)1 Map (java.util.Map)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1 Publication (org.nextprot.api.core.domain.Publication)1 EntryPublicationView (org.nextprot.api.core.domain.publication.EntryPublicationView)1 EntryPublications (org.nextprot.api.core.domain.publication.EntryPublications)1 GlobalPublicationStatistics (org.nextprot.api.core.domain.publication.GlobalPublicationStatistics)1 PublicationCategory (org.nextprot.api.core.domain.publication.PublicationCategory)1 PublicationDirectLink (org.nextprot.api.core.domain.publication.PublicationDirectLink)1 EntryPublicationService (org.nextprot.api.core.service.EntryPublicationService)1 EntryPublicationViewService (org.nextprot.api.core.service.EntryPublicationViewService)1 PublicationService (org.nextprot.api.core.service.PublicationService)1 Autowired (org.springframework.beans.factory.annotation.Autowired)1 Cacheable (org.springframework.cache.annotation.Cacheable)1 Service (org.springframework.stereotype.Service)1