UNC-Libraries/Carolina-Digital-Repository — pull request #130 by daines (2014-06-30 18:35:38+00:00)
Title: External datastream fixes

- Fedora doesn't report sizes for external datastreams even if they're present in the FOXML, so we can end up getting back zero-length files when we try to stream this kind of content. This works around that issue by including a file's length according to iRODS when returning a MIMETypedStream from IrodsExternalContentManager. This way the correct Content-Length header can be set for the browser.

- Nonexistent sizes were interpreted as zero when indexing, which caused external datastreams to appear to have a size of zero bytes in the access interface. This changes the indexing logic to interpret a missing size value as no size.

- In addition, the parsing serialization logic in Datastream was changed to be more explicit about what happens when we see blank fields.