X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2FFilesystemIndexer.java;h=061163e18dfc78aacb434a66af8d4464a24a2e2d;hb=4b74c2be1dd6104f3a4dd50d29ece78857ada3fa;hp=d9726dd5b5be243eedb52f375f3d6dd1f81492f8;hpb=5e2fffbc3363880e2da9c9d282537a8e2653fa8d;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.java b/src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.java index d9726dd..061163e 100755 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/FilesystemIndexer.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. @@ -12,7 +12,6 @@ package eu.svjatoslav.meviz.htmlindexer; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -25,8 +24,6 @@ import eu.svjatoslav.meviz.htmlindexer.metadata.Dimension; import eu.svjatoslav.meviz.htmlindexer.metadata.DirectoryMetadata; import eu.svjatoslav.meviz.htmlindexer.metadata.MetadadaHelper; 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.Picture; /** @@ -42,8 +39,6 @@ public class FilesystemIndexer extends AbstractIndexer { private final File directoryToIndex; - private String thumbnailsPath; - private File metadataFile; private DirectoryMetadata metadata; @@ -56,8 +51,7 @@ public class FilesystemIndexer extends AbstractIndexer { public FilesystemIndexer(final File directoryToIndex, final CommandlineHandler commandlineHandler, - final List pathElements) throws IOException, - ImageFormatError { + final List pathElements) throws Exception { this.directoryToIndex = directoryToIndex; this.commandlineHandler = commandlineHandler; @@ -96,14 +90,6 @@ public class FilesystemIndexer extends AbstractIndexer { return Utils.isMevizGeneratedIndexFile(indexFile); } - public void cleanupUnusedMetadataFiles() { - final File thumbnailsDirectory = new File(thumbnailsPath); - - for (final File file : thumbnailsDirectory.listFiles()) - if (!validMetadataFiles.contains(file.getName())) - file.delete(); - } - public void generateHtmlFromMetadata(final HashSet layouts) { // Generate HTML from metadata for (final Layout layout : layouts) @@ -113,10 +99,10 @@ public class FilesystemIndexer extends AbstractIndexer { if (canWriteIndexFile(indexFile)) { - indexForLayout(layout); + compileHtml(layout, metadata); IOHelper.overwriteFileIfContentDiffers(indexFile, layout - .getHtml(true, true).getBytes()); + .getHtml(true, true, metadata).getBytes()); } } catch (final Exception e) { logger.error("Error writing index file. ", e); @@ -156,7 +142,9 @@ public class FilesystemIndexer extends AbstractIndexer { .getRelativeThumbnailFileName(desiredDimension); validMetadataFiles.add(thumbnailFileName); - final File thumbnailFile = new File(thumbnailsPath + thumbnailFileName); + final File thumbnailFile = new File( + Utils.getThumbnailsDirectoryPath(directoryToIndex) + + thumbnailFileName); if (!thumbnailFile.exists()) { @@ -171,24 +159,6 @@ public class FilesystemIndexer extends AbstractIndexer { + UrlParamEncoder.encode(thumbnailFileName); } - public void indexForLayout(final Layout layout) - throws UnsupportedEncodingException { - - for (final AbstractFile abstractFile : metadata.getFiles()) - if (abstractFile instanceof GeneralFile) { - - if (isOgv(abstractFile.getFileExtension())) - layout.enlistOgv(abstractFile); - else - layout.enlistFile(abstractFile); - - } else if (abstractFile instanceof Picture) - layout.enlistImage(abstractFile); - else if (abstractFile instanceof DirectoryFile) - layout.enlistDirectory(abstractFile); - - } - public void initializeLayouts() { layouts = Utils.getLayouts(); @@ -209,26 +179,26 @@ public class FilesystemIndexer extends AbstractIndexer { } public void loadOrCreateMetadata() { - metadataFile = new File(thumbnailsPath + Constants.METADATA_FILE_NAME); + + metadataFile = new File( + Utils.getThumbnailsDirectoryPath(directoryToIndex) + + Constants.METADATA_FILE_NAME); metadata = MetadadaHelper.initDirectoryMetadata(metadataFile); } private void removeUnusedThumbnailFiles() { - final File thumbnailsDirectory = new File(thumbnailsPath); - - for (final File file : thumbnailsDirectory.listFiles()) + for (final File file : Utils.getThumbnailsDirectory(directoryToIndex) + .listFiles()) if (!validMetadataFiles.contains(file.getName())) file.delete(); } - public void updateMetadata() throws IOException, ImageFormatError { - - final File[] directoryContent = directoryToIndex.listFiles(); + public void updateMetadata() throws Exception { - for (final File file : directoryContent) + for (final File file : directoryToIndex.listFiles()) if (shallFileBeIndexed(file)) { metadata.ensureFileMetainfoIsUpToDate(directoryToIndex, file);