Class BasicLinkChecker

java.lang.Object
org.dspace.curate.AbstractCurationTask
org.dspace.ctask.general.BasicLinkChecker
All Implemented Interfaces:
CurationTask
Direct Known Subclasses:
MetadataValueLinkChecker

public class BasicLinkChecker extends AbstractCurationTask
A basic link checker that is designed to be extended. By default this link checker will check that all links stored in anyschema.anyelement.uri metadata fields return a 20x status code. This link checker can be enhanced by extending this class, and overriding the getURLs and checkURL methods.
Author:
Stuart Lewis
  • Field Details

  • Constructor Details

    • BasicLinkChecker

      public BasicLinkChecker()
  • Method Details

    • perform

      public int perform(DSpaceObject dso) throws IOException
      Perform the link checking.
      Specified by:
      perform in interface CurationTask
      Specified by:
      perform in class AbstractCurationTask
      Parameters:
      dso - The DSpaaceObject to be checked
      Returns:
      The curation task status of the checking
      Throws:
      IOException - THrown if something went wrong
    • getURLs

      protected List<String> getURLs(Item item)
      Get the URLs to check
      Parameters:
      item - The item to extract URLs from
      Returns:
      An array of URL Strings
    • checkURL

      protected boolean checkURL(String url, StringBuilder results)
      Check the URL and perform appropriate reporting
      Parameters:
      url - The URL to check
      results - Result string with HTTP status codes
      Returns:
      If the URL was OK or not
    • getResponseStatus

      protected int getResponseStatus(String url, int redirects)
      Get the response code for a URL. If something goes wrong opening the URL, a response code of 0 is returned.
      Parameters:
      url - The url to open
      Returns:
      The HTTP response code (e.g. 200 / 301 / 404 / 500)
    • getItemHandle

      protected String getItemHandle(Item item)
      Internal utility method to get a description of the handle
      Parameters:
      item - The item to get a description of
      Returns:
      The handle, or in workflow