net.sf.colossus.webcommon
Class UserDB

java.lang.Object
  extended by net.sf.colossus.webcommon.UserDB

public class UserDB
extends java.lang.Object


Field Summary
private  java.util.HashMap<java.lang.String,User> loggedInUserMap
           
private static java.util.logging.Logger LOGGER
           
private  int maxUsers
           
private  java.util.HashMap<java.lang.String,User> pendingRegistrations
           
private  java.util.HashMap<java.lang.String,User> userMap
           
private  java.lang.String usersFile
           
 
Constructor Summary
UserDB(java.lang.String filename, int maxUsersVal)
           
 
Method Summary
 java.lang.String changeProperties(java.lang.String username, java.lang.String oldPW, java.lang.String newPW, java.lang.String email, java.lang.Boolean isAdmin)
           
 void cleanup()
           
private  java.lang.String confirmIfCorrectCode(java.lang.String username, java.lang.String tryConfirmationCode)
           
 java.lang.String confirmRegistration(java.lang.String username, java.lang.String confirmationCode)
           
 User findUserByName(java.lang.String name)
           
 java.util.Collection<User> getAllUsers()
           
 int getDeadCount()
           
 int getEnrolledCount()
           
 int getLoggedInCount()
           
 java.lang.String getLoggedInNamesAsString(java.lang.String useSeparator)
           
 java.util.Collection<User> getLoggedInUsers()
           
 int getPlayingCount()
           
 int getUserCount()
           
 boolean isUserOnline(User u)
           
private  void readUsersFromFile()
           
 java.lang.String registerUser(java.lang.String username, java.lang.String password, java.lang.String email, IColossusMail mailObject)
           
 java.lang.String sendConfirmationMail(java.lang.String username, java.lang.String email, java.lang.String confCode, IColossusMail mailObject)
           
private  void storeUser(User u)
           
 void storeUsersToFile()
           
 void updateLoggedinStatus(User u, WebServerClient wsc)
           
 java.lang.String verifyLogin(java.lang.String username, java.lang.String password)
          Given a username and password, verifies that the user is allowed to login with that password.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

private static final java.util.logging.Logger LOGGER

maxUsers

private final int maxUsers

usersFile

private final java.lang.String usersFile

userMap

private final java.util.HashMap<java.lang.String,User> userMap

loggedInUserMap

private final java.util.HashMap<java.lang.String,User> loggedInUserMap

pendingRegistrations

private final java.util.HashMap<java.lang.String,User> pendingRegistrations
Constructor Detail

UserDB

public UserDB(java.lang.String filename,
              int maxUsersVal)
Method Detail

getUserCount

public int getUserCount()

updateLoggedinStatus

public void updateLoggedinStatus(User u,
                                 WebServerClient wsc)

isUserOnline

public boolean isUserOnline(User u)

getLoggedInUsers

public java.util.Collection<User> getLoggedInUsers()

findUserByName

public User findUserByName(java.lang.String name)

getLoggedInNamesAsString

public java.lang.String getLoggedInNamesAsString(java.lang.String useSeparator)

getDeadCount

public int getDeadCount()

getEnrolledCount

public int getEnrolledCount()

getPlayingCount

public int getPlayingCount()

getLoggedInCount

public int getLoggedInCount()

getAllUsers

public java.util.Collection<User> getAllUsers()

verifyLogin

public java.lang.String verifyLogin(java.lang.String username,
                                    java.lang.String password)
Given a username and password, verifies that the user is allowed to login with that password.

Parameters:
username -
password -
Returns:
reasonLoginFailed (String), null if login ok

registerUser

public java.lang.String registerUser(java.lang.String username,
                                     java.lang.String password,
                                     java.lang.String email,
                                     IColossusMail mailObject)

sendConfirmationMail

public java.lang.String sendConfirmationMail(java.lang.String username,
                                             java.lang.String email,
                                             java.lang.String confCode,
                                             IColossusMail mailObject)

confirmRegistration

public java.lang.String confirmRegistration(java.lang.String username,
                                            java.lang.String confirmationCode)

confirmIfCorrectCode

private java.lang.String confirmIfCorrectCode(java.lang.String username,
                                              java.lang.String tryConfirmationCode)

changeProperties

public java.lang.String changeProperties(java.lang.String username,
                                         java.lang.String oldPW,
                                         java.lang.String newPW,
                                         java.lang.String email,
                                         java.lang.Boolean isAdmin)

readUsersFromFile

private void readUsersFromFile()

storeUsersToFile

public void storeUsersToFile()

storeUser

private void storeUser(User u)

cleanup

public void cleanup()