Class RegisterDOI

  • All Implemented Interfaces:
    CurationTask

    public class RegisterDOI
    extends AbstractCurationTask
    This curation task will register a DOI for an item, optionally ignoring any logical filtering applied to normal identifier registration and DOI service operation.
    Author:
    Kim Shepherd
    • Constructor Detail

      • RegisterDOI

        public RegisterDOI()
    • Method Detail

      • init

        public void init​(Curator curator,
                         String taskId)
                  throws IOException
        Initialise the curation task and read configuration, instantiate the DOI provider
        Specified by:
        init in interface CurationTask
        Overrides:
        init in class AbstractCurationTask
        Parameters:
        curator - the Curator controlling this task
        taskId - identifier task should use in invoking services
        Throws:
        IOException - if error
      • perform

        public int perform​(DSpaceObject dso)
                    throws IOException
        Override the abstract 'perform' method to either distribute, or perform single-item depending on configuration. By default, the task is *not* distributed, since that could be unsafe and the original purpose of this task is to essentially implement a "Register DOI" button on the Edit Item page.
        Specified by:
        perform in interface CurationTask
        Specified by:
        perform in class AbstractCurationTask
        Parameters:
        dso - DSpaceObject for which to register a DOI (must be item)
        Returns:
        status indicator
        Throws:
        IOException
      • performItem

        protected void performItem​(Item item)
        This is called when the task is distributed (ie. called on a set of items or over a whole structure)
        Overrides:
        performItem in class AbstractCurationTask
        Parameters:
        item - the DSpace Item