Author: mck
Date: Mon May 27 17:12:31 2013
New Revision: 1486670
URL: http://svn.apache.org/r1486670
Log:
forward-port r1486577
svn merge -c1486577 ^/tiles/framework/branches/TILES_3_0_X .
Modified:
tiles/framework/trunk/ (props changed)
tiles/framework/trunk/tiles-extras/src/main/java/org/apache/tiles/extras/renderer/OptionsRenderer.java
Propchange: tiles/framework/trunk/
------------------------------------------------------------------------------
Merged /tiles/framework/branches/TILES_3_0_X:r1486577
Modified:
tiles/framework/trunk/tiles-extras/src/main/java/org/apache/tiles/extras/renderer/OptionsRenderer.java
URL:
http://svn.apache.org/viewvc/tiles/framework/trunk/tiles-extras/src/main/java/org/apache/tiles/extras/renderer/OptionsRenderer.java?rev=1486670&r1=1486669&r2=1486670&view=diff
==============================================================================
---
tiles/framework/trunk/tiles-extras/src/main/java/org/apache/tiles/extras/renderer/OptionsRenderer.java
(original)
+++
tiles/framework/trunk/tiles-extras/src/main/java/org/apache/tiles/extras/renderer/OptionsRenderer.java
Mon May 27 17:12:31 2013
@@ -29,6 +29,7 @@ import java.util.regex.Pattern;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
+import com.google.common.cache.LoadingCache;
import org.apache.tiles.Attribute;
import org.apache.tiles.ListAttribute;
import org.apache.tiles.access.TilesAccess;
@@ -164,24 +165,29 @@ public final class OptionsRenderer imple
private static final long CACHE_LIFE =
Long.getLong(CACHE_LIFE_PROPERTY, DEFAULT_CACHE_LIFE);
+ /** It takes CACHE_LIFE milliseconds for any hot deployments to
register.
+ */
+ private static final ConcurrentMap<String,Boolean> TEMPLATE_EXISTS;
+
static {
LOG.info("cache_ttl_ms=" + CACHE_LIFE);
+
+ LoadingCache<String,Boolean> builder = CacheBuilder
+ .newBuilder()
+ .expireAfterWrite(CACHE_LIFE, TimeUnit.MILLISECONDS)
+ .build(
+ new CacheLoader<String, Boolean>() {
+ @Override
+ public Boolean load(String key) {
+ throw new UnsupportedOperationException(
+ "illegal TEMPLATE_EXISTS.get(\"" + key
+ + "\") before
TEMPLATE_EXISTS.containsKey(\"" + key + "\")");
+ }
+ });
+
+ TEMPLATE_EXISTS = builder.asMap();
}
- /** It takes CACHE_LIFE milliseconds for any hot deployments to
register.
- */
- private static final ConcurrentMap<String,Boolean> TEMPLATE_EXISTS =
CacheBuilder.newBuilder()
- .expireAfterWrite(CACHE_LIFE, TimeUnit.MILLISECONDS)
- .build(
- new CacheLoader<String, Boolean>() {
- @Override
- public Boolean load(String key) {
- throw new UnsupportedOperationException(
- "illegal TEMPLATE_EXISTS.get(\"" + key
- + "\") before TEMPLATE_EXISTS.containsKey(\""
+ key + "\")");
- }
- })
- .asMap();
static boolean attemptTemplate(final String template) {
return !TEMPLATE_EXISTS.containsKey(template) ||
TEMPLATE_EXISTS.get(template);