Class SHERPAv2JournalDataProvider

  • All Implemented Interfaces:
    ExternalDataProvider

    public class SHERPAv2JournalDataProvider
    extends AbstractExternalDataProvider
    This class is the implementation of the ExternalDataProvider interface that will deal with SherpaJournal External data lookups. This provider is a refactored version of SherpaJournalDataPublisher, rewritten to work with SHERPA v2 API
    Author:
    Kim Shepherd
    • Constructor Detail

      • SHERPAv2JournalDataProvider

        public SHERPAv2JournalDataProvider()
    • Method Detail

      • getSourceIdentifier

        public String getSourceIdentifier()
        Description copied from interface: ExternalDataProvider
        This method will return the SourceIdentifier for the ExternalDataProvider that implements the interface
        Returns:
        The source identifier as a String
      • init

        public void init()
                  throws IOException
        Initialise the client that we need to call the endpoint
        Throws:
        IOException - If something goes wrong
      • getExternalDataObject

        public Optional<ExternalDataObject> getExternalDataObject​(String id)
        Get a single journal based on a "title equals string" query
        Parameters:
        id - The journal title which will be used as query string
        Returns:
        external data object representing journal
      • searchExternalDataObjects

        public List<ExternalDataObject> searchExternalDataObjects​(String query,
                                                                  int start,
                                                                  int limit)
        Search SHERPA v2 API for journal results based on a 'contains word' query
        Parameters:
        query - The query for the search
        start - The start of the search
        limit - The max amount of records to be returned by the search
        Returns:
        a list of external data objects
      • supports

        public boolean supports​(String source)
        Description copied from interface: ExternalDataProvider
        This method will return a boolean indicating whether this ExternalDataProvider can deal with the given source or not
        Parameters:
        source - The source on which the check needs to be done
        Returns:
        A boolean indicating whether this ExternalDataProvider can deal with this source or not
      • getNumberOfResults

        public int getNumberOfResults​(String query)
        Get number of results returned from a SHERPA v2 publication search
        Parameters:
        query - The query to be search on and give the total amount of results
        Returns:
        int representing number of journal results
      • setSourceIdentifier

        public void setSourceIdentifier​(String sourceIdentifier)
        Generic setter for the sourceIdentifier
        Parameters:
        sourceIdentifier - The sourceIdentifier to be set on this SHERPAv2JournalDataProvider
      • setSherpaService

        public void setSherpaService​(SHERPAService sherpaService)
        Generic setter for the SHERPA service
        Parameters:
        sherpaService - The sherpaService to be set on this SHERPAv2JournalDataProvider