Package net.sf.colossus.webcommon
Class UserDB
- java.lang.Object
-
- net.sf.colossus.webcommon.UserDB
-
public class UserDB extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private longhighestExistingIdprivate java.util.HashMap<java.lang.String,User>loggedInUserMapprivate static java.util.logging.LoggerLOGGERprivate intmaxUsersprivate java.util.HashMap<java.lang.String,User>pendingRegistrationsprivate java.util.HashMap<java.lang.String,User>userMapprivate java.lang.StringusersFile
-
Constructor Summary
Constructors Constructor Description UserDB(java.lang.String filename, int maxUsersVal)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringchangeProperties(java.lang.String username, java.lang.String oldPW, java.lang.String newPW, java.lang.String email, java.lang.Boolean isAdmin)voidcleanup()private java.lang.StringconfirmIfCorrectCode(java.lang.String username, java.lang.String tryConfirmationCode)java.lang.StringconfirmRegistration(java.lang.String username, java.lang.String confirmationCode)UserfindUserByName(java.lang.String name)java.util.Collection<User>getAllUsers()intgetDeadCount()intgetEnrolledCount()intgetLoggedInCount()java.lang.StringgetLoggedInNamesAsString(java.lang.String useSeparator)java.util.Collection<User>getLoggedInUsers()intgetPlayingCount()intgetUserCount()booleanisUserOnline(User u)private voidreadUsersFromFile()java.lang.StringregisterUser(java.lang.String username, java.lang.String password, java.lang.String email, IColossusMail mailObject)java.lang.StringsendConfirmationMail(java.lang.String username, java.lang.String email, java.lang.String confCode, IColossusMail mailObject)private voidstoreUser(User u)voidstoreUsersToFile()voidupdateLoggedinStatus(User u, WebServerClient wsc)java.lang.StringverifyLogin(java.lang.String username, java.lang.String password)Given a username and password, verifies that the user is allowed to login with that password.
-
-
-
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
-
highestExistingId
private long highestExistingId
-
-
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()
-
-