public interface BitstreamStorageService
Stores, retrieves and deletes bitstreams.
Presently, asset stores are specified in dspace.cfg. Since
Java does not offer a way of detecting free disk space, the asset store to
use for new bitstreams is also specified in a configuration property. The
drawbacks to this are that the administrators are responsible for monitoring
available space in the asset stores, and DSpace (Tomcat) has to be restarted
when the asset store for new ('incoming') bitstreams is changed.
Mods by David Little, UCSD Libraries 12/21/04 to allow the registration of files (bitstreams) into DSpace.
Cleanup integration with checker package by Nate Sarr 2006-01. N.B. The dependency on the checker package isn't ideal - a Listener pattern would be better but was considered overkill for the purposes of integrating the checker. It would be worth re-considering a Listener pattern if another package needs to be notified of BitstreamStorageManager actions.
| Modifier and Type | Method and Description |
|---|---|
void |
cleanup(boolean deleteDbRecords,
boolean verbose)
Clean up the bitstream storage area.
|
Bitstream |
clone(Context context,
Bitstream bitstream) |
Map |
computeChecksum(Context context,
Bitstream bitstream) |
boolean |
isRegisteredBitstream(String internalId)
Does the internal_id column in the bitstream row indicate the bitstream
is a registered file
|
void |
migrate(Context context,
Integer assetstoreSource,
Integer assetstoreDestination,
boolean deleteOld,
Integer batchCommitSize)
Migrate all the assets from assetstoreSource to assetstoreDestination
|
void |
printStores(Context context)
Print out (log/out) a listing of the assetstores configured, and how many assets they contain
|
UUID |
register(Context context,
Bitstream bitstream,
int assetstore,
String bitstreamPath)
Register a bitstream already in storage.
|
InputStream |
retrieve(Context context,
Bitstream bitstream)
Retrieve the bits for the bitstream with ID.
|
UUID |
store(Context context,
Bitstream bitstream,
InputStream is)
Store a stream of bits.
|
UUID store(Context context, Bitstream bitstream, InputStream is) throws SQLException, IOException
If this method returns successfully, the bits have been stored, and RDBMS metadata entries are in place (the context still needs to be completed to finalize the transaction).
If this method returns successfully and the context is aborted, then the bits will be stored in the asset store and the RDBMS metadata entries will exist, but with the deleted flag set.
If this method throws an exception, then any of the following may be true:context - The current contextis - The stream of bits to storeIOException - If a problem occurs while storing the bitsSQLException - If a problem occurs accessing the RDBMSUUID register(Context context, Bitstream bitstream, int assetstore, String bitstreamPath) throws SQLException, IOException, AuthorizeException
context - The current contextassetstore - The assetstore number for the bitstream to be
registeredbitstreamPath - The relative path of the bitstream to be registered.
The path is relative to the path of ths assetstore.SQLException - If a problem occurs accessing the RDBMSIOException - if IO errorAuthorizeExceptionMap computeChecksum(Context context, Bitstream bitstream) throws IOException
IOExceptionboolean isRegisteredBitstream(String internalId)
internalId - the value of the internal_id columnInputStream retrieve(Context context, Bitstream bitstream) throws SQLException, IOException
context - The current contextbitstream - The bitstream to retrieveIOException - If a problem occurs while retrieving the bitsSQLException - If a problem occurs accessing the RDBMSvoid cleanup(boolean deleteDbRecords,
boolean verbose)
throws SQLException,
IOException,
AuthorizeException
deleteDbRecords - if true deletes the database records otherwise it
only deletes the files and directories in the assetstoreIOException - If a problem occurs while cleaning upSQLException - If a problem occurs accessing the RDBMSAuthorizeExceptionBitstream clone(Context context, Bitstream bitstream) throws SQLException, IOException, AuthorizeException
void printStores(Context context) throws SQLException
context - SQLException - if database errorvoid migrate(Context context, Integer assetstoreSource, Integer assetstoreDestination, boolean deleteOld, Integer batchCommitSize) throws IOException, SQLException, AuthorizeException
context - assetstoreSource - assetstoreDestination - deleteOld - batchCommitSize - IOExceptionSQLExceptionAuthorizeExceptionCopyright © 2017 DuraSpace. All rights reserved.