X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=source%2Fmircoders%2Fmedia%2FMediaHandlerGeneric.java;h=e31af291e45a083b99741532a796d43cd1d92be3;hb=1bb7abb8f82c9bc0287fb3e226a0ea5d805db2df;hp=66b11cff009d7c4b5c593cedfa4148e2535a3817;hpb=77b8f79d3873d20aa10bb775e03047cd6a9de0bf;p=mir.git diff --git a/source/mircoders/media/MediaHandlerGeneric.java b/source/mircoders/media/MediaHandlerGeneric.java index 66b11cff..e31af291 100755 --- a/source/mircoders/media/MediaHandlerGeneric.java +++ b/source/mircoders/media/MediaHandlerGeneric.java @@ -41,7 +41,8 @@ import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; import mir.entity.Entity; import mir.log.LoggerWrapper; import mir.media.MirMedia; -import mir.media.MirMediaException; +import mir.media.MediaExc; +import mir.media.MediaFailure; import mir.misc.FileUtil; import mir.misc.StringUtil; import freemarker.template.SimpleList; @@ -64,7 +65,7 @@ import freemarker.template.SimpleList; * * @see mir.media.MirMedia * @author mh - * @version $Id: MediaHandlerGeneric.java,v 1.16 2003/03/06 05:40:39 zapata Exp $ + * @version $Id: MediaHandlerGeneric.java,v 1.17 2003/03/09 03:53:11 zapata Exp $ */ public class MediaHandlerGeneric implements MirMedia @@ -89,7 +90,7 @@ public class MediaHandlerGeneric implements MirMedia logger = new LoggerWrapper("Media.Generic"); } - public void set (InputStream in, Entity ent, Entity mediaTypeEnt ) throws MirMediaException { + public void set (InputStream in, Entity ent, Entity mediaTypeEnt ) throws MediaExc, MediaFailure { String ext = mediaTypeEnt.getValue("name"); String mediaFname = ent.getId() + "." + ext; String date = ent.getValue("date"); @@ -103,42 +104,41 @@ public class MediaHandlerGeneric implements MirMedia } catch (Throwable e) { logger.error("MediaHandlerGeneric.set: " + e.toString()); - throw new MirMediaException(e.toString()); + throw new MediaFailure(e); } } - public void produce (Entity ent, Entity mediaTypeEnt ) - throws MirMediaException { - + public void produce (Entity ent, Entity mediaTypeEnt ) throws MediaExc, MediaFailure { //check first if the media file exist since produced //location is also the storage location + String date = ent.getValue("date"); String datePath = StringUtil.webdbDate2path(date); String relPath = datePath+ent.getId()+"."+mediaTypeEnt.getValue("name"); String fname = getStoragePath()+relPath; if(! new File(fname).exists()) - throw new MirMediaException("error in MirMedia.produce(): "+relPath+ - " does not exist!"); + throw new MediaExc("error in MirMedia.produce(): " + relPath + " does not exist!"); } - public InputStream getMedia (Entity ent, Entity mediaTypeEnt) - throws MirMediaException { + public InputStream getMedia (Entity ent, Entity mediaTypeEnt) throws MediaExc, MediaFailure { String publishPath = ent.getValue("publish_path"); String fname = getStoragePath()+publishPath; File f = new File(fname); if(! f.exists()) - throw new MirMediaException("error in MirMedia.getMedia(): "+fname+ - " does not exist!"); - FileInputStream in; + throw new MediaExc("error in MirMedia.getMedia(): " + fname + " does not exist!"); + + FileInputStream inputStream; try { - in = new FileInputStream(f); - } catch (IOException e) { - throw new MirMediaException("getMedia(): "+e.toString()); + inputStream = new FileInputStream(f); } - return in; + catch (Throwable e) { + throw new MediaFailure("MediaHandlerGeneric.getMedia(): " + e.toString(), e); + } + + return inputStream; } - public InputStream getIcon (Entity ent) throws MirMediaException { + public InputStream getIcon (Entity ent) throws MediaExc, MediaFailure { return null; }