Class OrcidPublicationDataProvider

java.lang.Object
org.dspace.external.provider.AbstractExternalDataProvider
org.dspace.external.provider.impl.OrcidPublicationDataProvider
All Implemented Interfaces:
ExternalDataProvider

public class OrcidPublicationDataProvider extends AbstractExternalDataProvider
Implementation of ExternalDataProvider that search for all the works of the profile with the given orcid id that have a source other than DSpace. The id of the external data objects returned by the methods of this class is the concatenation of the orcid id and the put code associated with the publication, separated by :: (example 0000-0000-0123-4567::123456)
Author:
Luca Giamminonni (luca.giamminonni at 4science.it)
  • Constructor Details

    • OrcidPublicationDataProvider

      public OrcidPublicationDataProvider()
  • Method Details

    • getExternalDataObject

      public Optional<ExternalDataObject> getExternalDataObject(String id)
      Description copied from interface: ExternalDataProvider
      This method will take a String id as a parameter and it'll call the ExternalDataProvider's endpoint or data source to retrieve and build the ExternalDataObject
      Parameters:
      id - The id on which will be searched
      Returns:
      An Optional object of ExternalDataObject. This is to indicate that this object may be null. This ExternalDataObject will return all the data returned by the ExternalDataProvider
    • searchExternalDataObjects

      public List<ExternalDataObject> searchExternalDataObjects(String orcid, int start, int limit)
      Description copied from interface: ExternalDataProvider
      This method will query the ExternalDataProvider's endpoint or data source to retrieve and build a list of ExternalDataObjects through a search with the given parameters
      Parameters:
      orcid - 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 ExternalDataObjects that were retrieved and built by this search
    • 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 orcid)
      Description copied from interface: ExternalDataProvider
      Returns the total amount of results that this source can return for the given query
      Parameters:
      orcid - The query to be search on and give the total amount of results
      Returns:
      The total amount of results that the source can return for the given query
    • setSourceIdentifier

      public void setSourceIdentifier(String sourceIdentifier)
    • 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
    • setFieldMapping

      public void setFieldMapping(OrcidWorkFieldMapping fieldMapping)
    • setReadPublicAccessToken

      public void setReadPublicAccessToken(String readPublicAccessToken)
    • getOrcidClient

      public OrcidClient getOrcidClient()
    • setOrcidClient

      public void setOrcidClient(OrcidClient orcidClient)