From 4ebaf603fa9789e3e34802bdf72b15859ee95e24 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 23 Aug 2012 18:05:51 -0400
Subject: [PATCH] Clearing the cache via RPC no longer requires admin credentials
---
src/com/gitblit/models/RepositoryModel.java | 63 ++++++++++++++++++++++++++++++-
1 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/src/com/gitblit/models/RepositoryModel.java b/src/com/gitblit/models/RepositoryModel.java
index 97ae518..2719663 100644
--- a/src/com/gitblit/models/RepositoryModel.java
+++ b/src/com/gitblit/models/RepositoryModel.java
@@ -16,11 +16,25 @@
package com.gitblit.models;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
+import java.util.Map;
import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.Constants.AuthorizationControl;
+import com.gitblit.Constants.FederationStrategy;
+import com.gitblit.utils.ArrayUtils;
+import com.gitblit.utils.StringUtils;
-public class RepositoryModel implements Serializable {
+/**
+ * RepositoryModel is a serializable model class that represents a Gitblit
+ * repository including its configuration settings and access restriction.
+ *
+ * @author James Moger
+ *
+ */
+public class RepositoryModel implements Serializable, Comparable<RepositoryModel> {
private static final long serialVersionUID = 1L;
@@ -34,9 +48,28 @@
public boolean useTickets;
public boolean useDocs;
public AccessRestrictionType accessRestriction;
+ public AuthorizationControl authorizationControl;
+ public boolean allowAuthenticated;
public boolean isFrozen;
public boolean showReadme;
-
+ public FederationStrategy federationStrategy;
+ public List<String> federationSets;
+ public boolean isFederated;
+ public boolean skipSizeCalculation;
+ public boolean skipSummaryMetrics;
+ public String frequency;
+ public boolean isBare;
+ public String origin;
+ public String HEAD;
+ public List<String> availableRefs;
+ public List<String> indexedBranches;
+ public String size;
+ public List<String> preReceiveScripts;
+ public List<String> postReceiveScripts;
+ public List<String> mailingLists;
+ public Map<String, String> customFields;
+ private String displayName;
+
public RepositoryModel() {
this("", "", "", new Date(0));
}
@@ -47,10 +80,34 @@
this.owner = owner;
this.lastChange = lastchange;
this.accessRestriction = AccessRestrictionType.NONE;
+ this.authorizationControl = AuthorizationControl.NAMED;
+ this.federationSets = new ArrayList<String>();
+ this.federationStrategy = FederationStrategy.FEDERATE_THIS;
+ }
+
+ public List<String> getLocalBranches() {
+ if (ArrayUtils.isEmpty(availableRefs)) {
+ return new ArrayList<String>();
+ }
+ List<String> localBranches = new ArrayList<String>();
+ for (String ref : availableRefs) {
+ if (ref.startsWith("refs/heads")) {
+ localBranches.add(ref);
+ }
+ }
+ return localBranches;
}
@Override
public String toString() {
- return name;
+ if (displayName == null) {
+ displayName = StringUtils.stripDotGit(name);
+ }
+ return displayName;
+ }
+
+ @Override
+ public int compareTo(RepositoryModel o) {
+ return StringUtils.compareRepositoryNames(name, o.name);
}
}
\ No newline at end of file
--
Gitblit v1.9.1