Class AbstractPackageDisseminator
- All Implemented Interfaces:
PackageDisseminator
- Direct Known Subclasses:
AbstractMETSDisseminator
First, implements recursive functionality in the disseminateAll() method of the PackageIngester interface. This method is setup to recursively call disseminate() method.
All Package disseminators should either extend this abstract class
or implement PackageDisseminator to better suit their needs.
- Author:
- Tim Donohue
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdd File to list of successfully disseminated package filesdisseminateAll(Context context, DSpaceObject dso, PackageParameters params, File pkgFile) Recursively export one or more DSpace Objects as a series of packages.Return List of all package Files which have been disseminated this instance of the Disseminator.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.dspace.content.packager.PackageDisseminator
disseminate, getMIMEType, getParameterHelp
-
Field Details
-
communityService
-
itemService
-
-
Constructor Details
-
AbstractPackageDisseminator
public AbstractPackageDisseminator()
-
-
Method Details
-
disseminateAll
public List<File> disseminateAll(Context context, DSpaceObject dso, PackageParameters params, File pkgFile) throws PackageException, CrosswalkException, AuthorizeException, SQLException, IOException Recursively export one or more DSpace Objects as a series of packages. This method will export the given DSpace Object as well as all referenced DSpaceObjects (e.g. child objects) into a series of packages. The initial object is exported to the location specified by the OutputStream. All other packages are exported to the same directory location.Package is any serialized representation of the item, at the discretion of the implementing class. It does not have to include content bitstreams.
Use theparamsparameter list to adjust the way the package is made, e.g. including a "metadataOnly" parameter might make the package a bare manifest in XML instead of a Zip file including manifest and contents.
Throws an exception of the initial object is not acceptable or there is a failure creating the package.- Specified by:
disseminateAllin interfacePackageDisseminator- Parameters:
context- DSpace context.dso- initial DSpace objectparams- Properties-style list of options specific to this packagerpkgFile- File where initial package should be written. All other packages will be written to the same directory as this File.- Returns:
- List of all package Files which were successfully disseminated
- Throws:
PackageValidationException- if package cannot be created or there is a fatal error in creating it.CrosswalkException- if crosswalk errorIOException- if IO errorSQLException- if database errorAuthorizeException- if authorization errorPackageValidationException- if package cannot be created or there is a fatal error in creating it.PackageException
-
addToPackageList
Add File to list of successfully disseminated package files- Parameters:
f- added File.
-
getPackageList
Return List of all package Files which have been disseminated this instance of the Disseminator.This list can be useful in reporting back to the user what content has been disseminated as packages. It's used by disseminateAll() to report what packages were created.
- Returns:
- List of Files which correspond to the disseminated packages
-