Item marked NOT in_archive yields inconsistent METS packages
------------------------------------------------------------
Key: DS-751
URL: https://jira.duraspace.org/browse/DS-751
Project: DSpace
Issue Type: Bug
Components: DSpace API
Affects Versions: 1.7.0
Reporter: Mark H. Wood
Priority: Critical
When packaging an object and its dependents (-a), the presence of items with
in_archive = false causes dissemination of item packages claiming parentage by
collections which do not claim them as children. Ingestion of such a package
set crashes the packager with an UnsupportedOperationException.
AbstractPackageDisseminator.disseminateAll() first calls disseminate() on the
current object at around line 85 and then recurses over its children. In the
case of a Collection, it calls Collection.getAllItems() near line 112, which
returns all child items, in_archive or not. For a METS package, disseminate is
defined in AbstractMetsDisseminator. In
AbstractMetsDisseminator.makeManifest(), at around line 983,
Collection.getItems() is used to form the parent Collection's manifest. This
yields only Items which are in_archive. So we first export all child Items
with manifests pointing to the parent Collection, and then a Collection
claiming only a subset of those Items as children. Ingestion of an unclaimed
child while restoring this set of packages is correctly diagnosed as an error
and the restoration fails.
I am uncertain as to which was meant: all children or only in_archive
children, but the manifest builder and the recursion must use the same one.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.duraspace.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel