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));
}
}