summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/wicket/RepositoryPage.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-04-06 17:25:23 -0400
committerJames Moger <james.moger@gitblit.com>2011-04-06 17:25:23 -0400
commit7ba0ec1e871a1f7b5a40b3272e860ade13038e95 (patch)
tree3ba89d94a01f6454235cd2636ecaa3c1c7c6a306 /src/com/gitblit/wicket/RepositoryPage.java
parent87c3d714693b216cee9c31cdc5170715c56f541d (diff)
downloadgitblit-7ba0ec1e871a1f7b5a40b3272e860ade13038e95.tar.gz
gitblit-7ba0ec1e871a1f7b5a40b3272e860ade13038e95.zip
Added placeholder for Admin links on main page.
Added placeholder for Admin links on main page. Dynamically add ticgit link to nav links, if ticgit branch is discovered. Settings refinements.
Diffstat (limited to 'src/com/gitblit/wicket/RepositoryPage.java')
-rw-r--r--src/com/gitblit/wicket/RepositoryPage.java49
1 files changed, 28 insertions, 21 deletions
diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java
index b4f6fdc3..2f2b9676 100644
--- a/src/com/gitblit/wicket/RepositoryPage.java
+++ b/src/com/gitblit/wicket/RepositoryPage.java
@@ -20,13 +20,14 @@ import com.gitblit.wicket.panels.PageHeader;
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);
if (!params.containsKey("p")) {
@@ -36,23 +37,28 @@ public abstract class RepositoryPage extends BasePage {
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 @@ public abstract class RepositoryPage extends BasePage {
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 @@ public abstract class RepositoryPage extends BasePage {
}
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);
- }
+ }
}