Class OrcidV3AuthorDataProvider

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

public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider
This class is the implementation of the ExternalDataProvider interface that will deal with the OrcidV3 External Data lookup
  • Field Details

  • Constructor Details

    • OrcidV3AuthorDataProvider

      public OrcidV3AuthorDataProvider()
  • 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
      Initialize the accessToken that is required for all subsequent calls to ORCID.
      Throws:
      IOException - passed through from HTTPclient.
    • 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
    • convertToExternalDataObject

      protected ExternalDataObject convertToExternalDataObject(org.orcid.jaxb.model.v3.release.record.Person person)
    • getBio

      public org.orcid.jaxb.model.v3.release.record.Person getBio(String id)
      Retrieve a Person object based on a given orcid identifier.
      Parameters:
      id - orcid identifier
      Returns:
      Person
    • searchExternalDataObjects

      public List<ExternalDataObject> searchExternalDataObjects(String query, 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:
      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 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 query)
      Description copied from interface: ExternalDataProvider
      Returns the total amount of results that this source can return for the given query
      Parameters:
      query - 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

      @Autowired(required=true) public void setSourceIdentifier(String sourceIdentifier)
      Generic setter for the sourceIdentifier
      Parameters:
      sourceIdentifier - The sourceIdentifier to be set on this OrcidV3AuthorDataProvider
    • getOrcidUrl

      public String getOrcidUrl()
      Generic getter for the orcidUrl
      Returns:
      the orcidUrl value of this OrcidV3AuthorDataProvider
    • setOrcidUrl

      @Autowired(required=true) public void setOrcidUrl(String orcidUrl)
      Generic setter for the orcidUrl
      Parameters:
      orcidUrl - The orcidUrl to be set on this OrcidV3AuthorDataProvider
    • setOAUTHUrl

      public void setOAUTHUrl(String OAUTHUrl)
      Generic setter for the OAUTHUrl
      Parameters:
      OAUTHUrl - The OAUTHUrl to be set on this OrcidV3AuthorDataProvider
    • setClientId

      public void setClientId(String clientId)
      Generic setter for the clientId
      Parameters:
      clientId - The clientId to be set on this OrcidV3AuthorDataProvider
    • setClientSecret

      public void setClientSecret(String clientSecret)
      Generic setter for the clientSecret
      Parameters:
      clientSecret - The clientSecret to be set on this OrcidV3AuthorDataProvider
    • getOrcidRestConnector

      public OrcidRestConnector getOrcidRestConnector()
    • setOrcidRestConnector

      public void setOrcidRestConnector(OrcidRestConnector orcidRestConnector)