You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by zh...@gmail.com on 2010/03/19 02:14:58 UTC

Join url rewritters to one dom walker (issue627043)

Reviewers: shindig.remailer_gmail.com, johnfargo,

Description:
In order to prevent rewritting urls that are already rewritten, just put
concat and proxy into one dom walker

Please review this at http://codereview.appspot.com/627043/show

Affected files:
    
java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingContentRewriter.java


### Eclipse Workspace Patch 1.0
#P shindig-project
Index:  
java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingContentRewriter.java
===================================================================
---  
java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingContentRewriter.java	 
(revision 925050)
+++  
java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ProxyingContentRewriter.java	 
(working copy)
@@ -22,8 +22,8 @@

  import org.apache.shindig.common.uri.Uri;
  import org.apache.shindig.gadgets.Gadget;
-import org.apache.shindig.gadgets.rewrite.DomWalker;
  import org.apache.shindig.gadgets.rewrite.DomWalker.Visitor;
+import org.apache.shindig.gadgets.uri.ConcatUriManager;
  import org.apache.shindig.gadgets.uri.ProxyUriManager;

  import java.util.Arrays;
@@ -32,17 +32,25 @@
  public class ProxyingContentRewriter extends DomWalker.Rewriter {
    private final ContentRewriterFeature.Factory featureConfigFactory;
    private final ProxyUriManager proxyUriManager;
+  private final ConcatUriManager concatUriManager;

    @Inject
    public ProxyingContentRewriter(ContentRewriterFeature.Factory  
featureConfigFactory,
-      ProxyUriManager proxyUriManager) {
+      ProxyUriManager proxyUriManager, ConcatUriManager concatUriManager) {
      this.featureConfigFactory = featureConfigFactory;
      this.proxyUriManager = proxyUriManager;
+    this.concatUriManager = concatUriManager;
    }

    @Override
    protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) {
      ContentRewriterFeature.Config config =  
featureConfigFactory.get(gadgetUri);
-    return Arrays.<Visitor>asList(new ProxyingVisitor(config,  
proxyUriManager));
+    // Note that concat is including with proxy in order to prevent
+    // proxying the rewritten concat url
+    // Basically Url rewritters should all be in one dom walker.
+    return Arrays.<Visitor>asList(
+        new ConcatVisitor.Js(config, concatUriManager),
+        new ConcatVisitor.Css(config, concatUriManager),
+        new ProxyingVisitor(config, proxyUriManager));
    }
  }