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 2011/06/29 19:57:45 UTC

svn commit: r1141180 - in /wicket/trunk/wicket-core/src: main/java/org/apache/wicket/request/resource/caching/ test/java/org/apache/wicket/request/mapper/

Author: pete
Date: Wed Jun 29 17:57:44 2011
New Revision: 1141180

URL: http://svn.apache.org/viewvc?rev=1141180&view=rev
Log:
WICKET-3846 javadoc + more tests

Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/AbstractFilenameWithVersionResourceCachingStrategy.java
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/FilenameWithStaticVersionResourceCachingStrategy.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/AbstractFilenameWithVersionResourceCachingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/AbstractFilenameWithVersionResourceCachingStrategy.java?rev=1141180&r1=1141179&r2=1141180&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/AbstractFilenameWithVersionResourceCachingStrategy.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/AbstractFilenameWithVersionResourceCachingStrategy.java Wed Jun 29 17:57:44 2011
@@ -27,8 +27,12 @@ import org.apache.wicket.util.lang.Args;
  * <p/>
  * versioned_filename := [basename][version-suffix][version](.extension)
  * <p/>
- * Since browsers and proxies use this versioned filename of the resource as a 
- * cache key a change to the version will cause a cache miss and subsequent reload.
+ * the <code>version</code> must not contain the <code>version-suffix</code>.
+ * <p/> 
+ * Since browsers and proxies use the versioned filename of the resource url 
+ * as a cache key a change to the version will cause a cache miss and subsequent 
+ * reload of the updated version. This enables us to set the caching duration
+ * of the resource to a maximum.
  * <p/>
  * 
  * @author Peter Ertl
@@ -36,7 +40,8 @@ import org.apache.wicket.util.lang.Args;
 public abstract class AbstractFilenameWithVersionResourceCachingStrategy 
 	extends AbstractResourceCachingStrategy
 {
-	/** suffix that uniquely identifies beginning of the version 
+	/** 
+	 * suffix that marks the beginning the of the version 
 	 * string inside the resource filename */
 	private final String versionSuffix;
 

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/FilenameWithStaticVersionResourceCachingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/FilenameWithStaticVersionResourceCachingStrategy.java?rev=1141180&r1=1141179&r2=1141180&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/FilenameWithStaticVersionResourceCachingStrategy.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/FilenameWithStaticVersionResourceCachingStrategy.java Wed Jun 29 17:57:44 2011
@@ -27,9 +27,6 @@ import org.apache.wicket.util.lang.Args;
  * When deploying an updated version of the application the version string should be 
  * changed. The version string could be hardcoded, taken from some build-tool generated 
  * properties file, injected by spring, etc.
- * <p/>
- * Tt is recommended to use only numbers and characters for the version string to avoid 
- * ambiguities when parsing resource filenames.
  * 
  * @author Peter Ertl
  */

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java?rev=1141180&r1=1141179&r2=1141180&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapperTest.java Wed Jun 29 17:57:44 2011
@@ -555,5 +555,16 @@ public class BasicResourceReferenceMappe
 		url = new ResourceUrl("test-version--------", params);
 		strategy.undecorateUrl(url);
 		assertEquals("test", url.getFileName());
+
+		// weird but valid
+		url = new ResourceUrl("test-version-1.0.3-alpha.txt", params);
+		strategy.undecorateUrl(url);
+		assertEquals("test.txt", url.getFileName());
+
+		// check a version that contains a dot which also marks the filename extension
+		strategy = new FilenameWithStaticVersionResourceCachingStrategy("-version-", "1.0.4-beta");
+		url = new ResourceUrl("test.txt", params);
+		strategy.decorateUrl(url, reference);
+		assertEquals("test-version-1.0.4-beta.txt", url.getFileName());
 	}
 }