You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2010/12/15 01:30:32 UTC

svn commit: r1049363 - /shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java

Author: johnh
Date: Wed Dec 15 00:30:32 2010
New Revision: 1049363

URL: http://svn.apache.org/viewvc?rev=1049363&view=rev
Log:
Slight refactor of BasicImageRewriter validation methods allowing easier reuse.


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

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java?rev=1049363&r1=1049362&r2=1049363&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/BasicImageRewriter.java Wed Dec 15 00:30:32 2010
@@ -86,7 +86,6 @@ public class BasicImageRewriter implemen
   /** Parameter used to request resizing will not expand image */
   private static final String PARAM_NO_EXPAND = Param.NO_EXPAND.getKey();
 
-  private static final int DEFAULT_QUALITY = 100;
   private static final int BITS_PER_BYTE = 8;
   private static final Color COLOR_TRANSPARENT = new Color(255, 255, 255, 0);
   public static final String CONTENT_TYPE = "Content-Type";
@@ -283,9 +282,9 @@ public class BasicImageRewriter implemen
 
     try {
        // If the path or MIME type don't match, continue
-       if (!isSupportedContent(response) && !isImage(uri)) {
-         return;
-       }
+      if (!isSupportedImageResult(response, uri)) {
+        return;
+      }
 
       // Content header checking is fast so this is fine to do for every response.
       ImageFormat imageFormat = Sanselan
@@ -468,6 +467,10 @@ public class BasicImageRewriter implemen
     long imageSizeBits = imagePixels * imageInfo.getBitsPerPixel();
     return imageSizeBits > config.getMaxInMemoryBytes() * BITS_PER_BYTE;
   }
+  
+  protected boolean isSupportedImageResult(HttpResponseBuilder response, Uri uri) {
+    return isSupportedContent(response) || isImageUri(uri);
+  }
 
   protected boolean isSupportedContent(HttpResponseBuilder response) {
     return SUPPORTED_MIME_TYPES.contains(response.getHeader(CONTENT_TYPE));
@@ -478,7 +481,7 @@ public class BasicImageRewriter implemen
    *
    *  @param uri the URI to check
    */
-  private boolean isImage(Uri uri) {
+  protected boolean isImageUri(Uri uri) {
     boolean pathExtMatches = false;
     for (String ext: SUPPORTED_FILE_EXTENSIONS) {
       if (uri.getPath().endsWith(ext)) {
@@ -499,7 +502,7 @@ public class BasicImageRewriter implemen
    * MIME-type indicate that image content should be available but we failed to read it, then return
    * an error response.
    */
-  void enforceUnreadableImageRestrictions(Uri uri, HttpResponseBuilder response) {
+  protected void enforceUnreadableImageRestrictions(Uri uri, HttpResponseBuilder response) {
     String contentType = response.getHeader(CONTENT_TYPE);
     if (contentType != null) {
       contentType = contentType.toLowerCase();