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/08/03 01:05:50 UTC

svn commit: r981702 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/rewrite/ test/java/org/apache/shindig/gadgets/rewrite/

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));
   }