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.
    • initializeAccessToken

      public void initializeAccessToken()
      Initialize access token, logging an error and decrementing remaining retries if an IOException is thrown. If the optional access token result is empty, set to null instead.
    • 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)