Author: gagan
Date: Tue Feb  1 10:19:19 2011
New Revision: 1065983

URL: http://svn.apache.org/viewvc?rev=1065983&view=rev
Log:
Patch by pulkitgoyal2000 | http://codereview.appspot.com/4003047/ | Issue 
4003047: CacheEnforcementVisitor is added to script & css concat rewriters

Modified:
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ScriptConcatContentRewriter.java
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/StyleConcatContentRewriter.java

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ScriptConcatContentRewriter.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ScriptConcatContentRewriter.java?rev=1065983&r1=1065982&r2=1065983&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ScriptConcatContentRewriter.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/ScriptConcatContentRewriter.java
 Tue Feb  1 10:19:19 2011
@@ -19,34 +19,51 @@
 package org.apache.shindig.gadgets.rewrite;
 
 import com.google.inject.Inject;
+import com.google.inject.name.Named;
 
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.Gadget;
+import org.apache.shindig.gadgets.http.HttpCache;
+import org.apache.shindig.gadgets.http.RequestPipeline;
+import org.apache.shindig.gadgets.rewrite.DomWalker;
 import org.apache.shindig.gadgets.rewrite.DomWalker.Visitor;
 import org.apache.shindig.gadgets.uri.ConcatUriManager;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 /**
- * REwrites scripts.
- *
+ * Concatenates non-private and cached script resources.
+ * CacheEnforcementVisitor is used to rewrite only non-private & cached 
scripts.
  * @since 2.0.0
  */
 public class ScriptConcatContentRewriter extends DomWalker.Rewriter {
   private final ContentRewriterFeature.Factory featureConfigFactory;
   private final ConcatUriManager concatUriManager;
+  private final Executor executor;
+  private final RequestPipeline requestPipeline;
+  private final HttpCache cache;
   
   @Inject
-  public ScriptConcatContentRewriter(ContentRewriterFeature.Factory 
featureConfigFactory,
-      ConcatUriManager concatUriManager) {
-    this.featureConfigFactory = featureConfigFactory;
+  public ScriptConcatContentRewriter(ConcatUriManager concatUriManager,
+                                     ContentRewriterFeature.Factory 
featureConfigFactory,
+                                     @Named("shindig.concat.executor") 
Executor executor,
+                                     HttpCache cache,
+                                     RequestPipeline requestPipeline) {
     this.concatUriManager = concatUriManager;
+    this.featureConfigFactory = featureConfigFactory;
+    this.executor = executor;
+    this.cache = cache;
+    this.requestPipeline = requestPipeline;
   }
   
   @Override
   protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) {
     ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri);
-    return Arrays.<Visitor>asList(new ConcatVisitor.Js(config, 
concatUriManager));
+    return Arrays.<Visitor>asList(
+        new CacheEnforcementVisitor(config, executor, cache, requestPipeline,
+            CacheEnforcementVisitor.Tags.SCRIPT),
+        new ConcatVisitor.Js(config, concatUriManager));
   }
 }

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/StyleConcatContentRewriter.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/StyleConcatContentRewriter.java?rev=1065983&r1=1065982&r2=1065983&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/StyleConcatContentRewriter.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/StyleConcatContentRewriter.java
 Tue Feb  1 10:19:19 2011
@@ -19,34 +19,50 @@
 package org.apache.shindig.gadgets.rewrite;
 
 import com.google.inject.Inject;
+import com.google.inject.name.Named;
 
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.gadgets.Gadget;
+import org.apache.shindig.gadgets.http.HttpCache;
+import org.apache.shindig.gadgets.http.RequestPipeline;
 import org.apache.shindig.gadgets.rewrite.DomWalker.Visitor;
 import org.apache.shindig.gadgets.uri.ConcatUriManager;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 /**
- * Merges adjacent styles
- *
+ * Concatenates non-private and cached adjacent styles
+ * CacheEnforcementVisitor is used to merge only non-private & cached styles.
  * @since 2.0.0
  */
 public class StyleConcatContentRewriter extends DomWalker.Rewriter {
   private final ContentRewriterFeature.Factory featureConfigFactory;
   private final ConcatUriManager concatUriManager;
+  private final Executor executor;
+  private final RequestPipeline requestPipeline;
+  private final HttpCache cache;
   
   @Inject
-  public StyleConcatContentRewriter(ContentRewriterFeature.Factory 
featureConfigFactory,
-      ConcatUriManager concatUriManager) {
-    this.featureConfigFactory = featureConfigFactory;
+  public StyleConcatContentRewriter(ConcatUriManager concatUriManager,
+                                    ContentRewriterFeature.Factory 
featureConfigFactory,
+                                    @Named("shindig.concat.executor") Executor 
executor,
+                                    HttpCache cache,
+                                    RequestPipeline requestPipeline) {
     this.concatUriManager = concatUriManager;
+    this.featureConfigFactory = featureConfigFactory;
+    this.executor = executor;
+    this.cache = cache;
+    this.requestPipeline = requestPipeline;
   }
-  
+
   @Override
   protected List<Visitor> makeVisitors(Gadget context, Uri gadgetUri) {
     ContentRewriterFeature.Config config = featureConfigFactory.get(gadgetUri);
-    return Arrays.<Visitor>asList(new ConcatVisitor.Css(config, 
concatUriManager));
+    return Arrays.<Visitor>asList(
+        new CacheEnforcementVisitor(config, executor, cache, requestPipeline,
+            CacheEnforcementVisitor.Tags.STYLESHEET),
+        new ConcatVisitor.Css(config, concatUriManager));
   }
 }


Reply via email to