Class ItemUpdate


  • public class ItemUpdate
    extends Object
    Provides some batch editing capabilities for items in DSpace: Metadata fields - Add, Delete Bitstreams - Add, Delete The design has been for compatibility with ItemImporter in the use of the DSpace archive format which is used to specify changes on a per item basis. The directory names to correspond to each item are arbitrary and will only be used for logging purposes. The reference to the item is from a required dc.identifier with the item handle to be included in the dublin_core.xml (or similar metadata) file. Any combination of these actions is permitted in a single run of this class The order of actions is important when used in combination. It is the responsibility of the calling class (here, ItemUpdate) to register UpdateAction classes in the order to which they are to be performed. It is unfortunate that so much code needs to be borrowed from ItemImport as it is not reusable in private methods, etc. Some of this has been placed into the MetadataUtilities class for possible reuse elsewhere.
    Author:
    W. Hays based on a conceptual design by R. Rodgers
    • Constructor Detail

      • ItemUpdate

        public ItemUpdate()
    • Method Detail

      • main

        public static void main​(String[] argv)
        Parameters:
        argv - the command line arguments given
      • processArchive

        protected void processArchive​(Context context,
                                      String sourceDirPath,
                                      String itemField,
                                      String metadataIndexName,
                                      boolean alterProvenance,
                                      boolean isTest)
                               throws Exception
        process an archive
        Parameters:
        context - DSpace Context
        sourceDirPath - source path
        itemField - item field
        metadataIndexName - index name
        alterProvenance - whether to alter provenance
        isTest - test flag
        Throws:
        Exception - if error
      • initUndoArchive

        protected File initUndoArchive​(File sourceDir)
                                throws FileNotFoundException,
                                       IOException
        to avoid overwriting the undo source tree on repeated processing sequence numbers are added and checked
        Parameters:
        sourceDir - - the original source directory
        Returns:
        the directory of the undo archive
        Throws:
        FileNotFoundException - if file doesn't exist
        IOException - if IO error
      • setEPerson

        protected void setEPerson​(Context context,
                                  String eperson)
                           throws Exception
        Set EPerson doing import
        Parameters:
        context - DSpace Context
        eperson - EPerson obj
        Throws:
        Exception - if error