Class RoleIngester

java.lang.Object
org.dspace.content.packager.RoleIngester
All Implemented Interfaces:
PackageIngester

public class RoleIngester extends Object implements PackageIngester
Create EPersons and Groups from a file of external representations.
Author:
mwood
  • Field Details

  • Constructor Details

    • RoleIngester

      public RoleIngester()
  • Method Details

    • ingestStream

      public void ingestStream(Context context, DSpaceObject parent, PackageParameters params, InputStream stream) throws PackageException, SQLException, AuthorizeException
      Ingest roles from an InputStream.
      Parameters:
      context - DSpace Context
      parent - the Parent DSpaceObject
      params - package params
      stream - input stream with the roles
      Throws:
      PackageException - if packaging error
      SQLException - if database error
      AuthorizeException - if authorization error
    • ingest

      Description copied from interface: PackageIngester
      Create new DSpaceObject out of the ingested package. The object is created under the indicated parent. This creates a DSpaceObject. For Items, it is up to the caller to decide whether to install it or submit it to normal DSpace Workflow.

      The deposit license (Only significant for Item) is passed explicitly as a string since there is no place for it in many package formats. It is optional and may be given as null.

      Use ingestAll method to perform a recursive ingest of all packages which are referenced by an initial package.

      Specified by:
      ingest in interface PackageIngester
      Parameters:
      context - DSpace context.
      parent - parent under which to create new object (may be null -- in which case ingester must determine parent from package or throw an error).
      pkgFile - The package file to ingest
      params - Properties-style list of options (interpreted by each packager).
      license - may be null, which takes default license.
      Returns:
      DSpaceObject created by ingest.
      Throws:
      PackageValidationException - if package is unacceptable or there is a fatal error turning it into a DSpaceObject.
      CrosswalkException - if crosswalk error
      AuthorizeException - if authorization error
      SQLException - if database error
      IOException - if IO error
      PackageException
    • ingestAll

      Description copied from interface: PackageIngester
      Recursively create one or more DSpace Objects out of the contents of the ingested package (and all other referenced packages). The initial object is created under the indicated parent. All other objects are created based on their relationship to the initial object.

      For example, a scenario may be to create a Collection based on a collection-level package, and also create an Item for every item-level package referenced by the collection-level package.

      The output of this method is one or more newly created DSpaceObject Identifiers (i.e. Handles).

      The packager may choose not to implement ingestAll, or simply forward the call to ingest if it is unable to support recursive ingestion.

      The deposit license (Only significant for Item) is passed explicitly as a string since there is no place for it in many package formats. It is optional and may be given as null.

      Specified by:
      ingestAll in interface PackageIngester
      Parameters:
      context - DSpace context.
      parent - parent under which to create the initial object (may be null -- in which case ingester must determine parent from package or throw an error).
      pkgFile - The initial package file to ingest
      params - Properties-style list of options (interpreted by each packager).
      license - may be null, which takes default license.
      Returns:
      List of Identifiers of DSpaceObjects created
      Throws:
      PackageValidationException - if initial package (or any referenced package) is unacceptable or there is a fatal error in creating a DSpaceObject
      UnsupportedOperationException - if this packager does not implement ingestAll
      CrosswalkException - if crosswalk error
      AuthorizeException - if authorization error
      SQLException - if database error
      IOException - if IO error
      PackageException
    • replace

      Description copied from interface: PackageIngester
      Replace an existing DSpace Object with contents of the ingested package. The packager may choose not to implement replace, since it somewhat contradicts the archival nature of DSpace. The exact function of this method is highly implementation-dependent.

      Use replaceAll method to perform a recursive replace of objects referenced by a set of packages.

      Specified by:
      replace in interface PackageIngester
      Parameters:
      context - DSpace context.
      dso - existing DSpace Object to be replaced, may be null if object to replace can be determined from package
      pkgFile - The package file to ingest.
      params - Properties-style list of options specific to this packager
      Returns:
      DSpaceObject with contents replaced
      Throws:
      PackageValidationException - if package is unacceptable or there is a fatal error turning it into an Item.
      UnsupportedOperationException - if this packager does not implement replace.
      CrosswalkException - if crosswalk error
      AuthorizeException - if authorization error
      SQLException - if database error
      IOException - if IO error
      PackageException
    • replaceAll

      Description copied from interface: PackageIngester
      Recursively replace one or more DSpace Objects out of the contents of the ingested package (and all other referenced packages). The initial object to replace is indicated by dso. All other objects are replaced based on information provided in the referenced packages.

      For example, a scenario may be to replace a Collection based on a collection-level package, and also replace *every* Item in that collection based on the item-level packages referenced by the collection-level package.

      Please note that since the dso input only specifies the initial object to replace, any additional objects to replace must be determined based on the referenced packages (or initial package itself).

      The output of this method is one or more replaced DSpaceObject Identifiers (i.e. Handles).

      The packager may choose not to implement replaceAll, since it somewhat contradicts the archival nature of DSpace. It also may choose to forward the call to replace if it is unable to support recursive replacement.

      Specified by:
      replaceAll in interface PackageIngester
      Parameters:
      context - DSpace context.
      dso - initial existing DSpace Object to be replaced, may be null if object to replace can be determined from package
      pkgFile - The package file to ingest.
      params - Properties-style list of options specific to this packager
      Returns:
      List of Identifiers of DSpaceObjects replaced
      Throws:
      PackageValidationException - if initial package (or any referenced package) is unacceptable or there is a fatal error in creating a DSpaceObject
      UnsupportedOperationException - if this packager does not implement replaceAll
      CrosswalkException - if crosswalk error
      AuthorizeException - if authorization error
      SQLException - if database error
      IOException - if IO error
      PackageException
    • getParameterHelp

      public String getParameterHelp()
      Returns a user help string which should describe the additional valid command-line options that this packager implementation will accept when using the -o or --option flags with the Packager script.
      Specified by:
      getParameterHelp in interface PackageIngester
      Returns:
      a string describing additional command-line options available with this packager