Use FFMpeg instead of Avconv
[meviz.git] / src / main / java / eu / svjatoslav / meviz / htmlindexer / AbstractIndexer.java
index 4e3b6eb..22ec825 100644 (file)
@@ -2,25 +2,28 @@ package eu.svjatoslav.meviz.htmlindexer;
 
 import eu.svjatoslav.meviz.htmlindexer.metadata.Dimension;
 import eu.svjatoslav.meviz.htmlindexer.metadata.DirectoryMetadata;
-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;
+import eu.svjatoslav.meviz.htmlindexer.metadata.fileTypes.*;
 
 import java.io.File;
 import java.io.UnsupportedEncodingException;
 
+import static eu.svjatoslav.meviz.htmlindexer.Constants.SUPPORTED_IMAGE_EXTENSIONS;
+import static eu.svjatoslav.meviz.htmlindexer.Constants.SUPPORTED_VIDEO_EXTENSIONS;
+
 public abstract class AbstractIndexer {
 
     public static boolean isImage(final String fileExtension) {
-        for (final String ext : Constants.SUPPORTED_IMAGE_EXTENSIONS)
+        for (final String ext : 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 isVideo(final String fileExtension) {
+        for (final String ext : SUPPORTED_VIDEO_EXTENSIONS)
+            if (ext.equals(fileExtension))
+                return true;
+        return false;
     }
 
     static boolean shallFileBeIndexed(final File file) {
@@ -40,18 +43,13 @@ public abstract class AbstractIndexer {
 
         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.enlistFile(file, directory);
+            } else if (file instanceof Picture){
                 layout.enlistImage((Picture) file, directory);
-            else if (file instanceof DirectoryFile)
+            } else if (file instanceof Video){
+                layout.enlistVideo((Video) file);
+            } else if (file instanceof DirectoryFile)
                 layout.enlistDirectory(file, directory);
-
     }
 
     public abstract String getDirectoryUrl(final AbstractFile directory,
@@ -62,20 +60,4 @@ public abstract class AbstractIndexer {
     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;
-    }
 }