From 8295dd6cab32df383a30e4bd78e4aff17cfa2187 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 05 Dec 2012 17:20:06 -0500
Subject: [PATCH] Global and per-repository setting to throttle prolific repos in Activity page (issue-173)

---
 src/com/gitblit/authority/NewCertificateConfig.java |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/authority/NewCertificateConfig.java b/src/com/gitblit/authority/NewCertificateConfig.java
index e4db130..ca047c8 100644
--- a/src/com/gitblit/authority/NewCertificateConfig.java
+++ b/src/com/gitblit/authority/NewCertificateConfig.java
@@ -36,13 +36,13 @@
 			}
 		};
 
-		public final String OU;
-		public final String O;
-		public final String L;
-		public final String ST;
-		public final String C;
+		public String OU;
+		public String O;
+		public String L;
+		public String ST;
+		public String C;
 		
-		public final int duration;
+		public int duration;
 		
 		private NewCertificateConfig(final Config c) {
 			duration = c.getInt("new",  null, "duration", 0);
@@ -69,4 +69,25 @@
 				metadata.oids.put(oid, value);
 			}
 		}
+		
+		public void store(Config c, X509Metadata metadata) {
+			store(c, "new", "organizationalUnit", metadata.getOID("OU", null));
+			store(c, "new", "organization", metadata.getOID("O", null));
+			store(c, "new", "locality", metadata.getOID("L", null));
+			store(c, "new", "stateProvince", metadata.getOID("ST", null));
+			store(c, "new", "countryCode", metadata.getOID("C", null));
+			if (duration <= 0) {
+				c.unset("new", null, "duration");
+			} else {
+				c.setInt("new", null, "duration", duration);
+			}
+		}
+		
+		private void store(Config c, String section, String name, String value) {
+			if (StringUtils.isEmpty(value)) {
+				c.unset(section, null, name);
+			} else {
+				c.setString(section, null, name, value);
+			}
+		}
 	}
\ No newline at end of file

--
Gitblit v1.9.1