You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by jo...@apache.org on 2008/09/03 21:28:35 UTC

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

Author: johnh
Date: Wed Sep  3 12:28:34 2008
New Revision: 691743

URL: http://svn.apache.org/viewvc?rev=691743&view=rev
Log:
A few cleanups.

* Caching String, not Gadget, in CachingContentRewriterRegistry to be explicit about what really is cached.
* Removing unneeded call resetting rewriter state.
* Renaming AppendRewriter to AppendingRewriter.


Added:
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java
Removed:
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendRewriter.java
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/rewrite/CachingContentRewriterRegistry.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BasicContentRewriterRegistryTest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CachingContentRewriterRegistryTest.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=691743&r1=691742&r2=691743&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 Wed Sep  3 12:28:34 2008
@@ -117,9 +117,6 @@
   }
 
   private ContainerConfig containerConfig;
-  public ContainerConfig getContainerConfig() {
-    return containerConfig;
-  }
   
   public Gadget(GadgetContext context, GadgetSpec spec,
       Collection<JsLibrary> jsLibraries, ContainerConfig containerConfig) {

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=691743&r1=691742&r2=691743&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 Wed Sep  3 12:28:34 2008
@@ -38,7 +38,7 @@
  * provides a layer of caching atop that.
  */
 public class CachingContentRewriterRegistry
-    extends CachingWebRetrievalFactory<Gadget, CachingContentRewriterRegistry.QueryPair, String>
+    extends CachingWebRetrievalFactory<String, CachingContentRewriterRegistry.QueryPair, String>
     implements ContentRewriterRegistry {
   
   static final Logger logger = Logger.getLogger(CachingContentRewriterRegistry.class.getName());
@@ -71,7 +71,7 @@
   }
 
   @Override
-  protected FetchedObject<Gadget> retrieveRawObject(QueryPair qp,
+  protected FetchedObject<String> retrieveRawObject(QueryPair qp,
       boolean ignoreCache) throws GadgetException {
     // Always attempt to rewrite the inbound gadget object.
     // Even if that fails, the non-rewritten Gadget should be cached,
@@ -86,19 +86,7 @@
       expiration = (Long)expirationObj;
     }
     
-    return new FetchedObject<Gadget>(createGadgetCopy(qp.gadget), expiration);
-  }
-  
-  private Gadget createGadgetCopy(Gadget source) {
-    // We need to make a copy of the gadget we cache to avoid
-    // the first instance of the gadget being directly written into
-    // the cache, since it might go on to be modified further in
-    // the processing pipeline (changes which would be inherited by
-    // all subsequent requests that have a cache hit).
-    Gadget gadget = new Gadget(source.getContext(), source.getSpec(),
-        source.getJsLibraries(), source.getContainerConfig());
-    gadget.setContent(source.getContent());
-    return gadget;
+    return new FetchedObject<String>(qp.gadget.getContent(), expiration);
   }
   
   /** {@inheritDoc} */
@@ -109,14 +97,14 @@
   /** {@inheritDoc} */
   public boolean rewriteGadget(GadgetContext context, Gadget gadget)
       throws GadgetException {
-    Gadget cached = doCachedFetch(new QueryPair(context, gadget), context.getIgnoreCache());
+    String cached = doCachedFetch(new QueryPair(context, gadget), context.getIgnoreCache());
     // At present, the output of rewriting is just the string contained within
     // the Gadget object. Thus, a successful cache hit results in copying over the
     // rewritten value to the input gadget object.
     // TODO: Clean up the ContentRewriter interface so rewriting "output" is clearer.
     // TODO: If necessary later, copy other modified contents to Gadget object.
     if (cached != null) {
-      gadget.setContent(cached.getContent());
+      gadget.setContent(cached);
       return true;
     }
     return baseRegistry.rewriteGadget(context, gadget);

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java?rev=691743&r1=691742&r2=691743&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetServerTest.java Wed Sep  3 12:28:34 2008
@@ -77,11 +77,6 @@
       = "<messagebundle>" +
         "  <msg name=\"title\">TITLE</msg>" +
        "</messagebundle>";
-  
-  @Override
-  protected void setUp() throws Exception {
-    rewriter.resetWasRewritten();
-  }
 
   public void testGadgetSpecLookup() throws Exception {
     HttpRequest req = new HttpRequest(SPEC_URL);
@@ -111,6 +106,7 @@
     }
 
     verify();
+    assertFalse(rewriter.viewWasRewritten());
   }
 
   public void testSubstitutionsDone() throws Exception {
@@ -359,6 +355,7 @@
       assertEquals(GadgetException.Code.BLACKLISTED_GADGET, e.getCode());
     }
     verify();
+    assertFalse(rewriter.viewWasRewritten());
   }
 
   public void testViewContentFetching() throws Exception {

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java?rev=691743&r1=691742&r2=691743&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/GadgetTestFixture.java Wed Sep  3 12:28:34 2008
@@ -80,9 +80,5 @@
     public boolean viewWasRewritten() {
       return rewroteView;
     }
-    
-    protected void resetWasRewritten() {
-      rewroteView = false;
-    }
   }
 }

Added: 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=691743&view=auto
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java (added)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/AppendingRewriter.java Wed Sep  3 12:28:34 2008
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package org.apache.shindig.gadgets.rewrite;
+
+import org.apache.shindig.gadgets.http.HttpRequest;
+import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.spec.GadgetSpec;
+
+/**
+ * Simple ContentRewriter implementation that appends
+ * some particular String to the given input content.
+ * Used for testing.
+ */
+class AppendingRewriter implements ContentRewriter {
+  private final String appender;
+  
+  AppendingRewriter(String appender) {
+    this.appender = appender;
+  }
+
+  public HttpResponse rewrite(HttpRequest request, HttpResponse original) {
+    // Does nothing.
+    return null;
+  }
+
+  public String rewriteGadgetView(GadgetSpec spec, String original,
+      String mimeType) {
+    // Appends appender to the end of the input string.
+    return original + appender;
+  }
+}
\ No newline at end of file

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BasicContentRewriterRegistryTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BasicContentRewriterRegistryTest.java?rev=691743&r1=691742&r2=691743&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BasicContentRewriterRegistryTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BasicContentRewriterRegistryTest.java Wed Sep  3 12:28:34 2008
@@ -63,7 +63,7 @@
     for (int i = 0; i < 3; ++i) {
       String appendNew = "-" + i;
       appendFull.append(appendNew);
-      r.appendRewriter(new AppendRewriter(appendNew));
+      r.appendRewriter(new AppendingRewriter(appendNew));
     }
     String inputContent = "foo";
     String rewrittenContent = inputContent + appendFull.toString();

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=691743&r1=691742&r2=691743&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 Wed Sep  3 12:28:34 2008
@@ -45,7 +45,7 @@
     for (int i = 0; i < 3; ++i) {
       String appendNew = "-" + i;
       appendFull.append(appendNew);
-      r.appendRewriter(new AppendRewriter(appendNew));
+      r.appendRewriter(new AppendingRewriter(appendNew));
     }
     String inputContent = "foo";
     String rewrittenContent = inputContent + appendFull.toString();
@@ -69,7 +69,7 @@
     assertTrue(r.rewriteGadget(context, gadget));
     assertEquals(rewrittenContent, gadget.getContent());
     
-    r.appendRewriter(new AppendRewriter("-end"));
+    r.appendRewriter(new AppendingRewriter("-end"));
     
     // Should also be rewritten the second time, but with the previous
     // expected rewritten content value.