X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fhtmlindexer%2FAbstractIndexer.java;h=4e3b6eb3fb7f421471091814ba16887cfd0dc3b5;hb=ddbd9cbd9c6835c7f130445337fa3b507264eb77;hp=cc8f15971d8de8d0bc17c3ae9fa8001cbb42a62c;hpb=50cb7085d553fdd82cd06806cd27b1675299f719;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/htmlindexer/AbstractIndexer.java b/src/main/java/eu/svjatoslav/meviz/htmlindexer/AbstractIndexer.java index cc8f159..4e3b6eb 100644 --- a/src/main/java/eu/svjatoslav/meviz/htmlindexer/AbstractIndexer.java +++ b/src/main/java/eu/svjatoslav/meviz/htmlindexer/AbstractIndexer.java @@ -1,8 +1,5 @@ package eu.svjatoslav.meviz.htmlindexer; -import java.io.File; -import java.io.UnsupportedEncodingException; - import eu.svjatoslav.meviz.htmlindexer.metadata.Dimension; import eu.svjatoslav.meviz.htmlindexer.metadata.DirectoryMetadata; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.AbstractFile; @@ -10,51 +7,75 @@ import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.DirectoryFile; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.GeneralFile; import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.Picture; +import java.io.File; +import java.io.UnsupportedEncodingException; + public abstract class AbstractIndexer { - public void compileHtml(final Layout layout, - final DirectoryMetadata directory) - throws UnsupportedEncodingException { + public static boolean isImage(final String fileExtension) { + for (final String ext : Constants.SUPPORTED_IMAGE_EXTENSIONS) + if (ext.equals(fileExtension)) + return true; + return false; + } + + public static boolean isOgv(final String fileExtension) { + return fileExtension.equalsIgnoreCase("ogv"); + } + + static boolean shallFileBeIndexed(final File file) { + + if (file.getName().startsWith(".")) + return false; + if (file.getName().startsWith("index")) + if (file.getName().endsWith(".html")) + return false; - for (final AbstractFile file : directory.getFiles()) - if (file instanceof GeneralFile) { - final String fileExtension = file.getFileExtension(); + return true; + } - if ("ogv".equals(fileExtension)) - layout.enlistOgv((GeneralFile) file); - else - layout.enlistFile(file); + void compileHtml(final Layout layout, + final DirectoryMetadata directory) + throws UnsupportedEncodingException { - } else if (file instanceof Picture) - layout.enlistImage(file); - else if (file instanceof DirectoryFile) - layout.enlistDirectory(file); + for (final AbstractFile file : directory.getFiles()) + if (file instanceof GeneralFile) { + final String fileExtension = file.getFileExtension(); - } + if (isVideo(fileExtension)) + layout.enlistVideo(file); + else + layout.enlistFile(file, directory); - public abstract String getThumbnailPath(Picture picture, - final Dimension desiredDimension); + } else if (file instanceof Picture) + layout.enlistImage((Picture) file, directory); + else if (file instanceof DirectoryFile) + layout.enlistDirectory(file, directory); - public static boolean isImage(final String fileExtension) { - for (final String ext : Constants.SUPPORTED_IMAGE_EXTENSIONS) - if (ext.equals(fileExtension)) - return true; - return false; - } + } - public static boolean isOgv(final String fileExtension) { - return fileExtension.equalsIgnoreCase("ogv"); - } + public abstract String getDirectoryUrl(final AbstractFile directory, + IndexingContext context); - public static boolean shallFileBeIndexed(final File file) { + public abstract String getParentDirectoryUrl(IndexingContext context); - if (file.getName().startsWith(".")) - return false; - if (file.getName().startsWith("index")) - if (file.getName().endsWith(".html")) - return false; + public abstract String getThumbnailUrl(Picture picture, + final Dimension desiredDimension, IndexingContext context); - return true; - } + public static String getVideoType(String fileExtension) { + switch (fileExtension){ + case "ogv": + return "video/ogg"; + case "webm": + return "video/webm"; + case "mp4": + return "video/mp4"; + default: + return null; + } + } + public boolean isVideo(String fileExtension){ + return getVideoType(fileExtension) != null; + } }