From f8288af5c6233172a5ae29ed11c46b31b4316931 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 12 May 2011 17:37:29 -0400
Subject: [PATCH] Updated gitignore.
---
src/com/gitblit/wicket/RepositoryPage.java | 56 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java
index 28cdcd0..78fd33c 100644
--- a/src/com/gitblit/wicket/RepositoryPage.java
+++ b/src/com/gitblit/wicket/RepositoryPage.java
@@ -1,5 +1,6 @@
package com.gitblit.wicket;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -31,6 +32,7 @@
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.JGitUtils.SearchType;
import com.gitblit.utils.StringUtils;
+import com.gitblit.wicket.models.RepositoryModel;
import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.DocsPage;
import com.gitblit.wicket.pages.LogPage;
@@ -46,9 +48,10 @@
protected final String repositoryName;
protected final String objectId;
- protected String description;
private transient Repository r = null;
+
+ private RepositoryModel m = null;
private final Logger logger = LoggerFactory.getLogger(RepositoryPage.class);
@@ -68,14 +71,17 @@
public RepositoryPage(PageParameters params) {
super(params);
- if (!params.containsKey("r")) {
- error("Repository not specified!");
- redirectToInterceptPage(new RepositoriesPage());
- }
repositoryName = WicketUtils.getRepositoryName(params);
objectId = WicketUtils.getObject(params);
+ if (StringUtils.isEmpty(repositoryName)) {
+ error(MessageFormat.format("Repository not specified for {0}!", getPageName()), true);
+ }
+
Repository r = getRepository();
+ if (r == null) {
+ error(MessageFormat.format("Failed to open repository {0} for {1}!", repositoryName, getPageName()), true);
+ }
// standard page links
add(new BookmarkablePageLink<Void>("summary", SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
@@ -84,18 +90,16 @@
add(new BookmarkablePageLink<Void>("tags", TagsPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newRepositoryParameter(repositoryName)));
- // per-repository extra page links
+ // per-repository extra page links
List<String> extraPageLinks = new ArrayList<String>();
// Conditionally add tickets page
- boolean checkTickets = JGitUtils.getRepositoryUseTickets(r);
- if (checkTickets && JGitUtils.getTicketsBranch(r) != null) {
+ if (getRepositoryModel().useTickets && JGitUtils.getTicketsBranch(r) != null) {
extraPageLinks.add("tickets");
}
// Conditionally add docs page
- boolean checkDocs = JGitUtils.getRepositoryUseDocs(r);
- if (checkDocs) {
+ if (getRepositoryModel().useDocs) {
extraPageLinks.add("docs");
}
@@ -115,7 +119,7 @@
}
};
add(extrasView);
-
+
// disable current page
disablePageLink(getPageName());
@@ -123,7 +127,7 @@
SearchForm searchForm = new SearchForm("searchForm", repositoryName);
add(searchForm);
searchForm.setTranslatedAttributes();
-
+
// set stateless page preference
setStatelessHint(true);
}
@@ -150,10 +154,30 @@
redirectToInterceptPage(new RepositoriesPage());
return null;
}
- description = JGitUtils.getRepositoryDescription(r);
this.r = r;
}
return r;
+ }
+
+ protected RepositoryModel getRepositoryModel() {
+ if (m == null) {
+ RepositoryModel model = GitBlit.self().getRepositoryModel(GitBlitWebSession.get().getUser(), repositoryName);
+ if (model == null) {
+ error("Unauthorized access for repository " + repositoryName);
+ redirectToInterceptPage(new RepositoriesPage());
+ return null;
+ }
+ m = model;
+ }
+ return m;
+ }
+
+ protected RevCommit getCommit() {
+ RevCommit commit = JGitUtils.getCommit(r, objectId);
+ if (commit == null) {
+ error(MessageFormat.format("Failed to find commit \"{0}\" in {1} for {2} page!", objectId, repositoryName, getPageName()), true);
+ }
+ return commit;
}
protected void addRefs(Repository r, RevCommit c) {
@@ -297,11 +321,11 @@
TextField<String> searchBox = new TextField<String>("searchBox", searchBoxModel);
add(searchBox);
}
-
- void setTranslatedAttributes() {
+
+ void setTranslatedAttributes() {
WicketUtils.setHtmlTooltip(get("searchType"), getString("gb.searchTypeTooltip"));
WicketUtils.setHtmlTooltip(get("searchBox"), getString("gb.searchTooltip"));
- WicketUtils.setInputPlaceholder(get("searchBox"), getString("gb.search"));
+ WicketUtils.setInputPlaceholder(get("searchBox"), getString("gb.search"));
}
@Override
--
Gitblit v1.9.1