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