X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2Fmetadata%2FDirectoryMetadata.java;h=5c560b0054231af1bbfb01d33922fe3646dceaa9;hb=99bc9002a93c8ab224934032a1a5fe0c00d5de96;hp=110f2bdb0dd5072ad9fc4f23909dbc66bfb154fc;hpb=89616731c3b8756def227874531df1b0cb2e83b4;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/DirectoryMetadata.java b/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/DirectoryMetadata.java index 110f2bd..5c560b0 100755 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/DirectoryMetadata.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/DirectoryMetadata.java @@ -57,7 +57,7 @@ public class DirectoryMetadata implements Serializable { } public void ensureFileMetainfoIsUpToDate(final File parentDirectory, - final File file) throws IOException, ImageFormatError { + final File file) throws Exception { final String fileName = file.getName(); @@ -73,8 +73,7 @@ public class DirectoryMetadata implements Serializable { } private AbstractFile getAbstractFile(final File parentDirectory, - final File file, final String fileName) throws IOException, - ImageFormatError { + final File file, final String fileName) throws Exception { if (file.isDirectory()) return new DirectoryFile(parentDirectory, fileName); @@ -83,7 +82,12 @@ public class DirectoryMetadata implements Serializable { .toLowerCase(); if (AbstractIndexer.isImage(fileExtension)) - return new Picture(parentDirectory, fileName); + try { + return new Picture(parentDirectory, fileName); + } catch (final Exception exception) { + // in case image decoding failed, handle image as general file + return new GeneralFile(parentDirectory, fileName); + } if (fileExtension.equals("meviz")) return new MevizSpecialFile(parentDirectory, fileName); @@ -112,7 +116,7 @@ public class DirectoryMetadata implements Serializable { } public AbstractFile registerFile(final File parentDirectory, final File file) - throws IOException, ImageFormatError { + throws Exception { final String fileName = file.getName();