From 7ba0ec1e871a1f7b5a40b3272e860ade13038e95 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 06 Apr 2011 17:25:23 -0400
Subject: [PATCH] Added placeholder for Admin links on main page.
---
src/com/gitblit/wicket/RepositoryPage.java | 49 ++++++++++++++++++++++++++++---------------------
1 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java
index b4f6fdc..2f2b967 100644
--- a/src/com/gitblit/wicket/RepositoryPage.java
+++ b/src/com/gitblit/wicket/RepositoryPage.java
@@ -20,12 +20,13 @@
import com.gitblit.wicket.panels.PageLinksPanel;
import com.gitblit.wicket.panels.RefsPanel;
-
public abstract class RepositoryPage extends BasePage {
protected final String repositoryName;
protected final String commitId;
protected String description;
+
+ private transient Repository r = null;
public RepositoryPage(PageParameters params, String pageName) {
super(params);
@@ -36,23 +37,28 @@
repositoryName = params.getString("p", "");
commitId = params.getString("h", "");
+ Repository r = getRepository();
+
add(new PageHeader("pageHeader", repositoryName, "/ " + pageName));
- add(new PageLinksPanel("pageLinks", repositoryName, pageName));
+ add(new PageLinksPanel("pageLinks", r, repositoryName, pageName));
setStatelessHint(true);
}
protected Repository getRepository() {
- ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest();
- HttpServletRequest req = servletWebRequest.getHttpServletRequest();
- req.getServerName();
-
- Repository r = GitBlitWebApp.get().getRepository(req, repositoryName);
if (r == null) {
- error("Can not load repository " + repositoryName);
- redirectToInterceptPage(new RepositoriesPage());
- return null;
+ ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest();
+ HttpServletRequest req = servletWebRequest.getHttpServletRequest();
+ req.getServerName();
+
+ Repository r = GitBlitWebApp.get().getRepository(req, repositoryName);
+ if (r == null) {
+ error("Can not load repository " + repositoryName);
+ redirectToInterceptPage(new RepositoriesPage());
+ return null;
+ }
+ description = JGitUtils.getRepositoryDescription(r);
+ this.r = r;
}
- description = JGitUtils.getRepositoryDescription(r);
return r;
}
@@ -64,22 +70,22 @@
String html = WicketUtils.breakLines(text);
if (substituteRegex) {
Map<String, String> map = new HashMap<String, String>();
- // global regex keys
+ // global regex keys
for (String key : StoredSettings.getAllKeys("regex.global")) {
String subKey = key.substring(key.lastIndexOf('.') + 1);
map.put(subKey, StoredSettings.getString(key, ""));
}
-
+
// repository-specific regex keys
List<String> keys = StoredSettings.getAllKeys("regex." + repositoryName.toLowerCase());
for (String key : keys) {
String subKey = key.substring(key.lastIndexOf('.') + 1);
map.put(subKey, StoredSettings.getString(key, ""));
}
-
+
for (String key : map.keySet()) {
String definition = map.get(key).trim();
- String [] chunks = definition.split("!!!");
+ String[] chunks = definition.split("!!!");
if (chunks.length == 2) {
html = html.replaceAll(chunks[0], chunks[1]);
} else {
@@ -91,28 +97,29 @@
}
protected void addFooter() {
+ r.close();
add(new PageFooter("pageFooter", description));
}
protected PageParameters newRepositoryParameter() {
- return new PageParameters("p=" + repositoryName);
+ return new PageParameters("p=" + repositoryName);
}
-
+
protected PageParameters newCommitParameter() {
return newCommitParameter(commitId);
}
-
+
protected PageParameters newCommitParameter(String commitId) {
if (commitId == null || commitId.trim().length() == 0) {
- return newRepositoryParameter();
+ return newRepositoryParameter();
}
return new PageParameters("p=" + repositoryName + ",h=" + commitId);
}
- protected PageParameters newPathParameter(String path) {
+ protected PageParameters newPathParameter(String path) {
if (path == null || path.trim().length() == 0) {
return newCommitParameter();
}
return new PageParameters("p=" + repositoryName + ",h=" + commitId + ",f=" + path);
- }
+ }
}
--
Gitblit v1.9.1