From 56c549e384b1a648c77bbd09a2cc77976e8a64de Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 24 May 2011 17:39:55 -0400
Subject: [PATCH] Documentation.

---
 src/com/gitblit/JettyLoginService.java |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/src/com/gitblit/JettyLoginService.java b/src/com/gitblit/JettyLoginService.java
index fb510ee..231f174 100644
--- a/src/com/gitblit/JettyLoginService.java
+++ b/src/com/gitblit/JettyLoginService.java
@@ -23,7 +23,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.gitblit.utils.StringUtils;
 import com.gitblit.wicket.models.UserModel;
 
 public class JettyLoginService extends MappedLoginService implements ILoginService {
@@ -45,7 +44,6 @@
 			return null;
 		}
 		UserModel user = new UserModel(username);
-		user.setCookie(StringUtils.getSHA1((Constants.NAME + username + new String(password))));
 		user.canAdmin(identity.isUserInRole(Constants.ADMIN_ROLE, null));
 
 		// Add repositories
@@ -62,15 +60,12 @@
 	}
 
 	@Override
-	public UserModel authenticate(char[] cookie) {
-		// TODO cookie login
-		return null;
-	}
-
-	@Override
 	public UserModel getUserModel(String username) {
-		UserModel model = new UserModel(username);
 		UserIdentity identity = _users.get(username);
+		if (identity == null) {
+			return null;
+		}
+		UserModel model = new UserModel(username);
 		Subject subject = identity.getSubject();
 		for (Principal principal : subject.getPrincipals()) {
 			if (principal instanceof RolePrincipal) {
@@ -104,6 +99,11 @@
 
 	@Override
 	public boolean updateUserModel(UserModel model) {
+		return updateUserModel(model.getUsername(), model);
+	}
+	
+	@Override
+	public boolean updateUserModel(String username, UserModel model) {
 		try {
 			Properties allUsers = readRealmFile();
 			ArrayList<String> roles = new ArrayList<String>(model.getRepositories());
@@ -122,11 +122,13 @@
 			}
 			// trim trailing comma
 			sb.setLength(sb.length() - 1);
+			allUsers.remove(username);
 			allUsers.put(model.getUsername(), sb.toString());
 
 			writeRealmFile(allUsers);
 
 			// Update login service
+			removeUser(username);
 			putUser(model.getUsername(), Credential.getCredential(model.getPassword()), roles.toArray(new String[0]));
 			return true;
 		} catch (Throwable t) {
@@ -137,21 +139,26 @@
 
 	@Override
 	public boolean deleteUserModel(UserModel model) {
+		return deleteUser(model.getUsername());
+	}
+
+	@Override
+	public boolean deleteUser(String username) {
 		try {
 			// Read realm file
 			Properties allUsers = readRealmFile();
-			allUsers.remove(model.getUsername());
+			allUsers.remove(username);
 			writeRealmFile(allUsers);
 
 			// Drop user from map
-			_users.remove(model.getUsername());
+			removeUser(username);
 			return true;
 		} catch (Throwable t) {
-			logger.error(MessageFormat.format("Failed to delete user model {0}!", model.getUsername()), t);
+			logger.error(MessageFormat.format("Failed to delete user {0}!", username), t);
 		}
 		return false;
 	}
-
+	
 	@Override
 	public List<String> getAllUsernames() {
 		List<String> list = new ArrayList<String>();
@@ -363,6 +370,7 @@
 
 			// persist changes
 			writeRealmFile(allUsers);
+			return true;
 		} catch (Throwable t) {
 			logger.error(MessageFormat.format("Failed to delete role {0}!", role), t);
 		}

--
Gitblit v1.9.1