import mir.entity.Entity;\r
import mir.log.LoggerWrapper;\r
import mir.media.MirMedia;\r
-import mir.media.MirMediaException;\r
+import mir.media.MediaExc;\r
+import mir.media.MediaFailure;\r
import mir.misc.FileUtil;\r
import mir.misc.StringUtil;\r
import freemarker.template.SimpleList;\r
*\r
* @see mir.media.MirMedia\r
* @author mh <mh@nadir.org>\r
- * @version $Id: MediaHandlerGeneric.java,v 1.16 2003/03/06 05:40:39 zapata Exp $\r
+ * @version $Id: MediaHandlerGeneric.java,v 1.17 2003/03/09 03:53:11 zapata Exp $\r
*/\r
\r
public class MediaHandlerGeneric implements MirMedia\r
logger = new LoggerWrapper("Media.Generic");\r
}\r
\r
- public void set (InputStream in, Entity ent, Entity mediaTypeEnt ) throws MirMediaException {\r
+ public void set (InputStream in, Entity ent, Entity mediaTypeEnt ) throws MediaExc, MediaFailure {\r
String ext = mediaTypeEnt.getValue("name");\r
String mediaFname = ent.getId() + "." + ext;\r
String date = ent.getValue("date");\r
}\r
catch (Throwable e) {\r
logger.error("MediaHandlerGeneric.set: " + e.toString());\r
- throw new MirMediaException(e.toString());\r
+ throw new MediaFailure(e);\r
}\r
}\r
\r
- public void produce (Entity ent, Entity mediaTypeEnt )\r
- throws MirMediaException {\r
-\r
+ public void produce (Entity ent, Entity mediaTypeEnt ) throws MediaExc, MediaFailure {\r
//check first if the media file exist since produced\r
//location is also the storage location\r
+\r
String date = ent.getValue("date");\r
String datePath = StringUtil.webdbDate2path(date);\r
String relPath = datePath+ent.getId()+"."+mediaTypeEnt.getValue("name");\r
String fname = getStoragePath()+relPath;\r
if(! new File(fname).exists())\r
- throw new MirMediaException("error in MirMedia.produce(): "+relPath+\r
- " does not exist!");\r
+ throw new MediaExc("error in MirMedia.produce(): " + relPath + " does not exist!");\r
}\r
\r
- public InputStream getMedia (Entity ent, Entity mediaTypeEnt)\r
- throws MirMediaException {\r
+ public InputStream getMedia (Entity ent, Entity mediaTypeEnt) throws MediaExc, MediaFailure {\r
String publishPath = ent.getValue("publish_path");\r
String fname = getStoragePath()+publishPath;\r
File f = new File(fname);\r
if(! f.exists())\r
- throw new MirMediaException("error in MirMedia.getMedia(): "+fname+\r
- " does not exist!");\r
- FileInputStream in;\r
+ throw new MediaExc("error in MirMedia.getMedia(): " + fname + " does not exist!");\r
+\r
+ FileInputStream inputStream;\r
try {\r
- in = new FileInputStream(f);\r
- } catch (IOException e) {\r
- throw new MirMediaException("getMedia(): "+e.toString());\r
+ inputStream = new FileInputStream(f);\r
}\r
- return in;\r
+ catch (Throwable e) {\r
+ throw new MediaFailure("MediaHandlerGeneric.getMedia(): " + e.toString(), e);\r
+ }\r
+\r
+ return inputStream;\r
}\r
\r
- public InputStream getIcon (Entity ent) throws MirMediaException {\r
+ public InputStream getIcon (Entity ent) throws MediaExc, MediaFailure {\r
return null;\r
}\r
\r