From c0bf1a3ebffac49e59ee8b3283b95bfa672630da Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 22 Jul 2013 08:02:52 -0400
Subject: [PATCH] Merge pull request #104 from rafaelcavazin/master
---
src/main/java/com/gitblit/wicket/GitBlitWebApp.java | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
index cdae093..74ccac7 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -15,7 +15,9 @@
*/
package com.gitblit.wicket;
+import java.util.HashMap;
import java.util.Locale;
+import java.util.Map;
import org.apache.wicket.Application;
import org.apache.wicket.Page;
@@ -70,6 +72,8 @@
public class GitBlitWebApp extends WebApplication {
public final static Class<? extends BasePage> HOME_PAGE_CLASS = MyDashboardPage.class;
+
+ private final Map<String, CacheControl> cacheablePages = new HashMap<String, CacheControl>();
@Override
public void init() {
@@ -149,6 +153,12 @@
parameters = new String[] {};
}
mount(new GitblitParamUrlCodingStrategy(location, clazz, parameters));
+
+ // map the mount point to the cache control definition
+ if (clazz.isAnnotationPresent(CacheControl.class)) {
+ CacheControl cacheControl = clazz.getAnnotation(CacheControl.class);
+ cacheablePages.put(location.substring(1), cacheControl);
+ }
}
@Override
@@ -156,6 +166,14 @@
return HOME_PAGE_CLASS;
}
+ public boolean isCacheablePage(String mountPoint) {
+ return cacheablePages.containsKey(mountPoint);
+ }
+
+ public CacheControl getCacheControl(String mountPoint) {
+ return cacheablePages.get(mountPoint);
+ }
+
@Override
public final Session newSession(Request request, Response response) {
GitBlitWebSession gitBlitWebSession = new GitBlitWebSession(request);
--
Gitblit v1.9.1