diff options
author | James Moger <james.moger@gitblit.com> | 2012-10-19 21:32:57 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2012-10-19 22:47:34 -0400 |
commit | 822dfe5d6f1b97b7849bc6fd735ee8c9d1103c19 (patch) | |
tree | 4c97cc8056ad3ce928119aff786ad3c89bb3546a /src/com/gitblit/models | |
parent | 97a71565f6ff5d9722788559ce638863a9e618ab (diff) | |
download | gitblit-822dfe5d6f1b97b7849bc6fd735ee8c9d1103c19.tar.gz gitblit-822dfe5d6f1b97b7849bc6fd735ee8c9d1103c19.zip |
Completed permissions UI, RPC, and Manager support (issue 36)
Diffstat (limited to 'src/com/gitblit/models')
-rw-r--r-- | src/com/gitblit/models/RegistrantAccessPermission.java (renamed from src/com/gitblit/models/RepositoryAccessPermission.java) | 26 | ||||
-rw-r--r-- | src/com/gitblit/models/TeamAccessPermission.java | 51 | ||||
-rw-r--r-- | src/com/gitblit/models/TeamModel.java | 7 | ||||
-rw-r--r-- | src/com/gitblit/models/UserAccessPermission.java | 51 | ||||
-rw-r--r-- | src/com/gitblit/models/UserModel.java | 11 |
5 files changed, 27 insertions, 119 deletions
diff --git a/src/com/gitblit/models/RepositoryAccessPermission.java b/src/com/gitblit/models/RegistrantAccessPermission.java index 06f5c053..93027450 100644 --- a/src/com/gitblit/models/RepositoryAccessPermission.java +++ b/src/com/gitblit/models/RegistrantAccessPermission.java @@ -18,35 +18,43 @@ package com.gitblit.models; import java.io.Serializable; import com.gitblit.Constants.AccessPermission; +import com.gitblit.Constants.RegistrantType; import com.gitblit.utils.StringUtils; /** - * Represents a Repository-AccessPermission tuple. + * Represents a Registrant-AccessPermission tuple. * * @author James Moger */ -public class RepositoryAccessPermission implements Serializable, Comparable<RepositoryAccessPermission> { +public class RegistrantAccessPermission implements Serializable, Comparable<RegistrantAccessPermission> { private static final long serialVersionUID = 1L; - public String repository; + public String registrant; public AccessPermission permission; + public RegistrantType type; - public RepositoryAccessPermission() { + public RegistrantAccessPermission() { } - public RepositoryAccessPermission(String repository, AccessPermission permission) { - this.repository = repository; + public RegistrantAccessPermission(String registrant, AccessPermission permission, RegistrantType type) { + this.registrant = registrant; this.permission = permission; + this.type = type; } @Override - public int compareTo(RepositoryAccessPermission p) { - return StringUtils.compareRepositoryNames(repository, p.repository); + public int compareTo(RegistrantAccessPermission p) { + switch (type) { + case REPOSITORY: + return StringUtils.compareRepositoryNames(registrant, p.registrant); + default: + return registrant.toLowerCase().compareTo(p.registrant.toLowerCase()); + } } @Override public String toString() { - return permission.asRole(repository); + return permission.asRole(registrant); } }
\ No newline at end of file diff --git a/src/com/gitblit/models/TeamAccessPermission.java b/src/com/gitblit/models/TeamAccessPermission.java deleted file mode 100644 index 23468c6d..00000000 --- a/src/com/gitblit/models/TeamAccessPermission.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2012 gitblit.com. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.gitblit.models; - -import java.io.Serializable; - -import com.gitblit.Constants.AccessPermission; - -/** - * Represents a Team-AccessPermission tuple. - * - * @author James Moger - */ -public class TeamAccessPermission implements Serializable, Comparable<TeamAccessPermission> { - - private static final long serialVersionUID = 1L; - - public String team; - public AccessPermission permission; - - public TeamAccessPermission() { - } - - public TeamAccessPermission(String team, AccessPermission permission) { - this.team = team; - this.permission = permission; - } - - @Override - public int compareTo(TeamAccessPermission p) { - return team.compareTo(p.team); - } - - @Override - public String toString() { - return permission.asRole("@" + team); - } -}
\ No newline at end of file diff --git a/src/com/gitblit/models/TeamModel.java b/src/com/gitblit/models/TeamModel.java index 95e6ef4e..4c3a8427 100644 --- a/src/com/gitblit/models/TeamModel.java +++ b/src/com/gitblit/models/TeamModel.java @@ -27,6 +27,7 @@ import java.util.Set; import com.gitblit.Constants.AccessPermission;
import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.Constants.RegistrantType;
import com.gitblit.Constants.Unused;
/**
@@ -93,10 +94,10 @@ public class TeamModel implements Serializable, Comparable<TeamModel> { *
* @return the team's list of permissions
*/
- public List<RepositoryAccessPermission> getRepositoryPermissions() {
- List<RepositoryAccessPermission> list = new ArrayList<RepositoryAccessPermission>();
+ public List<RegistrantAccessPermission> getRepositoryPermissions() {
+ List<RegistrantAccessPermission> list = new ArrayList<RegistrantAccessPermission>();
for (Map.Entry<String, AccessPermission> entry : permissions.entrySet()) {
- list.add(new RepositoryAccessPermission(entry.getKey(), entry.getValue()));
+ list.add(new RegistrantAccessPermission(entry.getKey(), entry.getValue(), RegistrantType.REPOSITORY));
}
Collections.sort(list);
return list;
diff --git a/src/com/gitblit/models/UserAccessPermission.java b/src/com/gitblit/models/UserAccessPermission.java deleted file mode 100644 index a77fff29..00000000 --- a/src/com/gitblit/models/UserAccessPermission.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2012 gitblit.com. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.gitblit.models; - -import java.io.Serializable; - -import com.gitblit.Constants.AccessPermission; - -/** - * Represents a User-AccessPermission tuple. - * - * @author James Moger - */ -public class UserAccessPermission implements Serializable, Comparable<UserAccessPermission> { - - private static final long serialVersionUID = 1L; - - public String user; - public AccessPermission permission; - - public UserAccessPermission() { - } - - public UserAccessPermission(String user, AccessPermission permission) { - this.user = user; - this.permission = permission; - } - - @Override - public int compareTo(UserAccessPermission p) { - return user.compareTo(p.user); - } - - @Override - public String toString() { - return permission.asRole(user); - } -}
\ No newline at end of file diff --git a/src/com/gitblit/models/UserModel.java b/src/com/gitblit/models/UserModel.java index 38a7aaed..fc9cbfba 100644 --- a/src/com/gitblit/models/UserModel.java +++ b/src/com/gitblit/models/UserModel.java @@ -28,6 +28,7 @@ import java.util.Set; import com.gitblit.Constants.AccessPermission;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.Constants.AuthorizationControl;
+import com.gitblit.Constants.RegistrantType;
import com.gitblit.Constants.Unused;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
@@ -133,10 +134,10 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel> *
* @return the user's list of permissions
*/
- public List<RepositoryAccessPermission> getRepositoryPermissions() {
- List<RepositoryAccessPermission> list = new ArrayList<RepositoryAccessPermission>();
+ public List<RegistrantAccessPermission> getRepositoryPermissions() {
+ List<RegistrantAccessPermission> list = new ArrayList<RegistrantAccessPermission>();
for (Map.Entry<String, AccessPermission> entry : permissions.entrySet()) {
- list.add(new RepositoryAccessPermission(entry.getKey(), entry.getValue()));
+ list.add(new RegistrantAccessPermission(entry.getKey(), entry.getValue(), RegistrantType.REPOSITORY));
}
Collections.sort(list);
return list;
@@ -208,10 +209,10 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel> // and the permissions of teams of which the user belongs
AccessPermission permission = AccessPermission.NONE;
if (permissions.containsKey(repository.name.toLowerCase())) {
- // exact repository permission specified
+ // exact repository permission specified, use it
AccessPermission p = permissions.get(repository.name.toLowerCase());
if (p != null) {
- permission = p;
+ return p;
}
} else {
// search for regex permission match
|