Author: johnh
Date: Mon Aug  2 23:05:49 2010
New Revision: 981702

URL: http://svn.apache.org/viewvc?rev=981702&view=rev
Log:
Alternate implementation for only rewriting in the accel case when content is 
non-empty.


Modified:
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AccelResponseRewriterRegistry.java
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java
    
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DomWalkerTest.java

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AccelResponseRewriterRegistry.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AccelResponseRewriterRegistry.java?rev=981702&r1=981701&r2=981702&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AccelResponseRewriterRegistry.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/AccelResponseRewriterRegistry.java
 Mon Aug  2 23:05:49 2010
@@ -19,6 +19,10 @@ package org.apache.shindig.gadgets.rewri
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shindig.gadgets.http.HttpRequest;
+import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
 import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
 
 import java.util.List;
@@ -34,4 +38,17 @@ public class AccelResponseRewriterRegist
                                        GadgetHtmlParser htmlParser) {
     super(rewriters, htmlParser);
   }
+
+  /** {...@inheritdoc} */
+  @Override
+  public HttpResponse rewriteHttpResponse(HttpRequest req, HttpResponse resp)
+      throws RewritingException {
+    HttpResponseBuilder builder = new HttpResponseBuilder(resp);
+
+    if (StringUtils.isEmpty(builder.getContent())) {
+      return resp;
+    }
+
+    return super.rewriteHttpResponse(req, resp);
+  }
 }

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java?rev=981702&r1=981701&r2=981702&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java
 Mon Aug  2 23:05:49 2010
@@ -140,7 +140,7 @@ public final class DomWalker {
 
     public void rewrite(HttpRequest request, HttpResponseBuilder builder)
         throws RewritingException {
-      if (RewriterUtils.isHtml(request, builder) && 
!StringUtils.isEmpty(builder.getContent())) {
+      if (RewriterUtils.isHtml(request, builder)) {
         Gadget context = makeGadget(request);
         rewrite(makeVisitors(context, request.getGadget()), context, builder);
       }

Modified: 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DomWalkerTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DomWalkerTest.java?rev=981702&r1=981701&r2=981702&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DomWalkerTest.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DomWalkerTest.java
 Mon Aug  2 23:05:49 2010
@@ -19,10 +19,7 @@
 package org.apache.shindig.gadgets.rewrite;
 
 import com.google.common.collect.Lists;
-import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.Gadget;
-import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponseBuilder;
 import org.junit.Before;
 import org.junit.Test;
 import org.w3c.dom.Node;
@@ -268,21 +265,6 @@ public class DomWalkerTest extends DomWa
     assertTrue(exceptionCaught);
   }
 
-  // Throws UnsupportedOperationException if rewrite() method does not stop
-  // on seeing empty content.
-  @Test
-  public void rewriteDoesNothingWhenContentIsEmpty() throws Exception {
-    DomWalker.Rewriter rewriter = getRewriter();
-
-    HttpRequest req = new HttpRequest(Uri.parse("http://www.example.org";));
-    HttpResponseBuilder builder = new HttpResponseBuilder()
-        .setResponse(null)
-        .addHeader("Content-Type", "text/html");
-    rewriter.rewrite(req, builder);
-
-    assertEquals("", builder.getContent());
-  }
-
   private DomWalker.Rewriter getRewriter(DomWalker.Visitor... visitors) {
     return new DomWalker.Rewriter(Lists.newArrayList(visitors));
   }


Reply via email to