Author: johnh
Date: Tue Aug 3 02:05:39 2010
New Revision: 981723
URL: http://svn.apache.org/viewvc?rev=981723&view=rev
Log:
Biting the bullet: getting rid of all the "old" rewriter/renderer/parser
implementations, as well as logic that depended on them.
The most substantial change here is the switch from HTMLContentRewriter to the
constituent rewriters that replace it. These have been present in the codebase
for quite some time and in use by various installations.
Added:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
- copied, changed from r980616,
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java
Removed:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/parse/caja/old/
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/parse/caja/old/
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/
shindig/trunk/java/gadgets/src/test/resources/org/apache/shindig/gadgets/rewrite/old/
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCase.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCaseOS9.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssResponseRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java?rev=981723&r1=981722&r2=981723&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderModule.java
Tue Aug 3 02:05:39 2010
@@ -50,13 +50,6 @@ public class RenderModule extends Abstra
@Provides
@Singleton
- @org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter.AllowedTags
- protected Set<String> provideOldAllowedTags() {
- return provideAllowedTags();
- }
-
- @Provides
- @Singleton
@SanitizingGadgetRewriter.AllowedAttributes
protected Set<String> provideAllowedAttributes() {
return ImmutableSet.of("abbr", "align", "alt", "axis", "bgcolor", "border",
@@ -67,11 +60,4 @@ public class RenderModule extends Abstra
"src", "start", "style", "summary", "title", "type", "usemap",
"valign", "value",
"vspace", "width");
}
-
- @Provides
- @Singleton
-
@org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter.AllowedAttributes
- protected Set<String> provideOldAllowedAttributes() {
- return provideAllowedAttributes();
- }
}
\ No newline at end of file
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java?rev=981723&r1=981722&r2=981723&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
Tue Aug 3 02:05:39 2010
@@ -27,11 +27,9 @@ import com.google.inject.name.Names;
import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
import org.apache.shindig.gadgets.render.OpenSocialI18NGadgetRewriter;
import org.apache.shindig.gadgets.render.RenderingGadgetRewriter;
-import org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter;
-import org.apache.shindig.gadgets.render.old.SanitizingRequestRewriter;
+import org.apache.shindig.gadgets.render.SanitizingGadgetRewriter;
+import org.apache.shindig.gadgets.render.SanitizingResponseRewriter;
import org.apache.shindig.gadgets.rewrite.image.BasicImageRewriter;
-import org.apache.shindig.gadgets.rewrite.old.CssRequestRewriter;
-import org.apache.shindig.gadgets.rewrite.old.HTMLContentRewriter;
import org.apache.shindig.gadgets.servlet.CajaContentRewriter;
import java.util.List;
@@ -54,13 +52,17 @@ public class RewriteModule extends Abstr
protected List<GadgetRewriter> provideGadgetRewriters(
PipelineDataGadgetRewriter pipelineRewriter,
TemplateRewriter templateRewriter,
- HTMLContentRewriter optimizingRewriter,
- CssRequestRewriter cssRewriter,
+ AbsolutePathReferenceRewriter absolutePathRewriter,
+ StyleTagExtractorContentRewriter styleTagExtractorRewriter,
+ StyleAdjacencyContentRewriter styleAdjacencyRewriter,
+ ProxyingContentRewriter proxyingRewriter,
+ CssResponseRewriter cssRewriter,
CajaContentRewriter cajaRewriter,
SanitizingGadgetRewriter sanitizedRewriter,
RenderingGadgetRewriter renderingRewriter,
OpenSocialI18NGadgetRewriter i18nRewriter) {
- return ImmutableList.of(pipelineRewriter, templateRewriter,
optimizingRewriter,
+ return ImmutableList.of(pipelineRewriter, templateRewriter,
+ absolutePathRewriter, styleTagExtractorRewriter,
styleAdjacencyRewriter, proxyingRewriter,
cajaRewriter, sanitizedRewriter, renderingRewriter, i18nRewriter);
}
@@ -95,10 +97,15 @@ public class RewriteModule extends Abstr
@Provides
@Singleton
protected List<ResponseRewriter> provideResponseRewriters(
- HTMLContentRewriter optimizingRewriter,
- CssRequestRewriter cssRewriter,
- SanitizingRequestRewriter sanitizedRewriter) {
- return ImmutableList.of(optimizingRewriter, cssRewriter,
sanitizedRewriter);
+ AbsolutePathReferenceRewriter absolutePathRewriter,
+ StyleTagExtractorContentRewriter styleTagExtractorRewriter,
+ StyleAdjacencyContentRewriter styleAdjacencyRewriter,
+ ProxyingContentRewriter proxyingRewriter,
+ CssResponseRewriter cssRewriter,
+ SanitizingResponseRewriter sanitizedRewriter) {
+ return ImmutableList.of(
+ absolutePathRewriter, styleTagExtractorRewriter,
styleAdjacencyRewriter, proxyingRewriter,
+ cssRewriter, sanitizedRewriter);
}
@Provides
Copied:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
(from r980616,
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java)
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java?p2=shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java&p1=shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java&r1=980616&r2=981723&rev=981723&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
Tue Aug 3 02:05:39 2010
@@ -15,12 +15,10 @@
* 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.old;
+package org.apache.shindig.gadgets.rewrite;
import org.apache.shindig.common.PropertiesModule;
import org.apache.shindig.common.uri.Uri;
-import org.apache.shindig.config.AbstractContainerConfig;
-import org.apache.shindig.config.ContainerConfig;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.GadgetException;
@@ -35,9 +33,6 @@ import org.apache.shindig.gadgets.parse.
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
import org.apache.shindig.gadgets.rewrite.GadgetRewriter;
import org.apache.shindig.gadgets.rewrite.MutableContent;
-import org.apache.shindig.gadgets.rewrite.old.ContentRewriterUris;
-import
org.apache.shindig.gadgets.rewrite.old.DefaultProxyingLinkRewriterFactory;
-import org.apache.shindig.gadgets.rewrite.old.LinkRewriter;
import org.apache.shindig.gadgets.spec.GadgetSpec;
import com.google.inject.AbstractModule;
@@ -71,15 +66,10 @@ public abstract class BaseRewriterTestCa
protected Set<String> tags;
protected ContentRewriterFeature.Config defaultRewriterFeature;
protected ContentRewriterFeature.Factory rewriterFeatureFactory;
- protected LinkRewriter defaultLinkRewriter;
- protected LinkRewriter defaultLinkRewriterNoCache;
- protected LinkRewriter defaultLinkRewriterNoCacheAndDebug;
protected GadgetHtmlParser parser;
protected Injector injector;
protected HttpResponseBuilder fakeResponse;
- protected ContentRewriterUris rewriterUris;
protected IMocksControl control;
- protected ContentRewriterUris defaultContainerRewriterUris;
@Before
public void setUp() throws Exception {
@@ -87,44 +77,10 @@ public abstract class BaseRewriterTestCa
new ContentRewriterFeature.DefaultConfig(".*", "", "86400",
"embed,img,script,link,style", false, false));
defaultRewriterFeature = rewriterFeatureFactory.getDefault();
tags = defaultRewriterFeature.getIncludedTags();
- defaultContainerRewriterUris = new ContentRewriterUris(
- new AbstractContainerConfig() {
- @Override
- public Object getProperty(String container, String name) {
- return null;
- }
- }, DEFAULT_PROXY_BASE, DEFAULT_CONCAT_BASE);
- defaultLinkRewriter = new DefaultProxyingLinkRewriterFactory(
- defaultContainerRewriterUris).create(SPEC_URL, defaultRewriterFeature,
- "default", false, false);
- defaultLinkRewriterNoCache = new DefaultProxyingLinkRewriterFactory(
- defaultContainerRewriterUris).create(SPEC_URL, defaultRewriterFeature,
- "default", false, true);
- defaultLinkRewriterNoCacheAndDebug = new
DefaultProxyingLinkRewriterFactory(
- defaultContainerRewriterUris).create(SPEC_URL, defaultRewriterFeature,
- "default", true, true);
injector = Guice.createInjector(getParseModule(), new PropertiesModule(),
new TestModule());
parser = injector.getInstance(GadgetHtmlParser.class);
fakeResponse = new HttpResponseBuilder().setHeader("Content-Type",
"unknown")
.setResponse(new byte[]{ (byte)0xFE, (byte)0xFF});
-
- ContainerConfig config = new AbstractContainerConfig() {
- @Override
- public Object getProperty(String container, String name) {
- if (MOCK_CONTAINER.equals(container)) {
- if (ContentRewriterUris.PROXY_BASE_CONFIG_PROPERTY.equals(name)) {
- return MOCK_PROXY_BASE;
- } else if
(ContentRewriterUris.CONCAT_BASE_CONFIG_PROPERTY.equals(name)) {
- return MOCK_CONCAT_BASE;
- }
- }
-
- return null;
- }
- };
-
- rewriterUris = new ContentRewriterUris(config, DEFAULT_PROXY_BASE,
- DEFAULT_CONCAT_BASE);
control = EasyMock.createControl();
}
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCase.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCase.java?rev=981723&r1=981722&r2=981723&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCase.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCase.java
Tue Aug 3 02:05:39 2010
@@ -17,7 +17,6 @@
*/
package org.apache.shindig.gadgets.rewrite;
-import org.apache.shindig.gadgets.rewrite.old.BaseRewriterTestCase;
import org.junit.Test;
import com.google.common.collect.Sets;
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCaseOS9.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCaseOS9.java?rev=981723&r1=981722&r2=981723&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCaseOS9.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/ContentRewriterFeatureTestCaseOS9.java
Tue Aug 3 02:05:39 2010
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertTru
import com.google.common.collect.Sets;
-import org.apache.shindig.gadgets.rewrite.old.BaseRewriterTestCase;
import org.junit.Test;
/**
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssResponseRewriterTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssResponseRewriterTest.java?rev=981723&r1=981722&r2=981723&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssResponseRewriterTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssResponseRewriterTest.java
Tue Aug 3 02:05:39 2010
@@ -24,18 +24,15 @@ import org.apache.commons.lang.StringUti
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponseBuilder;
-import org.apache.shindig.gadgets.parse.caja.CajaCssLexerParser;
import org.apache.shindig.gadgets.parse.caja.CajaCssParser;
import org.apache.shindig.gadgets.uri.PassthruManager;
import org.apache.shindig.gadgets.uri.ProxyUriManager;
import org.easymock.EasyMock;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.io.StringReader;
import java.io.StringWriter;
-import java.net.URI;
import java.util.List;
import com.google.common.collect.Lists;
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java?rev=981723&r1=981722&r2=981723&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java
Tue Aug 3 02:05:39 2010
@@ -24,9 +24,7 @@ import static org.junit.Assert.assertTru
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
-import org.apache.shindig.gadgets.rewrite.old.BaseRewriterTestCase;
-import org.apache.shindig.gadgets.rewrite.old.CssRequestRewriter;
-import org.apache.shindig.gadgets.rewrite.old.HTMLContentRewriter;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.easymock.EasyMock;
import org.junit.Before;
import org.junit.Test;
@@ -65,16 +63,20 @@ public class DefaultContentRewriterRegis
}
/**
- * This test ensures that we dont call HttpRespose.getResponseAsString for
content types
- * that are not rewriteable by the default set of content rewriters. This is
important
+ * This test ensures that we dont call HttpResponse.getResponseAsString if
no content
+ * rewriter does so either. This is important
* from a performance and content consistency standpoint. Because
HttpResponse is final
* we test that no new response object was created.
*/
@Test
public void testNoDecodeHttpResponseForUnRewriteableMimeTypes() throws
Exception {
List<ResponseRewriter> rewriters = Lists.newArrayList();
- rewriters.add(injector.getInstance(HTMLContentRewriter.class));
- rewriters.add(injector.getInstance(CssRequestRewriter.class));
+ rewriters.add(new ResponseRewriter() {
+ public void rewrite(HttpRequest request, HttpResponseBuilder response)
+ throws RewritingException {
+ // Do nothing.
+ }
+ });
registry = new DefaultResponseRewriterRegistry(rewriters, parser);
HttpRequest req = control.createMock(HttpRequest.class);
Modified:
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java?rev=981723&r1=981722&r2=981723&view=diff
==============================================================================
---
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
(original)
+++
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
Tue Aug 3 02:05:39 2010
@@ -46,7 +46,6 @@ import static org.junit.Assert.assertTru
import static org.junit.Assert.fail;
import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -315,7 +314,8 @@ public class EndToEndTest {
@Test
public void testTemplateLibrary() throws Exception {
HtmlPage page = executeAllPageTests("templateLibrary");
- assertTrue(page.asXml().contains("p {color: red}"));
+ String pageXml = page.asXml();
+ assertTrue(pageXml.replaceAll("[\n\r ]", "").contains("p{color:red}"));
Node paragraph = page.getElementsByTagName("p").item(0);
assertEquals("Hello world", paragraph.getTextContent().trim());