From 2a81783f291805594d4b97da6830aee94292f8c8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 17 Aug 2012 15:35:38 -0400
Subject: [PATCH] Eliminated unnecessary repository enumeration (issue 103)
---
src/com/gitblit/wicket/panels/RepositoriesPanel.java | 39 +++++++++++++++++++++++++++------------
1 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/src/com/gitblit/wicket/panels/RepositoriesPanel.java b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
index 3a876bd..8c8e1e5 100644
--- a/src/com/gitblit/wicket/panels/RepositoriesPanel.java
+++ b/src/com/gitblit/wicket/panels/RepositoriesPanel.java
@@ -49,12 +49,12 @@
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
-import com.gitblit.utils.TimeUtils;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.BasePage;
import com.gitblit.wicket.pages.EditRepositoryPage;
import com.gitblit.wicket.pages.EmptyRepositoryPage;
+import com.gitblit.wicket.pages.RepositoriesPage;
import com.gitblit.wicket.pages.SummaryPage;
public class RepositoriesPanel extends BasePanel {
@@ -74,6 +74,16 @@
final IDataProvider<RepositoryModel> dp;
Fragment adminLinks = new Fragment("adminPanel", "adminLinks", this);
+ adminLinks.add(new Link<Void>("clearCache") {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onClick() {
+ GitBlit.self().resetRepositoryListCache();
+ setResponsePage(RepositoriesPage.class);
+ }
+ }.setVisible(GitBlit.getBoolean(Keys.git.cacheRepositoryList, true)));
adminLinks.add(new BookmarkablePageLink<Void>("newRepository", EditRepositoryPage.class));
add(adminLinks.setVisible(showAdmin));
@@ -144,14 +154,20 @@
item.add(row);
// try to strip group name for less cluttered list
- String repoName = entry.name;
+ String repoName = entry.toString();
if (!StringUtils.isEmpty(currGroupName) && (repoName.indexOf('/') > -1)) {
repoName = repoName.substring(currGroupName.length() + 1);
}
-
+
// repository swatch
- Component swatch = new Label("repositorySwatch", " ").setEscapeModelStrings(false);
- WicketUtils.setCssBackground(swatch, entry.name);
+ Component swatch;
+ if (entry.isBare){
+ swatch = new Label("repositorySwatch", " ").setEscapeModelStrings(false);
+ } else {
+ swatch = new Label("repositorySwatch", "!");
+ WicketUtils.setHtmlTooltip(swatch, getString("gb.workingCopyWarning"));
+ }
+ WicketUtils.setCssBackground(swatch, entry.toString());
row.add(swatch);
swatch.setVisible(showSwatch);
@@ -179,7 +195,7 @@
row.add(new Label("repositorySize", entry.size).setVisible(showSize));
} else {
// New repository
- row.add(new Label("repositorySize", "<span class='empty'>(empty)</span>")
+ row.add(new Label("repositorySize", "<span class='empty'>(" + getString("gb.empty") + ")</span>")
.setEscapeModelStrings(false));
}
@@ -236,11 +252,11 @@
if (entry.lastChange.getTime() == 0) {
lastChange = "--";
} else {
- lastChange = TimeUtils.timeAgo(entry.lastChange);
+ lastChange = getTimeUtils().timeAgo(entry.lastChange);
}
Label lastChangeLabel = new Label("repositoryLastChange", lastChange);
row.add(lastChangeLabel);
- WicketUtils.setCssClass(lastChangeLabel, TimeUtils.timeAgoCss(entry.lastChange));
+ WicketUtils.setCssClass(lastChangeLabel, getTimeUtils().timeAgoCss(entry.lastChange));
boolean showOwner = user != null && user.username.equalsIgnoreCase(entry.owner);
if (showAdmin) {
@@ -256,20 +272,19 @@
@Override
public void onClick() {
if (GitBlit.self().deleteRepositoryModel(entry)) {
- info(MessageFormat.format("Repository ''{0}'' deleted.", entry));
+ info(MessageFormat.format(getString("gb.repositoryDeleted"), entry));
if (dp instanceof SortableRepositoriesProvider) {
((SortableRepositoriesProvider) dp).remove(entry);
} else {
((RepositoriesProvider) dp).remove(entry);
}
} else {
- error(MessageFormat.format("Failed to delete repository ''{0}''!",
- entry));
+ error(MessageFormat.format(getString("gb.repositoryDeleteFailed"), entry));
}
}
};
deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format(
- "Delete repository \"{0}\"?", entry)));
+ getString("gb.deleteRepository"), entry)));
repositoryLinks.add(deleteLink);
row.add(repositoryLinks);
} else if (showOwner) {
--
Gitblit v1.9.1