X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2Fmetadata%2FDirectoryMetadata.java;h=84fad12e5f785b2dd48100dfcd538b6fd9f8df71;hb=4b74c2be1dd6104f3a4dd50d29ece78857ada3fa;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..84fad12 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,15 +82,23 @@ 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 (fileName.endsWith(".meviz.org")) + return new MevizSpecialFile(parentDirectory, fileName); - if (fileExtension.equals("meviz")) + if (fileName.endsWith(".meviz.html")) return new MevizSpecialFile(parentDirectory, fileName); return new GeneralFile(parentDirectory, fileName); } - public AbstractFile getFile(final String fileName) throws IOException { + public AbstractFile getFile(final String fileName) { return fileNameToFileMap.get(fileName); } @@ -105,6 +112,15 @@ public class DirectoryMetadata implements Serializable { return files; } + public String getHeaderMevizMetadataHtml() { + final AbstractFile headerFile = getFile("header.meviz.html"); + if (headerFile == null) + return ""; + + final MevizSpecialFile mevizSpecialFile = (MevizSpecialFile) headerFile; + return mevizSpecialFile.getFileContent(); + } + public Dimension getImageDimensions(final String fileName) throws IOException, ImageFormatError { @@ -112,7 +128,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();