From c39790aed985403f09e591919ff8a3a97be04e5c Mon Sep 17 00:00:00 2001 From: j2blake Date: Sun, 1 Jul 2012 17:29:24 +0000 Subject: [PATCH] NIHVIVO-3654 Add more error checking for invalid RDF on the image. --- .../vitro/webapp/filestorage/model/FileInfo.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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)