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);
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