X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fmedia%2FMediaHandlerGeneric.java;h=e06098823ddce75bfa319bf0ac15848122c88f70;hb=f4cf2435e11c6566ac3908b4c96d3c4ca70c17ec;hp=d023b3dfb54eb8dc5641782c3807a4a28838c1d9;hpb=63e0ee1fb8038eb6d8f0190cf38c3b3ab2727216;p=mir.git diff --git a/source/mircoders/media/MediaHandlerGeneric.java b/source/mircoders/media/MediaHandlerGeneric.java index d023b3df..e0609882 100755 --- a/source/mircoders/media/MediaHandlerGeneric.java +++ b/source/mircoders/media/MediaHandlerGeneric.java @@ -36,12 +36,11 @@ import mir.media.MediaExc; import mir.media.MediaFailure; import mir.misc.StringUtil; import mir.session.UploadedFile; -import mir.util.FileFunctions; +import mir.util.IORoutines; import javax.servlet.ServletContext; -import java.io.BufferedInputStream; -import java.io.File; import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.InputStream; @@ -62,38 +61,22 @@ import java.io.InputStream; * * @see mir.media.MediaHandler * @author mh - * @version $Id: MediaHandlerGeneric.java,v 1.20.2.7 2004/11/21 22:07:14 zapata Exp $ + * @version $Id: MediaHandlerGeneric.java,v 1.20.2.10 2006/11/12 21:32:13 yossarian Exp $ */ -public class MediaHandlerGeneric extends AbstractMediaHandler -{ +public class MediaHandlerGeneric extends AbstractMediaHandler { protected static MirPropertiesConfiguration configuration = MirPropertiesConfiguration.instance(); protected LoggerWrapper logger = new LoggerWrapper("Media.Generic"); /** {@inheritDoc} */ - public void store(File aFile, Entity aMedia, Entity aMediaType) throws MediaExc, MediaFailure { - try { - FileFunctions.move(aFile, getStorageFile(aMedia, aMediaType)); - - aMedia.setFieldValue("publish_path", getRelativeStorageFile(aMedia, aMediaType)); - aMedia.setFieldValue("size", Long.toString(getStorageFile(aMedia, aMediaType).length())); - aMedia.update(); - } - catch (Throwable e) { - logger.error("MediaHandlerGeneric.set: " + e.toString()); - throw new MediaFailure(e); - } - } - - /** {@inheritDoc} */ public void store(UploadedFile anUploadedFile, Entity aMedia, Entity aMediaType) throws MediaExc, MediaFailure { try { - anUploadedFile.writeToFile(getStorageFile(aMedia, aMediaType)); - - aMedia.setFieldValue("publish_path", getRelativeStorageFile(aMedia, aMediaType)); - aMedia.setFieldValue("size", Long.toString(getStorageFile(aMedia, aMediaType).length())); + anUploadedFile.writeToFile(getMediaStorageFile(aMedia, aMediaType)); + aMedia.setFieldValue("publish_path", getRelativeMediaStoragePath(aMedia, aMediaType)); + aMedia.setFieldValue("size", Long.toString(getMediaStorageFile(aMedia, aMediaType).length())); aMedia.update(); + reportChange(getMediaStorageFile(aMedia, aMediaType).getAbsolutePath()); } catch (Throwable e) { logger.error("MediaHandlerGeneric.set: " + e.toString()); @@ -104,11 +87,12 @@ public class MediaHandlerGeneric extends AbstractMediaHandler /** {@inheritDoc} */ public void store(InputStream anInputStream, Entity aMedia, Entity aMediaType) throws MediaExc, MediaFailure { try { - FileFunctions.copy(anInputStream, getStorageFile(aMedia, aMediaType)); + IORoutines.copyStream(anInputStream, new FileOutputStream(getMediaStorageFile(aMedia, aMediaType))); - aMedia.setFieldValue("publish_path", getRelativeStorageFile(aMedia, aMediaType)); - aMedia.setFieldValue("size", Long.toString(getStorageFile(aMedia, aMediaType).length())); + aMedia.setFieldValue("publish_path", getRelativeMediaStoragePath(aMedia, aMediaType)); + aMedia.setFieldValue("size", Long.toString(getMediaStorageFile(aMedia, aMediaType).length())); aMedia.update(); + reportChange(getMediaStorageFile(aMedia, aMediaType).getAbsolutePath()); } catch (Throwable e) { logger.error("MediaHandlerGeneric.set: " + e.toString()); @@ -116,21 +100,17 @@ public class MediaHandlerGeneric extends AbstractMediaHandler } } + /** {@inheritDoc} */ public void produce(Entity aMedia, Entity aMediaType) throws MediaExc, MediaFailure { - if (!getStorageFile(aMedia, aMediaType).exists()) - throw new MediaExc("error in producing media:: " + getStorageFile(aMedia, aMediaType) + " does not exist!"); + if (!getMediaStorageFile(aMedia, aMediaType).exists()) { + throw new MediaExc("error in producing media:: " + getMediaStorageFile(aMedia, aMediaType) + " does not exist!"); + } } - /** - * Get access to the raw media data by an {@link InputStream} - */ + /** {@inheritDoc} */ public InputStream getMedia(Entity aMedia, Entity aMediaType) throws MediaExc, MediaFailure { - File file = getStorageFile(aMedia, aMediaType); - if (!file.exists()) - throw new MediaExc("error in MirMediaHandler.getMedia(): " + file + " does not exist!"); - try { - return new BufferedInputStream(new FileInputStream(file)); + return new FileInputStream(getMediaStorageFile(aMedia, aMediaType)); } catch (Throwable e) { throw new MediaFailure("MediaHandlerGeneric.getMedia(): " + e.toString(), e); @@ -146,13 +126,13 @@ public class MediaHandlerGeneric extends AbstractMediaHandler String fileName = aMediaEntity.getId() + "." + aMediaType.getFieldValue("name"); return servletContext.getMimeType(fileName); - }; + } - public String getStoragePath() { + public String getBaseStoragePath() { return configuration.getString("Producer.Media.Path"); } - public String getIconStoragePath() { + public String getBaseIconStoragePath() { return configuration.getString("Producer.Image.IconPath"); }