diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java index 2da25037b..6a2a02d34 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/model/FileInfo.java @@ -94,6 +94,7 @@ public class FileInfo { String filename = surrogate.getDataValue(VitroVocabulary.FS_FILENAME); if (filename == null) { log.error("File had no filename: '" + uri + "'"); + return null; } else { log.debug("Filename for '" + uri + "' was '" + filename + "'"); } @@ -101,6 +102,7 @@ public class FileInfo { String mimeType = surrogate.getDataValue(VitroVocabulary.FS_MIME_TYPE); if (mimeType == null) { log.error("File had no mimeType: '" + uri + "'"); + return null; } else { log.debug("mimeType for '" + uri + "' was '" + mimeType + "'"); } @@ -110,10 +112,21 @@ public class FileInfo { if (byteStream == null) { log.error("File surrogate '" + uri + "' had no associated bytestream."); + return null; } String bytestreamUri = findBytestreamUri(byteStream, uri); + if (bytestreamUri == null) { + log.error("Bytestream of file surrogate '" + uri + "' had no URI: " + + byteStream); + return null; + } + String bytestreamAliasUrl = findBytestreamAliasUrl(byteStream, uri); + if (bytestreamAliasUrl == null) { + log.error("Bytestream '" + bytestreamUri + "' had no alias URL."); + return null; + } return new FileInfo.Builder().setUri(uri).setFilename(filename) .setMimeType(mimeType).setBytestreamUri(bytestreamUri)