Class 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 hava 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 Detail

      • OrcidPublicationDataProvider

        public OrcidPublicationDataProvider()
    • Method Detail

      • 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
      • setReadPublicAccessToken

        public void setReadPublicAccessToken​(String readPublicAccessToken)
      • setOrcidClient

        public void setOrcidClient​(OrcidClient orcidClient)