Author: ivaynberg
Date: Fri Jan 11 13:29:32 2008
New Revision: 611305
URL: http://svn.apache.org/viewvc?rev=611305&view=rev
Log:
WICKET-1274 Localizer.getCacheKey() was not returning specific enough keys
which sometimes led to false positive cache hits
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Localizer.java
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Localizer.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Localizer.java?rev=611305&r1=611304&r2=611305&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Localizer.java
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Localizer.java
Fri Jan 11 13:29:32 2008
@@ -318,15 +318,18 @@
String cacheKey = key;
if (component != null)
{
- cacheKey += '-' + component.getPageRelativePath();
+ AppendingStringBuffer buffer = new
AppendingStringBuffer(key);
- Page page = component.findPage();
- if (page != null)
+ Component cursor = component;
+ while (cursor != null)
{
- cacheKey += '-' + page.getClass().getName();
+
buffer.append("-").append(cursor.getClass().getName());
+ buffer.append(":").append(cursor.getId());
+ cursor = cursor.getParent();
}
- cacheKey += "-" + component.getLocale();
+ buffer.append("-").append(component.getLocale());
+ cacheKey = buffer.toString();
}
return cacheKey;
}