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.