API Changes in the current AipBackupRestorePrototype
- See SVN Sandbox for actual source code: http://scm.dspace.org/svn/repo/sandbox/aip-external-1_6-prototype/
- Full diff patch (current as of Trunk rev. 4963): aip-trunk-r4963.patch
Change Summary (work in progress)
configs
dspace.cfg
– new configs for AIPIngester & Disseminator
org.dspace.app.packager.*
org.dspace.app.packager.Packager
– MAJOR refactoring to support recursive ingest/export
org.dspace.content.*
NEW CLASSES
org.dspace.content.IngestionWrapper
– New class to wrap all results of ingests of Communities, Collections or Items. WorkspaceItem now extends this.
UPDATED CLASSES
org.dspace.content.BitstreamFormat
– HARDCODED Support level text (Are these changes NEEDED?? – Tim)org.dspace.content.Site
– new getURL() methodorg.dspace.content.WorkspaceItem
– now extends IngestionWrapper – changes to support thatorg.dspace.content.Community
– add ability to create a Community with a specified Handle, also create a SubCommunity or Collection with specified Handleorg.dspace.content.InstallItem
– now supports IngestionWrapper, can install an item with a specified Handle, new replaceItem() methodorg.dspace.content.Bitstream
– create() now public, new getAbsoluteURI(), new dereferenceAbsoluteURI(), new isDeleted() (Are these changes NEEDED?? – Tim)org.dspace.content.Collection
– add ability to create a Collection with a specified Handleorg.dspace.content.Item
– now calls HandleManager.unbindHandle to remove a Handle.
org.dspace.content.crosswalk.*
NEW CLASSES
org.dspace.content.crosswalk.NullStreamIngestionCrosswalk
org.dspace.content.crosswalk.CreativeCommonsTextStreamDisseminationCrosswalk
org.dspace.content.crosswalk.LicenseStreamIngestionCrosswalk
org.dspace.content.crosswalk.CreativeCommonsRDFStreamIngestionCrosswalk
org.dspace.content.crosswalk.AIPDIMCrosswalk
– Crosswalk from DIM to AIPorg.dspace.content.crosswalk.LicenseStreamDisseminationCrosswalk
org.dspace.content.crosswalk.CreativeCommonsRDFStreamDisseminationCrosswalk
org.dspace.content.crosswalk.AIPTechMDCrosswalk
UPDATED CLASSES
org.dspace.content.crosswalk.XSLTIngestionCrosswalk
– several methods are now static, new ingestDIM methodorg.dspace.content.crosswalk.XSLTDisseminationCrosswalk
– now supports dissemination of Community or Collection or Site objects (in addition to Items)org.dspace.content.crosswalk.MODSDisseminationCrosswalk
– now supports MODS dissemination of Community or Collection or Site metadata (in addition to Items)org.dspace.content.crosswalk.XSLTCrosswalk
– HARDCODED mapping of Community/Collection DB columns to DC fields (Are these changes NEEDED?? – Tim)
org.dspace.content.packager.*
NEW CLASSES
org.dspace.content.packager.AIPIngester
org.dspace.content.packager.DSpaceAIPDisseminator
org.dspace.content.packager.DSpaceAIPIngester
UPDATED CLASSES
org.dspace.content.packager.METSManifest
– MAJOR refactoringorg.dspace.content.packager.PDFPackager
– refactoring to support IngestionWrapperorg.dspace.content.packager.DSpaceMETSDisseminator
– refactoring to support changes to AbstractMETSDisseminatororg.dspace.content.packager.PackageUtils
– new findOrCreateBitstreamFormat(), findDepositLicense() methods (used for ingestion)org.dspace.content.packager.AbstractMETSDisseminator
– MAJOR refactoring to support Site, Community & Collection exports (and code cleanup)org.dspace.content.packager.DSpaceMETSIngester
– refactoring to work with Site, Community, Collections & to support AbstractMETSIngesterorg.dspace.content.packager.PackageIngester
– refactoring to support IngestionWrapperorg.dspace.content.packager.AbstractMETSIngester
– MAJOR refactoring to support Site, Community & Collection imports (and code cleanup)
org.dspace.core.*
org.dspace.core.Constants
– new "INGESTION" constants (Are these changes NEEDED?? – Tim)
org.dspace.handle.*
org.dspace.handle.HandleManager
– unbindHandle() method, lookup Site Object by Handle suffix "0", getHandleInternal now retuns TableRow
org.dspace.storage.*
org.dspace.storage.bitstore.BitstreamStorageManager
– new getAbsoluteURI, dereferenceAbsoluteURI, findBitstreamByStorage methods – Were these for INTERNAL AIPs? (Are these changes NEEDED?? – Tim)
dspace-sword-api and dspace-lni-api
org.dspace.app.dav.DAVCollection
(dspace-lni-api) – update to use IngestionWrapperorg.dspace.sword.SWORDMETSIngester
(dspace-sword-api) – now uses IngestionWrapper