From 73d8e161834f768bc772e38a7ebf1a140962c685 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 30 Sep 2013 10:10:47 -0400
Subject: [PATCH] Add recursive delete function to FileUtils

---
 src/main/java/com/gitblit/wicket/pages/SummaryPage.java |   89 ++++++++------------------------------------
 1 files changed, 17 insertions(+), 72 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
index f092a38..17c41eb 100644
--- a/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/SummaryPage.java
@@ -32,7 +32,6 @@
 import org.apache.wicket.markup.repeater.data.ListDataProvider;
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.revwalk.RevCommit;
-import org.wicketstuff.googlecharts.Chart;
 import org.wicketstuff.googlecharts.ChartAxis;
 import org.wicketstuff.googlecharts.ChartAxisType;
 import org.wicketstuff.googlecharts.ChartProvider;
@@ -42,27 +41,27 @@
 import org.wicketstuff.googlecharts.MarkerType;
 import org.wicketstuff.googlecharts.ShapeMarker;
 
-import com.gitblit.Constants.AccessPermission;
-import com.gitblit.Constants.AccessRestrictionType;
 import com.gitblit.GitBlit;
 import com.gitblit.Keys;
 import com.gitblit.models.Metric;
 import com.gitblit.models.PathModel;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
-import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.JGitUtils;
 import com.gitblit.utils.MarkdownUtils;
 import com.gitblit.utils.StringUtils;
+import com.gitblit.wicket.CacheControl;
 import com.gitblit.wicket.GitBlitWebSession;
 import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.CacheControl.LastModified;
+import com.gitblit.wicket.charting.SecureChart;
 import com.gitblit.wicket.panels.BranchesPanel;
-import com.gitblit.wicket.panels.DetailedRepositoryUrlPanel;
 import com.gitblit.wicket.panels.LinkPanel;
 import com.gitblit.wicket.panels.LogPanel;
-import com.gitblit.wicket.panels.SparkleShareInvitePanel;
+import com.gitblit.wicket.panels.RepositoryUrlPanel;
 import com.gitblit.wicket.panels.TagsPanel;
 
+@CacheControl(LastModified.REPOSITORY)
 public class SummaryPage extends RepositoryPage {
 
 	public SummaryPage(PageParameters params) {
@@ -100,12 +99,16 @@
 			private static final long serialVersionUID = 1L;
 			int counter = 0;
 			public void populateItem(final Item<String> item) {
-				UserModel ownerModel = GitBlit.self().getUserModel(item.getModelObject());
+				String ownername = item.getModelObject();
+				UserModel ownerModel = GitBlit.self().getUserModel(ownername);
 				if (ownerModel != null) {
 					item.add(new LinkPanel("owner", null, ownerModel.getDisplayName(), UserPage.class,
 							WicketUtils.newUsernameParameter(ownerModel.username)).setRenderBodyOnly(true));
 				} else {
-					item.add(new Label("owner").setVisible(false));
+					Label owner = new Label("owner", ownername);
+					WicketUtils.setCssStyle(owner, "text-decoration: line-through;");
+					WicketUtils.setHtmlTooltip(owner,  MessageFormat.format(getString("gb.failedToFindAccount"), ownername));
+					item.add(owner);
 				}
 				counter++;
 				item.add(new Label("comma", ",").setVisible(counter < owners.size()));
@@ -116,7 +119,8 @@
 		add(ownersView);
 		
 		add(WicketUtils.createTimestampLabel("repositoryLastChange",
-				JGitUtils.getLastChange(r), getTimeZone(), getTimeUtils()));
+				JGitUtils.getLastChange(r).when, getTimeZone(), getTimeUtils()));
+		add(new Label("repositorySize", getRepositoryModel().size));
 		if (metricsTotal == null) {
 			add(new Label("branchStats", ""));
 		} else {
@@ -127,67 +131,8 @@
 		add(new BookmarkablePageLink<Void>("metrics", MetricsPage.class,
 				WicketUtils.newRepositoryParameter(repositoryName)));
 
-		List<String> repositoryUrls = new ArrayList<String>();
-
-		AccessPermission accessPermission = null;
-		if (GitBlit.getBoolean(Keys.git.enableGitServlet, true)) {			
-			accessPermission = user.getRepositoryPermission(model).permission;
-			AccessRestrictionType accessRestriction = getRepositoryModel().accessRestriction;
-			switch (accessRestriction) {
-			case NONE:
-				add(WicketUtils.newClearPixel("accessRestrictionIcon").setVisible(false));
-				break;
-			case PUSH:
-				add(WicketUtils.newImage("accessRestrictionIcon", "lock_go_16x16.png",
-						getAccessRestrictions().get(accessRestriction)));
-				break;
-			case CLONE:
-				add(WicketUtils.newImage("accessRestrictionIcon", "lock_pull_16x16.png",
-						getAccessRestrictions().get(accessRestriction)));
-				break;
-			case VIEW:
-				add(WicketUtils.newImage("accessRestrictionIcon", "shield_16x16.png",
-						getAccessRestrictions().get(accessRestriction)));
-				break;
-			default:
-				add(WicketUtils.newClearPixel("accessRestrictionIcon").setVisible(false));
-			}
-			// add the Gitblit repository url
-			repositoryUrls.add(getRepositoryUrl(getRepositoryModel()));
-		} else {
-			add(WicketUtils.newClearPixel("accessRestrictionIcon").setVisible(false));
-		}
-		repositoryUrls.addAll(GitBlit.self().getOtherCloneUrls(repositoryName, UserModel.ANONYMOUS.equals(user) ? "" : user.username));
-		
-		String primaryUrl = ArrayUtils.isEmpty(repositoryUrls) ? "" : repositoryUrls.remove(0);
-		add(new DetailedRepositoryUrlPanel("repositoryPrimaryUrl", getLocalizer(), this, model.name, primaryUrl, accessPermission));
-
-		Component gitDaemonUrlPanel = createGitDaemonUrlPanel("repositoryGitDaemonUrl", user, model);
-		if (!StringUtils.isEmpty(primaryUrl) && gitDaemonUrlPanel instanceof DetailedRepositoryUrlPanel) {
-			WicketUtils.setCssStyle(gitDaemonUrlPanel, "padding-top: 10px");
-		}
-		add(gitDaemonUrlPanel);
-		
-		String sparkleshareUrl = getSparkleShareInviteUrl(model);
-		if (StringUtils.isEmpty(sparkleshareUrl)) {
-			add(new Label("repositorySparkleShareInviteUrl").setVisible(false));
-		} else {
-			Component sparklesharePanel = new SparkleShareInvitePanel("repositorySparkleShareInviteUrl", getLocalizer(), this, sparkleshareUrl, accessPermission);
-			WicketUtils.setCssStyle(sparklesharePanel, "padding-top: 10px;");
-			add(sparklesharePanel);
-		}
-
-		ListDataProvider<String> urls = new ListDataProvider<String>(repositoryUrls);
-		DataView<String> otherUrlsView = new DataView<String>("otherUrls", urls) {
-			private static final long serialVersionUID = 1L;
-
-			public void populateItem(final Item<String> item) {
-				final String url = item.getModelObject();
-				item.add(new DetailedRepositoryUrlPanel("otherUrl", getLocalizer(), this, model.name, url));
-			}
-		};
-		add(otherUrlsView);
-
+		add(new RepositoryUrlPanel("repositoryUrlPanel", false, user, model));
+				
 		add(new LogPanel("commitsPanel", repositoryName, getRepositoryModel().HEAD, r, numberCommits, 0, getRepositoryModel().showRemoteBranches));
 		add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs).hideIfEmpty());
 		add(new BranchesPanel("branchesPanel", getRepositoryModel(), r, numberRefs, false).hideIfEmpty());
@@ -260,9 +205,9 @@
 					String.valueOf((int) WicketUtils.maxValue(metrics)) });
 			provider.addAxis(commitAxis);
 			provider.setLineStyles(new LineStyle[] { new LineStyle(2, 4, 0), new LineStyle(0, 4, 1) });
-			provider.addShapeMarker(new ShapeMarker(MarkerType.CIRCLE, Color.BLUE, 1, -1, 5));
+			provider.addShapeMarker(new ShapeMarker(MarkerType.CIRCLE, Color.decode("#002060"), 1, -1, 5));
 
-			add(new Chart("commitsChart", provider));
+			add(new SecureChart("commitsChart", provider));
 		} else {
 			add(WicketUtils.newBlankImage("commitsChart"));
 		}

--
Gitblit v1.9.1