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