X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2Fmetadata%2FDirectoryMetadata.java;h=110f2bdb0dd5072ad9fc4f23909dbc66bfb154fc;hb=89616731c3b8756def227874531df1b0cb2e83b4;hp=574da98633f5b37ae4e88524aa072f1d0d567c18;hpb=50cb7085d553fdd82cd06806cd27b1675299f719;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 574da98..110f2bd 100755 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/DirectoryMetadata.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/metadata/DirectoryMetadata.java @@ -1,7 +1,7 @@ /* * Meviz - Various tools collection to work with multimedia. * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. @@ -26,6 +26,7 @@ import eu.svjatoslav.meviz.htmlindexer.ImageFormatError; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.AbstractFile; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.DirectoryFile; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.GeneralFile; +import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.MevizSpecialFile; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.Picture; /** @@ -71,6 +72,25 @@ public class DirectoryMetadata implements Serializable { } + private AbstractFile getAbstractFile(final File parentDirectory, + final File file, final String fileName) throws IOException, + ImageFormatError { + + if (file.isDirectory()) + return new DirectoryFile(parentDirectory, fileName); + + final String fileExtension = FilePathParser.getFileExtension(fileName) + .toLowerCase(); + + if (AbstractIndexer.isImage(fileExtension)) + return new Picture(parentDirectory, fileName); + + if (fileExtension.equals("meviz")) + return new MevizSpecialFile(parentDirectory, fileName); + + return new GeneralFile(parentDirectory, fileName); + } + public AbstractFile getFile(final String fileName) throws IOException { return fileNameToFileMap.get(fileName); } @@ -96,19 +116,8 @@ public class DirectoryMetadata implements Serializable { final String fileName = file.getName(); - final AbstractFile abstractFile; - - if (file.isDirectory()) - abstractFile = new DirectoryFile(parentDirectory, fileName); - else { - final String fileExtension = FilePathParser.getFileExtension( - fileName).toLowerCase(); - - if (AbstractIndexer.isImage(fileExtension)) - abstractFile = new Picture(parentDirectory, fileName); - else - abstractFile = new GeneralFile(parentDirectory, fileName); - } + final AbstractFile abstractFile = getAbstractFile(parentDirectory, + file, fileName); fileNameToFileMap.put(fileName, abstractFile);