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=84a5868edb0b2f5a15e5ee4ab621be338bbad605;hpb=99bc9002a93c8ab224934032a1a5fe0c00d5de96;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 84a5868..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,56 +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; -public abstract class AbstractIndexer { - - 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 static boolean shallFileBeIndexed(final File file) { - - if (file.getName().startsWith(".")) - return false; - if (file.getName().startsWith("index")) - if (file.getName().endsWith(".html")) - return false; - - return true; - } - - public void compileHtml(final Layout layout, - final DirectoryMetadata directory) - throws UnsupportedEncodingException { - - for (final AbstractFile file : directory.getFiles()) - if (file instanceof GeneralFile) { - final String fileExtension = file.getFileExtension(); - - if ("ogv".equals(fileExtension)) - layout.enlistOgv(file); - else - layout.enlistFile(file); - - } else if (file instanceof Picture) - layout.enlistImage((Picture) file); - else if (file instanceof DirectoryFile) - layout.enlistDirectory(file); - - } - - public abstract String getDirectoryUrl(final AbstractFile directory, - IndexingContext context); - - public abstract String getParentDirectoryUrl(IndexingContext context); +import java.io.File; +import java.io.UnsupportedEncodingException; - public abstract String getThumbnailUrl(Picture picture, - final Dimension desiredDimension, IndexingContext context); +public abstract class AbstractIndexer { + 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; + + return true; + } + + void compileHtml(final Layout layout, + final DirectoryMetadata directory) + throws UnsupportedEncodingException { + + 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); + + } else if (file instanceof Picture) + layout.enlistImage((Picture) file, directory); + else if (file instanceof DirectoryFile) + layout.enlistDirectory(file, directory); + + } + + public abstract String getDirectoryUrl(final AbstractFile directory, + IndexingContext context); + + public abstract String getParentDirectoryUrl(IndexingContext context); + + public abstract String getThumbnailUrl(Picture picture, + final Dimension desiredDimension, IndexingContext context); + + 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; + } }