From 092f0a62302e87f44403ba24fc519c65534dbfff Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 29 Oct 2012 23:22:54 -0400
Subject: [PATCH] Stabilizing and polishing permissions ui.  Still in-progress.

---
 src/com/gitblit/models/RegistrantAccessPermission.java |   36 ++++++++++++++++++++++++++++--------
 1 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/src/com/gitblit/models/RegistrantAccessPermission.java b/src/com/gitblit/models/RegistrantAccessPermission.java
index 4a560d4..7346d31 100644
--- a/src/com/gitblit/models/RegistrantAccessPermission.java
+++ b/src/com/gitblit/models/RegistrantAccessPermission.java
@@ -18,6 +18,7 @@
 import java.io.Serializable;
 
 import com.gitblit.Constants.AccessPermission;
+import com.gitblit.Constants.PermissionType;
 import com.gitblit.Constants.RegistrantType;
 import com.gitblit.utils.StringUtils;
 
@@ -32,23 +33,27 @@
 
 	public String registrant;
 	public AccessPermission permission;
-	public RegistrantType type;
-	public boolean isExplicit;
+	public RegistrantType registrantType;
+	public PermissionType permissionType;
+	public boolean isEditable;
 
-	public RegistrantAccessPermission() {
-		isExplicit = true;
+	public RegistrantAccessPermission(RegistrantType registrantType) {
+		this.registrantType = registrantType;
+		this.permissionType = PermissionType.EXPLICIT;
+		this.isEditable = true;
 	}
 	
-	public RegistrantAccessPermission(String registrant, AccessPermission permission, boolean isExplicit, RegistrantType type) {
+	public RegistrantAccessPermission(String registrant, AccessPermission permission, PermissionType permissionType, RegistrantType registrantType, boolean isEditable) {
 		this.registrant = registrant;
 		this.permission = permission;
-		this.isExplicit = isExplicit;
-		this.type = type;
+		this.permissionType = permissionType;
+		this.registrantType = registrantType;
+		this.isEditable = isEditable;
 	}
 	
 	@Override
 	public int compareTo(RegistrantAccessPermission p) {
-		switch (type) {
+		switch (registrantType) {
 		case REPOSITORY:
 			return StringUtils.compareRepositoryNames(registrant, p.registrant);
 		default:
@@ -57,6 +62,21 @@
 	}
 	
 	@Override
+	public int hashCode() {
+		return registrant.hashCode();
+	}
+	
+	@Override
+	public boolean equals(Object o) {
+		if (o instanceof RegistrantAccessPermission) {
+			RegistrantAccessPermission p = (RegistrantAccessPermission) o;
+			return registrant.equals(p.registrant);
+		}
+		
+		return false;
+	}
+	
+	@Override
 	public String toString() {
 		return permission.asRole(registrant);
 	}

--
Gitblit v1.9.1