Class ItemUpdate

java.lang.Object
org.dspace.app.itemupdate.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 ItemImportService 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 which they are to be performed.

It is unfortunate that so much code needs to be borrowed from ItemImportService 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
  • Field Details

  • Constructor Details

    • ItemUpdate

      public ItemUpdate()
  • Method Details

    • 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