You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2010/09/11 18:48:38 UTC
svn commit: r996169 - in /wicket/trunk:
wicket-request/src/main/java/org/apache/wicket/request/http/
wicket/src/main/java/org/apache/wicket/protocol/http/
wicket/src/main/java/org/apache/wicket/request/resource/
Author: pete
Date: Sat Sep 11 16:48:37 2010
New Revision: 996169
URL: http://svn.apache.org/viewvc?rev=996169&view=rev
Log:
use enum for different caching scopes on WebResponse
Modified:
wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/AbstractResource.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
Modified: wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java?rev=996169&r1=996168&r2=996169&view=diff
==============================================================================
--- wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java (original)
+++ wicket/trunk/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java Sat Sep 11 16:48:37 2010
@@ -155,4 +155,26 @@ public abstract class WebResponse extend
* Flushes the response.
*/
public abstract void flush();
+
+ /**
+ * scope for cache entries when caching is enabled
+ */
+ public enum CacheScope
+ {
+ PUBLIC("public"),
+ PRIVATE("private");
+
+ // value for Cache-Control header
+ private final String cacheControl;
+
+ CacheScope(String cacheControl)
+ {
+ this.cacheControl = cacheControl;
+ }
+
+ public String getCacheControl()
+ {
+ return cacheControl;
+ }
+ }
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java?rev=996169&r1=996168&r2=996169&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java Sat Sep 11 16:48:37 2010
@@ -312,7 +312,7 @@ public final class RequestUtils
*
* @see RequestUtils#MAX_CACHE_DURATION
*/
- public static void enableCaching(WebResponse response, Duration duration, boolean cachePublic)
+ public static void enableCaching(WebResponse response, Duration duration, WebResponse.CacheScope scope)
{
Args.notNull(duration, "duration");
Args.notNull(response, "response");
@@ -330,11 +330,8 @@ public final class RequestUtils
// Time for cache expiry = now + duration
response.setDateHeader("Expires", now + duration.getMilliseconds());
- // Set caching scope
- String scope = cachePublic ? "public" : "private";
-
// Enable caching and set max age
- response.setHeader("Cache-Control", scope + ", max-age=" + duration.getMilliseconds());
+ response.setHeader("Cache-Control", scope.getCacheControl() + ", max-age=" + duration.getMilliseconds());
// Let caches distinguish between compressed and uncompressed
// versions of the resource so they can serve them properly
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/AbstractResource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/AbstractResource.java?rev=996169&r1=996168&r2=996169&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/AbstractResource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/AbstractResource.java Sat Sep 11 16:48:37 2010
@@ -77,7 +77,7 @@ public abstract class AbstractResource i
private Date lastModified = null;
private WriteCallback writeCallback;
private Duration cacheDuration;
- private boolean cachePublic;
+ private WebResponse.CacheScope cacheScope;
/**
* Construct.
@@ -89,7 +89,7 @@ public abstract class AbstractResource i
// set caching on public caches to false. this behavior is similar to wicket 1.4
// setting it to [true] seems to be sexy but could potentially cache confidential
// data on public proxies for users migrating to 1.5
- cachePublic = false;
+ cacheScope = WebResponse.CacheScope.PRIVATE;
}
/**
@@ -340,11 +340,11 @@ public abstract class AbstractResource i
* @return <code>true</code> if public caches are allowed to cache the resource
*
* @see org.apache.wicket.request.resource.AbstractResource.ResourceResponse#getCacheDuration()
- * @see org.apache.wicket.protocol.http.RequestUtils#enableCaching(org.apache.wicket.request.http.WebResponse, org.apache.wicket.util.time.Duration, boolean)
+ * @see org.apache.wicket.protocol.http.RequestUtils#enableCaching(org.apache.wicket.request.http.WebResponse, org.apache.wicket.util.time.Duration, org.apache.wicket.request.http.WebResponse.CacheScope)
*/
- public boolean isCachePublic()
+ public WebResponse.CacheScope getCacheScope()
{
- return cachePublic;
+ return cacheScope;
}
/**
@@ -352,15 +352,15 @@ public abstract class AbstractResource i
* <p/>
* resources are only cached at all if the cache duration for the response is > 0.
*
- * @param cachePublic
+ * @param cacheScope
* if <code>true</code> public caches are allowed to cache the resource
*
* @see org.apache.wicket.request.resource.AbstractResource.ResourceResponse#getCacheDuration()
- * @see org.apache.wicket.protocol.http.RequestUtils#enableCaching(org.apache.wicket.request.http.WebResponse, org.apache.wicket.util.time.Duration, boolean)
+ * @see org.apache.wicket.protocol.http.RequestUtils#enableCaching(org.apache.wicket.request.http.WebResponse, org.apache.wicket.util.time.Duration, org.apache.wicket.request.http.WebResponse.CacheScope)
*/
- public void setCachePublic(boolean cachePublic)
+ public void setCacheScope(WebResponse.CacheScope cacheScope)
{
- this.cachePublic = cachePublic;
+ this.cacheScope = cacheScope;
}
/**
@@ -408,7 +408,7 @@ public abstract class AbstractResource i
if(duration.compareTo(Duration.NONE) > 0)
{
- RequestUtils.enableCaching(response, duration, data.isCachePublic());
+ RequestUtils.enableCaching(response, duration, data.getCacheScope());
}
else
{
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java?rev=996169&r1=996168&r2=996169&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java Sat Sep 11 16:48:37 2010
@@ -23,7 +23,7 @@ import org.apache.wicket.Application;
import org.apache.wicket.ThreadContext;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.markup.html.IPackageResourceGuard;
-import org.apache.wicket.protocol.http.RequestUtils;
+import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.util.io.IOUtils;
import org.apache.wicket.util.lang.Packages;
import org.apache.wicket.util.lang.WicketObjects;
@@ -212,7 +212,7 @@ public class PackageResource extends Abs
if(Application.get().getResourceSettings().getUseTimestampOnResources())
{
resourceResponse.setCacheDurationToMaximum();
- resourceResponse.setCachePublic(true);
+ resourceResponse.setCacheScope(WebResponse.CacheScope.PUBLIC);
}
return resourceResponse;