From fe326255202dcfac8b0991ca9d28e3cf4bcc4fe6 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sun, 23 Oct 2011 12:28:48 -0400 Subject: [PATCH] Per-repository setting to skip summary metrics --- src/com/gitblit/models/UserModel.java | 35 +++++++++++++++++++++++++---------- 1 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/com/gitblit/models/UserModel.java b/src/com/gitblit/models/UserModel.java index 797c14e..fcf2b26 100644 --- a/src/com/gitblit/models/UserModel.java +++ b/src/com/gitblit/models/UserModel.java @@ -16,10 +16,19 @@ package com.gitblit.models; import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; +import java.security.Principal; +import java.util.HashSet; +import java.util.Set; -public class UserModel implements Serializable { +/** + * UserModel is a serializable model class that represents a user and the user's + * restricted repository memberships. Instances of UserModels are also used as + * servlet user principals. + * + * @author James Moger + * + */ +public class UserModel implements Principal, Serializable, Comparable<UserModel> { private static final long serialVersionUID = 1L; @@ -27,19 +36,15 @@ public String username; public String password; public boolean canAdmin; - public final List<String> repositories = new ArrayList<String>(); + public boolean excludeFromFederation; + public final Set<String> repositories = new HashSet<String>(); public UserModel(String username) { this.username = username; } public boolean canAccessRepository(String repositoryName) { - return canAdmin || repositories.contains(repositoryName); - } - - public void setRepositories(List<String> repositories) { - this.repositories.clear(); - this.repositories.addAll(repositories); + return canAdmin || repositories.contains(repositoryName.toLowerCase()); } public void addRepository(String name) { @@ -47,7 +52,17 @@ } @Override + public String getName() { + return username; + } + + @Override public String toString() { return username; } + + @Override + public int compareTo(UserModel o) { + return username.compareTo(o.username); + } } -- Gitblit v1.9.1