X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fmedia%2FMediaHandlerImagesExtern.java;h=bb00c94fb06d4d3f8362d59d7ae62aafd45bef30;hb=d3e3f0ffeefd8692277d9a82af477a64ae85e118;hp=ac964787f3504fa5d4b8e54081943b249b8b4200;hpb=6b6b6215ebe066b81f1fa6b0c71a532ca7b4fc3f;p=mir.git diff --git a/source/mircoders/media/MediaHandlerImagesExtern.java b/source/mircoders/media/MediaHandlerImagesExtern.java index ac964787..bb00c94f 100755 --- a/source/mircoders/media/MediaHandlerImagesExtern.java +++ b/source/mircoders/media/MediaHandlerImagesExtern.java @@ -30,19 +30,20 @@ package mircoders.media; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; - import mir.entity.Entity; import mir.log.LoggerWrapper; import mir.media.MediaExc; import mir.media.MediaFailure; -import mir.media.image.ImageProcessor; import mir.media.image.ImageMagickImageProcessor; +import mir.media.image.ImageProcessor; import mir.misc.StringUtil; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; + /** * Image handler that stores images outside of the database. * @@ -50,8 +51,7 @@ import mir.misc.StringUtil; * @version 1.0 */ -public class MediaHandlerImagesExtern extends MediaHandlerGeneric -{ +public class MediaHandlerImagesExtern extends MediaHandlerGeneric { private int maxIconSize; private float minDescaleRatio; private int minDescaleReduction; @@ -65,11 +65,10 @@ public class MediaHandlerImagesExtern extends MediaHandlerGeneric minDescaleReduction = configuration.getInt("Producer.Image.MinDescaleReduction"); } - public void produce(Entity anImageEntity, Entity mediaTypeEnt) throws MediaExc, MediaFailure { - try { + public void produce(Entity anImageEntity, Entity aMediaTypeEntity) throws MediaExc, MediaFailure { String date = anImageEntity.getFieldValue("date"); String datePath = StringUtil.webdbDate2path(date); - String ext = "." + mediaTypeEnt.getFieldValue("name"); + String ext = "." + aMediaTypeEntity.getFieldValue("name"); String fileBasePath = datePath + anImageEntity.getId(); String filePath = fileBasePath + ext; String iconPath = getBaseIconStoragePath() + fileBasePath + ".jpg"; @@ -83,35 +82,39 @@ public class MediaHandlerImagesExtern extends MediaHandlerGeneric throw new MediaExc("error in MediaHandlerImagesExtern.execute(): " + filePath + " does not exist!"); } else { - ImageProcessor processor = new ImageMagickImageProcessor(imageFile); + ImageProcessor processor; + try { + processor = new ImageMagickImageProcessor(imageFile); + } + catch (IOException e) { + throw new MediaFailure(e); + } processor.descaleImage(maxIconSize, minDescaleRatio, minDescaleReduction); File dir = new File(iconFile.getParent()); - if (dir!=null && !dir.exists()){ - dir.mkdirs(); + if (dir!=null && !dir.exists()){ + dir.mkdirs(); } processor.writeScaledData(iconFile, "JPEG"); - anImageEntity.setFieldValue("img_height", new Integer(processor.getHeight()).toString()); - anImageEntity.setFieldValue("img_width", new Integer(processor.getWidth()).toString()); + anImageEntity.setFieldValue("img_height", + Integer.toString(processor.getHeight())); + anImageEntity.setFieldValue("img_width", + Integer.toString(processor.getWidth())); - anImageEntity.setFieldValue("icon_height", new Integer(processor.getScaledHeight()).toString()); - anImageEntity.setFieldValue("icon_width", new Integer(processor.getScaledWidth()).toString()); + anImageEntity.setFieldValue("icon_height", + Integer.toString(processor.getScaledHeight())); + anImageEntity.setFieldValue("icon_width", + Integer.toString(processor.getScaledWidth())); processor.cleanup(); anImageEntity.setFieldValue("icon_path", iconPath); anImageEntity.setFieldValue("publish_path", filePath); anImageEntity.update(); - - + reportChange(iconStoragePath); + reportChange(imageFilePath); } - } - catch(Throwable t) { - logger.error("MediaHandlerImagesExtern.execute: " + t.toString()); - t.printStackTrace(logger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE)); - throw new MediaFailure(t.getMessage(), t); - } }