Author: gagan
Date: Wed Jun  8 04:52:24 2011
New Revision: 1133248

URL: http://svn.apache.org/viewvc?rev=1133248&view=rev
Log:
Patch by pulkitgoyal2000 | Issue 4539095: Parameterizing LongLivedReferesh 
value in ConcatProxyServlet & ProxyHandler | 
http://codereview.appspot.com/4539095/

Modified:
    shindig/trunk/java/common/conf/shindig.properties
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
    
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java

Modified: shindig/trunk/java/common/conf/shindig.properties
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/common/conf/shindig.properties?rev=1133248&r1=1133247&r2=1133248&view=diff
==============================================================================
--- shindig/trunk/java/common/conf/shindig.properties (original)
+++ shindig/trunk/java/common/conf/shindig.properties Wed Jun  8 04:52:24 2011
@@ -171,3 +171,6 @@ org.apache.shindig.gadgets.uri.setAuthor
 
 # Maximum Get Url size limit
 org.apache.shindig.gadgets.uri.urlMaxLength=2048
+
+# Default cachettl value for versioned url in seconds. Here default value is 1 
year.
+org.apache.shindig.gadgets.servlet.longLivedRefreshSec=31536000

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java?rev=1133248&r1=1133247&r2=1133248&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
 Wed Jun  8 04:52:24 2011
@@ -68,7 +68,6 @@ public class ConcatProxyServlet extends 
   public static final String JSON_PARAM = Param.JSON.getKey();
   private static final Pattern JSON_PARAM_PATTERN = Pattern.compile("^\\w*$");
 
-  // TODO: parameterize these.
   static final Integer LONG_LIVED_REFRESH = (365 * 24 * 60 * 60);  // 1 year
   static final Integer DEFAULT_REFRESH = (60 * 60);                // 1 hour
 
@@ -83,6 +82,14 @@ public class ConcatProxyServlet extends 
   // Sequential version of 'execute' by default.
   private transient Executor executor = Executors.newSingleThreadExecutor();
 
+  private Integer longLivedRefreshSec = LONG_LIVED_REFRESH;
+
+  @Inject(optional = true)
+  public void setLongLivedRefresh(
+      @Named("org.apache.shindig.gadgets.servlet.longLivedRefreshSec") int 
longLivedRefreshSec) {
+    this.longLivedRefreshSec = longLivedRefreshSec;
+  }
+
   @Inject
   public void setRequestPipeline(RequestPipeline requestPipeline) {
     checkInitialized();
@@ -231,7 +238,7 @@ public class ConcatProxyServlet extends 
       // TODO: Investigate Chunked Encoding
       minCacheTtl = isMinCacheTtlSet ? (minCacheTtl / 1000) : DEFAULT_REFRESH;
       HttpUtil.setCachingHeaders(response,
-          concatUri.translateStatusRefresh(LONG_LIVED_REFRESH, 
minCacheTtl.intValue()), false);
+          concatUri.translateStatusRefresh(longLivedRefreshSec, 
minCacheTtl.intValue()), false);
     } catch (GadgetException gex) {
       cos.outputError(uri, gex);
     } finally {

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java?rev=1133248&r1=1133247&r2=1133248&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
 Wed Jun  8 04:52:24 2011
@@ -48,13 +48,11 @@ import java.io.IOException;
  */
 @Singleton
 public class ProxyHandler {
-  // TODO: parameterize these.
-  static final Integer LONG_LIVED_REFRESH = (365 * 24 * 60 * 60);  // 1 year
-
   private final RequestPipeline requestPipeline;
   private final ResponseRewriterRegistry contentRewriterRegistry;
   protected final boolean remapInternalServerError;
   private final GadgetBlacklist gadgetBlacklist;
+  private final Integer longLivedRefreshSec;
 
   @Inject
   public ProxyHandler(RequestPipeline requestPipeline,
@@ -62,11 +60,14 @@ public class ProxyHandler {
                       ResponseRewriterRegistry contentRewriterRegistry,
                       @Named("shindig.proxy.remapInternalServerError")
                       Boolean remapInternalServerError,
-                      GadgetBlacklist gadgetBlacklist) {
+                      GadgetBlacklist gadgetBlacklist,
+                      
@Named("org.apache.shindig.gadgets.servlet.longLivedRefreshSec")
+                      int longLivedRefreshSec) {
     this.requestPipeline = requestPipeline;
     this.contentRewriterRegistry = contentRewriterRegistry;
     this.remapInternalServerError = remapInternalServerError;
     this.gadgetBlacklist = gadgetBlacklist;
+    this.longLivedRefreshSec = longLivedRefreshSec;
   }
 
   /**
@@ -122,7 +123,7 @@ public class ProxyHandler {
 
     try {
       ServletUtil.setCachingHeaders(response,
-          proxyUri.translateStatusRefresh(LONG_LIVED_REFRESH, (int) 
(results.getCacheTtl() / 1000)),
+          proxyUri.translateStatusRefresh(longLivedRefreshSec, (int) 
(results.getCacheTtl() / 1000)),
           false);
     } catch (GadgetException gex) {
       return ServletUtil.errorResponse(gex);

Modified: 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java?rev=1133248&r1=1133247&r2=1133248&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
 Wed Jun  8 04:52:24 2011
@@ -58,6 +58,8 @@ public class ProxyHandlerTest extends Ea
   private final static String GADGET = "http://some/gadget.xml";;
   private final static String URL_ONE = "http://www.example.org/test.html";;
   private final static String DATA_ONE = "hello world";
+  private final static Integer LONG_LIVED_REFRESH = (365 * 24 * 60 * 60);  // 
1 year
+
 
   public final RequestPipeline pipeline = mock(RequestPipeline.class);
   private GadgetBlacklist gadgetBlacklist = mock(GadgetBlacklist.class); 
@@ -67,7 +69,7 @@ public class ProxyHandlerTest extends Ea
   private ProxyUriManager.ProxyUri request;
 
   private final ProxyHandler proxyHandler
-      = new ProxyHandler(pipeline, rewriterRegistry, true, gadgetBlacklist);
+      = new ProxyHandler(pipeline, rewriterRegistry, true, gadgetBlacklist, 
LONG_LIVED_REFRESH);
 
   private void expectGetAndReturnData(String url, byte[] data) throws 
Exception {
     HttpRequest req = new HttpRequest(Uri.parse(url));
@@ -338,7 +340,8 @@ public class ProxyHandlerTest extends Ea
     ResponseRewriterRegistry rewriterRegistry =
         new DefaultResponseRewriterRegistry(
             Arrays.<ResponseRewriter>asList(rewriter), null);
-    ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry, 
true, gadgetBlacklist);
+    ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry, 
true, gadgetBlacklist,
+        LONG_LIVED_REFRESH);
 
     request.setReturnOriginalContentOnError(true);
     HttpResponse recorder = proxyHandler.fetch(request);
@@ -376,7 +379,8 @@ public class ProxyHandlerTest extends Ea
     ResponseRewriterRegistry rewriterRegistry =
         new DefaultResponseRewriterRegistry(
             Arrays.<ResponseRewriter>asList(rewriter), null);
-    ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry, 
true, gadgetBlacklist);
+    ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry, 
true, gadgetBlacklist,
+        LONG_LIVED_REFRESH);
 
     boolean exceptionCaught = false;
     try {


Reply via email to