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/21 00:39:34 UTC

svn commit: r999153 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java

Author: pete
Date: Mon Sep 20 22:39:33 2010
New Revision: 999153

URL: http://svn.apache.org/viewvc?rev=999153&view=rev
Log:
WICKET-3062 improve readability of cache keys and cleanup code

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java?rev=999153&r1=999152&r2=999153&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java Mon Sep 20 22:39:33 2010
@@ -40,7 +40,7 @@ public class DefaultMarkupCacheKeyProvid
 
 	/**
 	 * Construct a proper key value for the cache
-	 * 
+	 *
 	 * @param container
 	 *            The container requesting the markup
 	 * @param clazz
@@ -51,36 +51,36 @@ public class DefaultMarkupCacheKeyProvid
 	public String getCacheKey(final MarkupContainer container, final Class<?> clazz)
 	{
 		final String classname = clazz.getName();
-		final Locale locale = container.getLocale();
-		final String style = container.getStyle() + "_" + container.getVariation();
-		final String markupType = container.getMarkupType().getExtension();
-
 		final AppendingStringBuffer buffer = new AppendingStringBuffer(classname.length() + 64);
 		buffer.append(classname);
 
+		final Locale locale = container.getLocale();
+
 		if (locale != null)
 		{
-			// TODO What is wrong with locale.toString()?!?
-			final boolean l = locale.getLanguage().length() != 0;
-			final boolean c = locale.getCountry().length() != 0;
-			final boolean v = locale.getVariant().length() != 0;
-			buffer.append(locale.getLanguage());
-			if (c || (l && v))
+			buffer.append('-').append(locale.getLanguage());
+
+			final boolean hasLocale = locale.getLanguage().length() != 0;
+			final boolean hasCountry = locale.getCountry().length() != 0;
+			final boolean hasVariant = locale.getVariant().length() != 0;
+			
+			if (hasCountry || (hasLocale && hasVariant))
 			{
-				buffer.append('_').append(locale.getCountry()); // This may just
-				// append '_'
+				buffer.append('_').append(locale.getCountry());
 			}
-			if (v && (l || c))
+			if (hasVariant && (hasLocale || hasCountry))
 			{
 				buffer.append('_').append(locale.getVariant());
 			}
 		}
-		if (style != null)
-		{
-			buffer.append(style);
-		}
+		if (container.getStyle() != null)
+			buffer.append('_').append(container.getStyle());
+
+		if (container.getVariation() != null)
+			buffer.append('_').append(container.getVariation());
+
+		buffer.append('.').append(container.getMarkupType().getExtension());
 
-		buffer.append(markupType);
 		return buffer.toString();
 	}
 }