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/EditRepositoryPage.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
index 938b05e..f2c47f2 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -52,6 +52,7 @@
 import com.gitblit.Constants;
 import com.gitblit.Constants.AccessRestrictionType;
 import com.gitblit.Constants.AuthorizationControl;
+import com.gitblit.Constants.CommitMessageRenderer;
 import com.gitblit.Constants.FederationStrategy;
 import com.gitblit.Constants.RegistrantType;
 import com.gitblit.GitBlit;
@@ -76,6 +77,8 @@
 	
 	RepositoryModel repositoryModel;
 
+	private IModel<String> metricAuthorExclusions;
+	
 	private IModel<String> mailingLists;
 
 	public EditRepositoryPage() {
@@ -83,7 +86,7 @@
 		super();
 		isCreate = true;
 		RepositoryModel model = new RepositoryModel();
-		String restriction = GitBlit.getString(Keys.git.defaultAccessRestriction, null);
+		String restriction = GitBlit.getString(Keys.git.defaultAccessRestriction, "PUSH");
 		model.accessRestriction = AccessRestrictionType.fromName(restriction);
 		String authorization = GitBlit.getString(Keys.git.defaultAuthorizationControl, null);
 		model.authorizationControl = AuthorizationControl.fromName(authorization);
@@ -316,6 +319,23 @@
 						}
 					}
 
+					// set author metric exclusions
+					String ax = metricAuthorExclusions.getObject();
+					if (!StringUtils.isEmpty(ax)) {
+						Set<String> list = new HashSet<String>();
+						for (String exclusion : StringUtils.getStringsFromValue(ax,  " ")) {
+							if (StringUtils.isEmpty(exclusion)) {
+								continue;
+							}
+							if (exclusion.indexOf(' ') > -1) {
+								list.add("\"" + exclusion + "\"");	
+							} else {
+								list.add(exclusion);
+							}
+						}
+						repositoryModel.metricAuthorExclusions = new ArrayList<String>(list);
+					}
+
 					// set mailing lists
 					String ml = mailingLists.getObject();
 					if (!StringUtils.isEmpty(ml)) {
@@ -397,8 +417,8 @@
 		form.add(new TextField<String>("description"));
 		form.add(ownersPalette);
 		form.add(new CheckBox("allowForks").setEnabled(GitBlit.getBoolean(Keys.web.allowForking, true)));
-		DropDownChoice<AccessRestrictionType> accessRestriction = new DropDownChoice<AccessRestrictionType>("accessRestriction", Arrays
-				.asList(AccessRestrictionType.values()), new AccessRestrictionRenderer());
+		DropDownChoice<AccessRestrictionType> accessRestriction = new DropDownChoice<AccessRestrictionType>("accessRestriction",
+				AccessRestrictionType.choices(GitBlit.getBoolean(Keys.git.allowAnonymousPushes, false)), new AccessRestrictionRenderer());
 		form.add(accessRestriction);
 		form.add(new CheckBox("isFrozen"));
 		// TODO enable origin definition
@@ -434,6 +454,10 @@
 		form.add(new CheckBox("skipSummaryMetrics"));
 		List<Integer> maxActivityCommits  = Arrays.asList(-1, 0, 25, 50, 75, 100, 150, 200, 250, 500 );
 		form.add(new DropDownChoice<Integer>("maxActivityCommits", maxActivityCommits, new MaxActivityCommitsRenderer()));
+
+		metricAuthorExclusions = new Model<String>(ArrayUtils.isEmpty(repositoryModel.metricAuthorExclusions) ? ""
+				: StringUtils.flattenStrings(repositoryModel.metricAuthorExclusions, " "));
+		form.add(new TextField<String>("metricAuthorExclusions", metricAuthorExclusions));
 
 		mailingLists = new Model<String>(ArrayUtils.isEmpty(repositoryModel.mailingLists) ? ""
 				: StringUtils.flattenStrings(repositoryModel.mailingLists, " "));
@@ -528,6 +552,10 @@
 				target.addComponent(teamsPalette);
 			}
 		});
+		
+		List<CommitMessageRenderer> renderers = Arrays.asList(CommitMessageRenderer.values());
+		DropDownChoice<CommitMessageRenderer> messageRendererChoice = new DropDownChoice<CommitMessageRenderer>("commitMessageRenderer", renderers);
+		form.add(messageRendererChoice);
 		
 		form.add(new Button("save"));
 		Button cancel = new Button("cancel") {
@@ -698,5 +726,4 @@
 			return Integer.toString(index);
 		}
 	}
-	
 }

--
Gitblit v1.9.1