X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fentity%2FEntityImages.java;h=019ee22cf2f1c3e1d885493b0f89e2889a0d32c5;hb=d74a52d5f65389e5cf89d3fcf14d07afbb78a9f9;hp=360394c78d22de83d2f526dd7ae26661b5e97d9c;hpb=95c2e3a74f492f6f61d4dbe8bb47996f43af0627;p=mir.git diff --git a/source/mircoders/entity/EntityImages.java b/source/mircoders/entity/EntityImages.java index 360394c7..019ee22c 100755 --- a/source/mircoders/entity/EntityImages.java +++ b/source/mircoders/entity/EntityImages.java @@ -30,16 +30,15 @@ package mircoders.entity; +import mir.log.LoggerWrapper; +import mir.media.image.ImageMagickImageProcessor; +import mir.media.image.ImageProcessor; +import mir.storage.DatabaseFailure; + import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.sql.SQLException; -import mir.log.LoggerWrapper; -import mir.storage.DatabaseFailure; -import mir.util.StreamCopier; -import mir.media.image.ImageProcessor; -import mir.media.image.JAIImageProcessor; - public class EntityImages extends EntityUploadedMedia { private int maxImageSize = configuration.getInt("Producer.Image.MaxSize"); @@ -51,8 +50,6 @@ public class EntityImages extends EntityUploadedMedia public EntityImages() { super(); - - logger = new LoggerWrapper("Entity.UploadedMedia.Images"); } /** @@ -73,27 +70,25 @@ public class EntityImages extends EntityUploadedMedia public void setImage(InputStream anInputStream, String type) throws DatabaseFailure { if (anInputStream != null) { try { - ByteArrayOutputStream inputData = new ByteArrayOutputStream(); - StreamCopier.copy(anInputStream, inputData); + ImageProcessor processor = new ImageMagickImageProcessor(anInputStream); - ImageProcessor processor = new JAIImageProcessor(inputData.toByteArray()); processor.descaleImage(maxImageSize, minDescaleRatio, minDescaleReduction); ByteArrayOutputStream imageData = new ByteArrayOutputStream(); processor.writeScaledData(imageData, type); database.setBinaryField("image_data", getId(), imageData.toByteArray()); - setFieldValue("img_height", new Integer(processor.getScaledHeight()).toString()); - setFieldValue("img_width", new Integer(processor.getScaledWidth()).toString()); + setFieldValue("img_height", Integer.toString(processor.getScaledHeight())); + setFieldValue("img_width", Integer.toString(processor.getScaledWidth())); imageData.reset(); processor.descaleImage(maxIconSize, minDescaleRatio, minDescaleReduction); processor.writeScaledData(imageData, type); database.setBinaryField("icon_data", getId(), imageData.toByteArray()); - setFieldValue("icon_height", new Integer(processor.getScaledHeight()).toString()); - setFieldValue("icon_width", new Integer(processor.getScaledWidth()).toString()); - + setFieldValue("icon_height", Integer.toString(processor.getScaledHeight())); + setFieldValue("icon_width", Integer.toString(processor.getScaledWidth())); + processor.cleanup(); update(); } catch (Exception e) {