From 7847af6e63e7adef6ec8d99a1809e91472d2bc2d Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 05 Sep 2013 09:14:22 -0400
Subject: [PATCH] Restore blockpush and localclone hooks to binaries (issue-303)

---
 src/main/java/com/gitblit/models/GitClientApplication.java |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/gitblit/models/GitClientApplication.java b/src/main/java/com/gitblit/models/GitClientApplication.java
index dbdfa39..eb47eb1 100644
--- a/src/main/java/com/gitblit/models/GitClientApplication.java
+++ b/src/main/java/com/gitblit/models/GitClientApplication.java
@@ -17,6 +17,7 @@
 
 import java.io.Serializable;
 
+import com.gitblit.Constants.AccessPermission;
 import com.gitblit.utils.ArrayUtils;
 import com.gitblit.utils.StringUtils;
 
@@ -31,13 +32,17 @@
 	private static final long serialVersionUID = 1L;
 
 	public String name;
+	public String title;
+	public String description;
+	public String legal;
+	public String icon;
 	public String cloneUrl;
 	public String command;
 	public String productUrl;
-	public String attribution;
-	public boolean isApplication = true;
-	public boolean isActive = true;
+	public String [] transports;
 	public String[] platforms;
+	public AccessPermission minimumPermission;
+	public boolean isActive;
 
 	public boolean allowsPlatform(String p) {
 		if (ArrayUtils.isEmpty(platforms)) {
@@ -55,4 +60,28 @@
 		}
 		return false;
 	}
+	
+	public boolean supportsTransport(String transportOrUrl) {
+		if (ArrayUtils.isEmpty(transports)) {
+			return true;
+		}
+		
+		String scheme = transportOrUrl;
+		if (transportOrUrl.indexOf(':') > -1) {
+			// strip scheme
+			scheme = transportOrUrl.substring(0, transportOrUrl.indexOf(':'));
+		}
+		
+		for (String transport : transports) {
+			if (transport.equalsIgnoreCase(scheme)) {
+				return true;
+			}
+		}
+		return false;
+	}
+	
+	@Override
+	public String toString() {
+		return StringUtils.isEmpty(title) ? name : title;
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1