1.1 restoration
[mir.git] / source / mircoders / module / ModuleMediaType.java
index 8a75c37..19850a5 100755 (executable)
 
 package mircoders.module;
 
-import java.util.List;
-
 import mir.entity.Entity;
 import mir.entity.EntityList;
 import mir.log.LoggerWrapper;
 import mir.module.AbstractModule;
-import mir.module.ModuleExc;
-import mir.module.ModuleFailure;
-import mir.storage.StorageObject;
 import mir.util.JDBCStringRoutines;
 import mir.util.StringRoutines;
 import mircoders.storage.DatabaseMediaType;
 
+import java.util.List;
+
 public class ModuleMediaType extends AbstractModule {
   static LoggerWrapper logger = new LoggerWrapper("Module.Content");
 
   public ModuleMediaType() {
-    this (DatabaseMediaType.getInstance());
+    super(DatabaseMediaType.getInstance());
   }
 
-  public ModuleMediaType(StorageObject aStorage) {
-    this.storage = aStorage;
-  }
-
-  public Entity findMediaTypeForMimeType(String aMimeType) throws ModuleExc, ModuleFailure {
+  public Entity findMediaTypeForMimeType(String aMimeType) {
     List contentTypeParts = StringRoutines.splitString(aMimeType, "/");
 
     if (contentTypeParts.size()!=2) {
-      throw new InvalidMimeTypeExc("Invalid mimetype: " + aMimeType, aMimeType);
+      return null;
     }
     String mimeTypeMajor = (String) contentTypeParts.get(0);
 
@@ -69,34 +62,20 @@ public class ModuleMediaType extends AbstractModule {
       mediaTypes = DatabaseMediaType.getInstance().selectByWhereClause("mime_type = '"+JDBCStringRoutines.escapeStringLiteral(mimeTypeMajor+"/*")+"'");
     }
     if (mediaTypes.size() == 0) {
-      throw new UnsupportedMimeTypeExc("Unsupported mimetype: " + aMimeType, aMimeType);
+      return null;
     }
 
     return (Entity) mediaTypes.elementAt(0);
   }
 
-  public static class MimeTypeExc extends ModuleExc {
-    private String mimeType;
-
-    public MimeTypeExc(String aMessage, String aMimeType) {
-      super (aMessage);
-      mimeType = aMimeType;
-    }
-
-    public String getMimeType() {
-      return mimeType;
-    }
-  }
+  public Entity findMediaTypeForExtension(String anExtension) {
+    EntityList mediaTypes = DatabaseMediaType.getInstance().selectByWhereClause("name = '"+JDBCStringRoutines.escapeStringLiteral(anExtension)+"'");
 
-  public static class UnsupportedMimeTypeExc extends MimeTypeExc {
-    public UnsupportedMimeTypeExc(String aMessage, String aMimeType) {
-      super(aMessage, aMimeType);
+    if (mediaTypes.size() == 0) {
+      return null;
     }
-  }
-
-  public static class InvalidMimeTypeExc extends MimeTypeExc {
-    public InvalidMimeTypeExc(String aMessage, String aMimeType) {
-      super(aMessage, aMimeType);
+    else {
+      return (Entity) mediaTypes.elementAt(0);
     }
   }
 }
\ No newline at end of file