From 608ecec9dff2ea4ce8e2a1ea6fc8909a64492a68 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 13 Apr 2011 09:43:56 -0400
Subject: [PATCH] Patch formatter. Ensure html escaping. css tweaks.
---
src/com/gitblit/wicket/RepositoryPage.java | 43 ++++++++++++++++++++++++-------------------
1 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java
index d3e0589..0561771 100644
--- a/src/com/gitblit/wicket/RepositoryPage.java
+++ b/src/com/gitblit/wicket/RepositoryPage.java
@@ -21,23 +21,27 @@
public abstract class RepositoryPage extends BasePage {
protected final String repositoryName;
- protected final String commitId;
+ protected final String objectId;
protected String description;
private transient Repository r = null;
public RepositoryPage(PageParameters params) {
super(params);
- if (!params.containsKey("p")) {
+ if (!params.containsKey("r")) {
error("Repository not specified!");
redirectToInterceptPage(new RepositoriesPage());
}
- repositoryName = params.getString("p", "");
- commitId = params.getString("h", "");
+ repositoryName = WicketUtils.getRepositoryName(params);
+ objectId = WicketUtils.getObject(params);
Repository r = getRepository();
- add(new PageLinksPanel("pageLinks", r, repositoryName, getPageName()));
+ // setup the page links and disable this page's link
+ PageLinksPanel pageLinks = new PageLinksPanel("pageLinks", r, repositoryName, getPageName());
+ add(pageLinks);
+ pageLinks.disablePageLink(getPageName());
+
setStatelessHint(true);
}
@@ -60,7 +64,7 @@
}
protected void addRefs(Repository r, RevCommit c) {
- add(new RefsPanel("refsPanel", r, c));
+ add(new RefsPanel("refsPanel", repositoryName, c, JGitUtils.getAllRefs(r)));
}
protected void addFullText(String wicketId, String text, boolean substituteRegex) {
@@ -92,33 +96,34 @@
}
add(new Label(wicketId, html).setEscapeModelStrings(false));
}
-
+
protected abstract String getPageName();
- protected void addFooter() {
- r.close();
+ @Override
+ protected void onBeforeRender() {
+ // dispose of repository object
+ if (r != null) {
+ r.close();
+ r = null;
+ }
+ // setup page header and footer
setupPage(repositoryName, "/ " + getPageName());
+ super.onBeforeRender();
}
protected PageParameters newRepositoryParameter() {
- return new PageParameters("p=" + repositoryName);
+ return WicketUtils.newRepositoryParameter(repositoryName);
}
protected PageParameters newCommitParameter() {
- return newCommitParameter(commitId);
+ return WicketUtils.newObjectParameter(repositoryName, objectId);
}
protected PageParameters newCommitParameter(String commitId) {
- if (commitId == null || commitId.trim().length() == 0) {
- return newRepositoryParameter();
- }
- return new PageParameters("p=" + repositoryName + ",h=" + commitId);
+ return WicketUtils.newObjectParameter(repositoryName, commitId);
}
protected PageParameters newPathParameter(String path) {
- if (path == null || path.trim().length() == 0) {
- return newCommitParameter();
- }
- return new PageParameters("p=" + repositoryName + ",h=" + commitId + ",f=" + path);
+ return WicketUtils.newPathParameter(repositoryName, objectId, path);
}
}
--
Gitblit v1.9.1