serious memory leak in the producer subsystem fixed
[mir.git] / source / mircoders / entity / EntityImages.java
index eb6392a..019ee22 100755 (executable)
 
 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;
-// FIXME: delete this when finished testing ImageMagickImageProcessor
-//import mir.media.image.JAIImageProcessor;
-import mir.media.image.ImageMagickImageProcessor;
-
 public class EntityImages extends EntityUploadedMedia
 {
   private int maxImageSize = configuration.getInt("Producer.Image.MaxSize");
@@ -53,8 +50,6 @@ public class EntityImages extends EntityUploadedMedia
   public EntityImages()
   {
     super();
-
-    logger = new LoggerWrapper("Entity.UploadedMedia.Images");
   }
 
   /**
@@ -75,29 +70,24 @@ public class EntityImages extends EntityUploadedMedia
   public void setImage(InputStream anInputStream, String type) throws DatabaseFailure {
     if (anInputStream != null) {
       try {
-        // FIXME: delete this when finished testing ImageMagickImageProcessor
-        //ByteArrayOutputStream inputData = new ByteArrayOutputStream();
-        //StreamCopier.copy(anInputStream, inputData);
-
         ImageProcessor processor = new ImageMagickImageProcessor(anInputStream);
-        // FIXME: delete this when finished testing ImageMagickImageProcessor
-        //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();
       }