Skip to content

Commit 874604a

Browse files
committed
Return empty list if an error has occured.
1 parent 5ecfa18 commit 874604a

1 file changed

Lines changed: 20 additions & 15 deletions

File tree

dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataBitstreamRestRepository.java

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -102,25 +102,30 @@ public Page<MetadataBitstreamWrapperRest> findByHandle(@Parameter(value = "handl
102102

103103
for (Bitstream bitstream : bitstreams) {
104104
String url = previewContentService.composePreviewURL(context, item, bitstream, contextPath);
105-
List<FileInfo> fileInfos = null;
105+
List<FileInfo> fileInfos = new ArrayList<>();
106106
boolean canPreview = previewContentService.canPreview(context, bitstream);
107107
if (canPreview) {
108-
List<PreviewContent> prContents = previewContentService.hasPreview(context, bitstream);
109-
// Generate new content if we didn't find any
110-
if (prContents.isEmpty()) {
111-
fileInfos = previewContentService.getFilePreviewContent(context, bitstream);
112-
// Do not store HTML content in the database because it could be longer than the limit
113-
// of the database column
114-
if (!StringUtils.equals("text/html", bitstream.getFormat(context).getMIMEType())) {
115-
for (FileInfo fi : fileInfos) {
116-
previewContentService.createPreviewContent(context, bitstream, fi);
108+
try {
109+
List<PreviewContent> prContents = previewContentService.hasPreview(context, bitstream);
110+
// Generate new content if we didn't find any
111+
if (prContents.isEmpty()) {
112+
fileInfos = previewContentService.getFilePreviewContent(context, bitstream);
113+
// Do not store HTML content in the database because it could be longer than the limit
114+
// of the database column
115+
if (!StringUtils.equals("text/html", bitstream.getFormat(context).getMIMEType())) {
116+
for (FileInfo fi : fileInfos) {
117+
previewContentService.createPreviewContent(context, bitstream, fi);
118+
}
119+
}
120+
} else {
121+
fileInfos = new ArrayList<>();
122+
for (PreviewContent pc : prContents) {
123+
fileInfos.add(previewContentService.createFileInfo(pc));
117124
}
118125
}
119-
} else {
120-
fileInfos = new ArrayList<>();
121-
for (PreviewContent pc : prContents) {
122-
fileInfos.add(previewContentService.createFileInfo(pc));
123-
}
126+
} catch (Exception e) {
127+
log.error("Cannot create preview content for bitstream: {} because: {}",
128+
bitstream.getID(), e.getMessage());
124129
}
125130
}
126131
MetadataBitstreamWrapper bts = new MetadataBitstreamWrapper(bitstream, fileInfos,

0 commit comments

Comments
 (0)