Class SHERPAv2JournalDataProvider

java.lang.Object
org.dspace.external.provider.AbstractExternalDataProvider
org.dspace.external.provider.impl.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 Details

    • SHERPAv2JournalDataProvider

      public SHERPAv2JournalDataProvider()
  • Method Details

    • 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