Author: lryan
Date: Thu Jul 16 02:16:12 2009
New Revision: 794496

URL: http://svn.apache.org/viewvc?rev=794496&view=rev
Log:
Fix for regression that directly calls ImageIO.read instead of calling the 
format specific readXXX methods.

Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java?rev=794496&r1=794495&r2=794496&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java
 Thu Jul 16 02:16:12 2009
@@ -157,7 +157,7 @@
       }
       int originalContentSize = response.getContentLength();
       totalSourceImageSize.addAndGet(originalContentSize);
-      BufferedImage image = ImageIO.read(response.getResponse());
+      BufferedImage image = readImage(imageFormat, response);
 
       if (isResizeRequested) {
 
@@ -411,6 +411,21 @@
     return totalRewrittenImageBytes.get();
   }
 
+  protected BufferedImage readImage(ImageFormat imageFormat, HttpResponse 
response)
+      throws ImageReadException, IOException{
+    if (imageFormat == ImageFormat.IMAGE_FORMAT_GIF) {
+      return readGif(response);
+    } else if (imageFormat == ImageFormat.IMAGE_FORMAT_PNG) {
+      return readPng(response);
+    } else if (imageFormat == ImageFormat.IMAGE_FORMAT_JPEG) {
+      return readJpeg(response);
+    } else if (imageFormat == ImageFormat.IMAGE_FORMAT_BMP) {
+      return readBmp(response);
+    } else {
+      throw new ImageReadException("Unsupported format " + imageFormat.name);
+    }
+  }
+
   // The following methods are intended to be overridden by implementors if 
they need to
   // implement additional security constraints or use their own more efficient
   // image reading mechanisms


Reply via email to