You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by et...@apache.org on 2008/09/30 23:22:55 UTC

svn commit: r700583 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/ main/java/org/apache/shindig/gadgets/render/ main/java/org/apache/shindig/gadgets/rewrite/ main/java/org/apache/shindig/gadgets/rewrite/lexer/ tes...

Author: etnu
Date: Tue Sep 30 14:22:55 2008
New Revision: 700583

URL: http://svn.apache.org/viewvc?rev=700583&view=rev
Log:
Fixed bug causing incorrect link rewriting to take place due to confusion between MutableContent.setContent and Gadget.setContent by removing Gadget.setContent and making the rewriter return a String. Now gadget rewriting looks a lot closer to http request rewriting.

Originally reported by David Citron.


Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/HtmlRenderer.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistry.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterRegistry.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistry.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/lexer/DefaultContentRewriter.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/HtmlRendererTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistryTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/Gadget.java Tue Sep 30 14:22:55 2008
@@ -31,8 +31,6 @@
   private GadgetSpec spec;
   private Preloads preloads;
   private View currentView;
-  private String content;
-
   /**
    * @param context The request that the gadget is being processed for.
    */
@@ -58,18 +56,6 @@
   }
 
   /**
-   * Sets the current content of the rendered output of this gadget.
-   */
-  public Gadget setContent(String content) {
-    this.content = content;
-    return this;
-  }
-
-  public String getContent() {
-    return content;
-  }
-
-  /**
    * @param preloads The preloads for the gadget that is being processed.
    */
   public Gadget setPreloads(Preloads preloads) {

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/HtmlRenderer.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/HtmlRenderer.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/HtmlRenderer.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/HtmlRenderer.java Tue Sep 30 14:22:55 2008
@@ -74,7 +74,7 @@
 
       if (view.getHref() == null) {
         gadget.setPreloads(preloads);
-        return doRewriting(gadget, view.getContent());
+        return rewriter.rewriteGadget(gadget, view.getContent());
       } else {
         // TODO: Add current url to GadgetContext to support transitive proxying.
         HttpRequest request = new HttpRequest(Uri.fromJavaUri(view.getHref()))
@@ -88,16 +88,10 @@
           throw new RenderingException("Unable to reach remote host. HTTP status " +
               response.getHttpStatusCode());
         }
-        return doRewriting(gadget, response.getResponseAsString());
+        return rewriter.rewriteGadget(gadget, response.getResponseAsString());
       }
     } catch (GadgetException e) {
       throw new RenderingException(e);
     }
   }
-
-  private String doRewriting(Gadget gadget, String content) throws GadgetException {
-    gadget.setContent(content);
-    rewriter.rewriteGadget(gadget);
-    return gadget.getContent();
-  }
 }

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistry.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistry.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistry.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistry.java Tue Sep 30 14:22:55 2008
@@ -66,8 +66,8 @@
     this.minCacheTtl = minCacheTtl;
   }
 
-  protected String getGadgetCacheKey(Gadget gadget) {
-    return getRewritersKey() + ':' + HashUtil.checksum(gadget.getContent().getBytes());
+  protected String getGadgetCacheKey(Gadget gadget, String content) {
+    return getRewritersKey() + ':' + HashUtil.checksum(content.getBytes());
   }
 
   protected String getHttpResponseCacheKey(HttpRequest req, HttpResponse response) {
@@ -90,23 +90,21 @@
 
   /** {@inheritDoc} */
   @Override
-  public boolean rewriteGadget(Gadget gadget) {
+  public String rewriteGadget(Gadget gadget, String content) {
     if (gadget.getContext().getIgnoreCache()) {
-      return super.rewriteGadget(gadget);
+      return super.rewriteGadget(gadget, content);
     }
 
-    String cacheKey = getGadgetCacheKey(gadget);
+    String cacheKey = getGadgetCacheKey(gadget, content);
     String cached = rewrittenCache.getElement(cacheKey);
 
     if (cached != null) {
-      gadget.setContent(cached);
-      return true;
+      return cached;
     }
 
-    MutableContent mc = getMutableContent(gadget.getContent());
+    MutableContent mc = getMutableContent(content);
 
     long cacheTtl = Long.MAX_VALUE;
-    String original = gadget.getContent();
     for (ContentRewriter rewriter : getRewriters()) {
       RewriterResults rr = rewriter.rewrite(gadget, mc);
       if (rr == null) {
@@ -116,16 +114,14 @@
       }
     }
 
-    gadget.setContent(mc.getContent());
-
     if (cacheTtl >= minCacheTtl) {
       // Only cache if the cacheTtl is greater than the minimum time configured for doing so.
       // This prevents cache churn and may be more efficient when rewriting is cheaper
       // than a cache lookup.
-      rewrittenCache.addElementWithTtl(cacheKey, gadget.getContent(), cacheTtl);
+      rewrittenCache.addElementWithTtl(cacheKey, content, cacheTtl);
     }
 
-    return !original.equals(gadget.getContent());
+    return content;
   }
 
   /** {@inheritDoc} */

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterRegistry.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterRegistry.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterRegistry.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ContentRewriterRegistry.java Tue Sep 30 14:22:55 2008
@@ -31,11 +31,12 @@
 public interface ContentRewriterRegistry {
   /**
    * Rewrites a {@code Gadget} object given the registered rewriters.
-   * @param gadget Gadget object to rewrite
-   * @return True if rewriting occurred
+   * @param gadget Gadget object to use as a rewriting context.
+   * @param content The content to be rewritten.
+   * @return The rewritten content.
    * @throws GadgetException Potentially passed through from rewriters
    */
-  boolean rewriteGadget(Gadget gadget) throws GadgetException;
+  String rewriteGadget(Gadget gadget, String content) throws GadgetException;
 
   /**
    * Rewrites an {@code HttpResponse} object with the given request as context,

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistry.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistry.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistry.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistry.java Tue Sep 30 14:22:55 2008
@@ -49,24 +49,20 @@
   }
 
   /** {@inheritDoc} */
-  public boolean rewriteGadget(Gadget gadget) {
-    String originalContent = gadget.getContent();
-
-    if (originalContent == null) {
+  public String rewriteGadget(Gadget gadget, String content) {
+    if (content == null) {
       // Nothing to rewrite.
-      return false;
+      return null;
     }
 
-    MutableContent mc = getMutableContent(originalContent);
+    MutableContent mc = getMutableContent(content);
 
     for (ContentRewriter rewriter : rewriters) {
       mc.getContent();
       rewriter.rewrite(gadget, mc);
     }
 
-    String currentContent = mc.getContent();
-    gadget.setContent(currentContent);
-    return !originalContent.equals(currentContent);
+    return mc.getContent();
   }
 
   /** {@inheritDoc} */

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/lexer/DefaultContentRewriter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/lexer/DefaultContentRewriter.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/lexer/DefaultContentRewriter.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/lexer/DefaultContentRewriter.java Tue Sep 30 14:22:55 2008
@@ -114,7 +114,7 @@
     StringWriter sw = new StringWriter();
     GadgetSpec spec = gadget.getSpec();
     if (rewrite(spec, spec.getUrl(), new StringReader(content.getContent()), "text/html", sw)) {
-      gadget.setContent(sw.toString());
+      content.setContent(sw.toString());
     }
     return RewriterResults.cacheableIndefinitely();
   }

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/HtmlRendererTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/HtmlRendererTest.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/HtmlRendererTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/HtmlRendererTest.java Tue Sep 30 14:22:55 2008
@@ -193,9 +193,9 @@
   private static class FakeContentRewriterRegistry implements ContentRewriterRegistry {
     private boolean wasRewritten = false;
 
-    public boolean rewriteGadget(Gadget gadget) {
+    public String rewriteGadget(Gadget gadget, String content) {
       wasRewritten = true;
-      return true;
+      return content;
     }
 
     public HttpResponse rewriteHttpResponse(HttpRequest req, HttpResponse resp) {

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/RenderingContentRewriterTest.java Tue Sep 30 14:22:55 2008
@@ -94,31 +94,30 @@
     return new Gadget()
         .setContext(new GadgetContext())
         .setPreloads(new NullPreloads())
-        .setSpec(spec)
-        .setContent(spec.getView("default").getContent());
+        .setSpec(spec);
   }
 
-  private Gadget makeGadgetWithContent(String content) throws GadgetException {
+  private Gadget makeDefaultGadget() throws GadgetException {
     String defaultXml = "<Module><ModulePrefs title=''/><Content type='html'/></Module>";
-    return makeGadgetWithSpec(defaultXml).setContent(content);
+    return makeGadgetWithSpec(defaultXml);
   }
 
-  private void rewrite(Gadget gadget) {
+  private String rewrite(Gadget gadget, String content) {
     MutableContent mc = new MutableContent(null);
-    mc.setContent(gadget.getContent());
+    mc.setContent(content);
     assertEquals(0, rewriter.rewrite(gadget, mc).getCacheTtl());
-    gadget.setContent(mc.getContent());
+    return mc.getContent();
   }
 
   @Test
   public void defaultOutput() throws Exception {
-    Gadget gadget = makeGadgetWithContent(BODY_CONTENT);
+    Gadget gadget = makeDefaultGadget();
 
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, BODY_CONTENT);
 
-    Matcher matcher = DOCUMENT_SPLIT_PATTERN.matcher(gadget.getContent());
+    Matcher matcher = DOCUMENT_SPLIT_PATTERN.matcher(rewritten);
     assertTrue("Output is not valid HTML.", matcher.matches());
     assertTrue("Missing opening html tag", matcher.group(BEFORE_HEAD_GROUP).contains("<html>"));
     assertTrue("Default head content is missing.",
@@ -157,15 +156,15 @@
       }
     };
 
-    Gadget gadget = makeGadgetWithContent(doc)
+    Gadget gadget = makeDefaultGadget()
         .setContext(context);
 
     featureRegistry.addInline("foo", "does-not-matter");
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, doc);
 
-    Matcher matcher = DOCUMENT_SPLIT_PATTERN.matcher(gadget.getContent());
+    Matcher matcher = DOCUMENT_SPLIT_PATTERN.matcher(rewritten);
     assertTrue("Output is not valid HTML.", matcher.matches());
     assertTrue("DOCTYPE not preserved", matcher.group(BEFORE_HEAD_GROUP).contains(docType));
     assertTrue("Missing opening html tag", matcher.group(BEFORE_HEAD_GROUP).contains("<html>"));
@@ -195,16 +194,16 @@
 
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
     assertTrue("Bi-directional locale settings not preserved.",
-        gadget.getContent().contains("<body dir='rtl'>"));
+        rewritten.contains("<body dir='rtl'>"));
   }
 
-  private Set<String> getInjectedScript(Gadget gadget) {
+  private Set<String> getInjectedScript(String content) {
     Pattern featurePattern
         = Pattern.compile("(?:.*)<script src=\"\\/js\\/(.*?)\"><\\/script>(?:.*)", Pattern.DOTALL);
-    Matcher matcher = featurePattern.matcher(gadget.getContent());
+    Matcher matcher = featurePattern.matcher(content);
 
     assertTrue("Forced scripts not injected.", matcher.matches());
 
@@ -238,9 +237,9 @@
     featureRegistry.addInline("baz", "does-not-matter");
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    Set<String> actual = getInjectedScript(gadget);
+    Set<String> actual = getInjectedScript(rewritten);
     Set<String> expected = Sets.immutableSortedSet("foo", "bar", "baz");
     assertEquals(expected, actual);
   }
@@ -259,9 +258,9 @@
     featureRegistry.addInline("foo", "foo_content();");
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    assertTrue("Requested scripts not inlined.", gadget.getContent().contains("foo_content();"));
+    assertTrue("Requested scripts not inlined.", rewritten.contains("foo_content();"));
   }
 
   @Test
@@ -291,12 +290,12 @@
     featureRegistry.addInline("baz", "does-not-matter");
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    Set<String> actual = getInjectedScript(gadget);
+    Set<String> actual = getInjectedScript(rewritten);
     Set<String> expected = Sets.immutableSortedSet("bar", "baz");
     assertEquals(expected, actual);
-    assertTrue("Requested scripts not inlined.", gadget.getContent().contains("foo_content();"));
+    assertTrue("Requested scripts not inlined.", rewritten.contains("foo_content();"));
   }
 
   @Test
@@ -326,20 +325,20 @@
     featureRegistry.addInline("baz", "does-not-matter");
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    Set<String> actual = getInjectedScript(gadget);
+    Set<String> actual = getInjectedScript(rewritten);
     Set<String> expected = Sets.immutableSortedSet("baz");
     assertEquals(expected, actual);
-    assertTrue("Requested scripts not inlined.", gadget.getContent().contains("foo_content();"));
+    assertTrue("Requested scripts not inlined.", rewritten.contains("foo_content();"));
     assertTrue("Forced external file not forced.",
-        gadget.getContent().contains("<script src=\"http://example.org/external.js\">"));
+        rewritten.contains("<script src=\"http://example.org/external.js\">"));
   }
 
-  private JSONObject getConfigJson(Gadget gadget) throws JSONException {
+  private JSONObject getConfigJson(String content) throws JSONException {
     Pattern prefsPattern
         = Pattern.compile("(?:.*)gadgets\\.config\\.init\\((.*)\\);(?:.*)", Pattern.DOTALL);
-    Matcher matcher = prefsPattern.matcher(gadget.getContent());
+    Matcher matcher = prefsPattern.matcher(content);
     assertTrue("gadgets.config.init not invoked.", matcher.matches());
     return new JSONObject(matcher.group(1));
   }
@@ -362,9 +361,9 @@
     expect(config.getJsonObject("default", "gadgets.features")).andReturn(conf);
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    JSONObject json = getConfigJson(gadget);
+    JSONObject json = getConfigJson(rewritten);
     assertEquals("blah", json.get("foo"));
   }
 
@@ -397,9 +396,9 @@
     expect(config.getJsonObject("default", "gadgets.features")).andReturn(conf);
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    JSONObject json = getConfigJson(gadget);
+    JSONObject json = getConfigJson(rewritten);
     assertEquals("blah", json.get("foo"));
     assertEquals("baz", json.get("bar"));
   }
@@ -423,9 +422,9 @@
     expect(config.getJsonObject("default", "gadgets.features")).andReturn(conf);
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    JSONObject json = getConfigJson(gadget);
+    JSONObject json = getConfigJson(rewritten);
     assertEquals("blah", json.get("foo"));
 
     JSONObject util = json.getJSONObject("core.util");
@@ -451,11 +450,11 @@
 
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
     Pattern prefsPattern
         = Pattern.compile("(?:.*)gadgets\\.Prefs\\.setMessages_\\((.*)\\);(?:.*)", Pattern.DOTALL);
-    Matcher matcher = prefsPattern.matcher(gadget.getContent());
+    Matcher matcher = prefsPattern.matcher(rewritten);
     assertTrue("gadgets.Prefs.setMessages_ not invoked.", matcher.matches());
     JSONObject json = new JSONObject(matcher.group(1));
     assertEquals("foo", json.get("one"));
@@ -475,7 +474,7 @@
 
     control.replay();
 
-    rewrite(gadget);
+    rewrite(gadget, "");
   }
 
   @Test
@@ -491,15 +490,14 @@
 
     control.replay();
 
-    rewrite(gadget);
-
+    rewrite(gadget, "");
     // rewrite will throw if the optional unsupported feature doesn't work.
   }
 
-  private JSONObject getPreloadedJson(Gadget gadget) throws JSONException {
+  private JSONObject getPreloadedJson(String content) throws JSONException {
     Pattern preloadPattern
         = Pattern.compile("(?:.*)gadgets\\.io\\.preloaded_=\\{(.*?)\\};(?:.*)", Pattern.DOTALL);
-    Matcher matcher = preloadPattern.matcher(gadget.getContent());
+    Matcher matcher = preloadPattern.matcher(content);
     assertTrue("gadgets.io.preloaded not set.", matcher.matches());
     return new JSONObject('{' + matcher.group(1) + '}');
   }
@@ -532,12 +530,12 @@
       }
     };
 
-    Gadget gadget = makeGadgetWithContent("").setPreloads(preloads);
+    Gadget gadget = makeDefaultGadget().setPreloads(preloads);
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    JSONObject json = getPreloadedJson(gadget);
+    JSONObject json = getPreloadedJson(rewritten);
     for (Map.Entry<String, Object> entry : preloadData.entrySet()) {
       assertEquals(entry.getValue(), json.get(entry.getKey()));
     }
@@ -554,12 +552,12 @@
       }
     };
 
-    Gadget gadget = makeGadgetWithContent("").setPreloads(preloads);
+    Gadget gadget = makeDefaultGadget().setPreloads(preloads);
     control.replay();
 
-    rewrite(gadget);
+    String rewritten = rewrite(gadget, "");
 
-    JSONObject json = getPreloadedJson(gadget);
+    JSONObject json = getPreloadedJson(rewritten);
 
     assertEquals(0, json.length());
   }

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java Tue Sep 30 14:22:55 2008
@@ -49,7 +49,7 @@
 
   public RewriterResults rewrite(Gadget gadget, MutableContent content) {
     // Appends appender to the end of the input string.
-	gadget.setContent(content.getContent() + appender);
+	content.setContent(content.getContent() + appender);
 	return RewriterResults.cacheable(cacheTtl);
   }
 

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistryTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistryTest.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistryTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistryTest.java Tue Sep 30 14:22:55 2008
@@ -52,15 +52,14 @@
   @Test
   public void gadgetGetsCached() throws Exception {
     String body = "Hello, world";
-    String xml = "<Module><ModulePrefs title=''/><Content>" + body + "</Content></Module>";
+    String xml = "<Module><ModulePrefs title=''/><Content/></Module>";
     GadgetSpec spec = new GadgetSpec(URI.create("#"), xml);
     GadgetContext context = new GadgetContext();
     Gadget gadget = new Gadget()
         .setContext(context)
-        .setSpec(spec)
-        .setContent(body);
+        .setSpec(spec);
 
-    registry.rewriteGadget(gadget);
+    registry.rewriteGadget(gadget, body);
 
     // TODO: We're not actually testing the TTL of the entries here.
     assertEquals(1, provider.readCount);
@@ -70,7 +69,7 @@
   @Test
   public void gadgetFetchedFromCache() throws Exception {
     String body = "Hello, world";
-    String xml = "<Module><ModulePrefs title=''/><Content>" + body + "</Content></Module>";
+    String xml = "<Module><ModulePrefs title=''/><Content/></Module>";
     GadgetSpec spec = new GadgetSpec(URI.create("#"), xml);
 
     GadgetContext context = new GadgetContext();
@@ -78,9 +77,8 @@
     for (int i = 0; i < 3; ++i) {
       Gadget gadget = new Gadget()
           .setContext(context)
-          .setSpec(spec)
-          .setContent(body);
-      registry.rewriteGadget(gadget);
+          .setSpec(spec);
+      registry.rewriteGadget(gadget, body);
     }
 
     assertEquals(3, provider.readCount);
@@ -90,7 +88,7 @@
   @Test
   public void noCacheGadgetDoesNotGetCached() throws Exception {
     String body = "Hello, world";
-    String xml = "<Module><ModulePrefs title=''/><Content>" + body + "</Content></Module>";
+    String xml = "<Module><ModulePrefs title=''/><Content/></Module>";
     GadgetSpec spec = new GadgetSpec(URI.create("#"), xml);
     GadgetContext context = new GadgetContext() {
       @Override
@@ -101,10 +99,9 @@
 
     Gadget gadget = new Gadget()
         .setContext(context)
-        .setSpec(spec)
-        .setContent(body);
+        .setSpec(spec);
 
-    registry.rewriteGadget(gadget);
+    registry.rewriteGadget(gadget, body);
 
     assertTrue("Rewriting not performed on uncacheable content.",
         rewriters.get(0).viewWasRewritten());
@@ -188,7 +185,7 @@
     captureRewriter.setCacheTtl(500);
 
     String body = "Hello, world";
-    String xml = "<Module><ModulePrefs title=''/><Content>" + body + "</Content></Module>";
+    String xml = "<Module><ModulePrefs title=''/><Content/></Module>";
     GadgetSpec spec = new GadgetSpec(URI.create("#"), xml);
     GadgetContext context = new GadgetContext();
 
@@ -196,9 +193,8 @@
     // inconsistent with the behavior of rewriteHttpResponse.
     Gadget gadget = new Gadget()
         .setContext(context)
-        .setSpec(spec)
-        .setContent(body);
-    registry.rewriteGadget(gadget);
+        .setSpec(spec);
+    registry.rewriteGadget(gadget, body);
 
     assertEquals(1, provider.readCount);
     assertEquals(0, provider.writeCount);

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java?rev=700583&r1=700582&r2=700583&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java Tue Sep 30 14:22:55 2008
@@ -51,15 +51,14 @@
     GadgetContext context = new GadgetContext();
     Gadget gadget = new Gadget()
         .setContext(context)
-        .setSpec(spec)
-        .setContent(spec.getView("default").getContent());
+        .setSpec(spec);
 
-    registry.rewriteGadget(gadget);
+    String rewritten = registry.rewriteGadget(gadget, body);
 
     assertTrue("First rewriter not invoked.", rewriters.get(0).viewWasRewritten());
     assertTrue("Second rewriter not invoked.", rewriters.get(1).viewWasRewritten());
 
-    assertEquals(body, gadget.getContent());
+    assertEquals(body, rewritten);
   }
 
   @Test