When adding a Bitstream to a Bundle, the 'bitstream_order' is always set to the 'sequence_id' ---------------------------------------------------------------------------------------------
Key: DS-1122 URL: https://jira.duraspace.org/browse/DS-1122 Project: DSpace Issue Type: Bug Components: DSpace API Affects Versions: 1.8.1, 1.8.0 Reporter: Tim Donohue Assignee: Tim Donohue Fix For: 1.8.2 Attachments: Bundle.patch Currently, in the Bundle.addBitstream() method the 'bitstream_order' setting is always set to the same value as the 'sequence_id'. This makes a large assumption that these two fields should always be equal for newly created bitstreams. However, in scenarios where you are restoring an Item and its Bitstreams (like via AIP Backup & Restore), this assumption falls flat. In 'restore' scenarios, it's very possible you may want to restore the 'sequence_id' as 2 while the 'bitstream_order' should be 1. Unfortunately, this becomes problematic, as the 'addBitstream()' method will always assume bitstream_order=sequence_id. My proposal is to instead implement Bundle.addBitstream() so that it is always *appending* the newly added bitstream to the end of the current list of Bitstreams. So, instead it should set: bitstream_order = bitstreams.size() This will work fine for 'restore' scenarios, as Bitstreams are always restored in order, so the bitstream_order may be restored to a different value to the sequence_id. A proposed patch to the Bundle class is attached. I've done some minimal testing so far, but it seems stable. I have verified that with this patch in place, I can now restore *both* an Item's bitstream_order and sequence_id to different values (as necessary), via the AIP Backup & Restore tools. I'd appreciate feedback on this approach. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.duraspace.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Dspace-devel mailing list Dspace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-devel