Author: jdonnerstag
Date: Fri Jun 26 16:35:52 2009
New Revision: 788756

URL: http://svn.apache.org/viewvc?rev=788756&view=rev
Log:
WebResource#getCacheDuration() is not configurable

added global configuration in IResourceSetting
Issue: WICKET-2323

Modified:
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebResource.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/Settings.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebResource.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebResource.java?rev=788756&r1=788755&r2=788756&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebResource.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebResource.java
 Fri Jun 26 16:35:52 2009
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.html;
 
+import org.apache.wicket.Application;
 import org.apache.wicket.Resource;
 import org.apache.wicket.Response;
 import org.apache.wicket.protocol.http.WebResponse;
@@ -28,10 +29,6 @@
  */
 public abstract class WebResource extends Resource
 {
-
-       /**
-        * 
-        */
        private static final long serialVersionUID = 1L;
 
        /**
@@ -89,9 +86,10 @@
         * classes.
         * 
         * @return The cache duration in seconds
+        * @TODO change to long in 1.5
         */
        protected int getCacheDuration()
        {
-               return 3600;
+               return 
(int)Application.get().getResourceSettings().getDefaultCacheDuration();
        }
 }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java?rev=788756&r1=788755&r2=788756&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java
 Fri Jun 26 16:35:52 2009
@@ -119,6 +119,13 @@
        void addStringResourceLoader(final int index, final 
IStringResourceLoader loader);
 
        /**
+        * Get the the default cache duration (3600 secs == 1hr) for 
WebResource.
+        * 
+        * @return cache duration
+        */
+       int getDefaultCacheDuration();
+
+       /**
         * Whether to disable gzip compression for resources. You need this on 
SAP, which gzips things
         * twice.
         * 
@@ -207,6 +214,14 @@
        boolean getUseDefaultOnMissingResource();
 
        /**
+        * Set the the default cache duration for WebResource.
+        * 
+        * @param defaultDuration
+        *            default cache duration in seconds
+        */
+       void setDefaultCacheDuration(int defaultDuration);
+
+       /**
         * Sets whether to disable gzip compression for resources. You need to 
set this on some SAP
         * versions, which gzip things twice.
         * 

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/Settings.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/Settings.java?rev=788756&r1=788755&r2=788756&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/Settings.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/settings/Settings.java 
Fri Jun 26 16:35:52 2009
@@ -329,11 +329,12 @@
        /** */
        private Bytes defaultMaximumUploadSize = Bytes.MAX;
 
-       /**
-        * escape string for '..' within resource keys
-        */
+       /** escape string for '..' within resource keys */
        private CharSequence parentFolderPlaceholder = null;
 
+       /** Default cache duration */
+       private int defaultCacheDuration = 3600;
+
        /**
         * Create the application settings, carrying out any necessary 
initializations.
         * 
@@ -1519,4 +1520,23 @@
                return developmentUtilitiesEnabled;
        }
 
+       /**
+        * @see 
org.apache.wicket.settings.IResourceSettings#getDefaultCacheDuration()
+        */
+       public final int getDefaultCacheDuration()
+       {
+               return defaultCacheDuration;
+       }
+
+       /**
+        * @see 
org.apache.wicket.settings.IResourceSettings#setDefaultCacheDuration(long)
+        */
+       public final void setDefaultCacheDuration(int defaultDuration)
+       {
+               if (defaultDuration < 0)
+               {
+                       throw new IllegalArgumentException("Parameter 
'defaultDuration' must not be < 0");
+               }
+               defaultCacheDuration = defaultDuration;
+       }
 }


Reply via email to