rewrote singleton to enum where applicable

This commit is contained in:
ingmargoudt 2017-03-14 16:31:57 +01:00
parent 3b62489ef5
commit 234cfe9519
872 changed files with 1796 additions and 2135 deletions

View file

@ -76,7 +76,7 @@ public class Session {
}
public String registerUser(String userName, String password, String email) throws MageException {
if (!ConfigSettings.getInstance().isAuthenticationActivated()) {
if (!ConfigSettings.instance.isAuthenticationActivated()) {
String returnMessage = "Registration is disabled by the server config";
sendErrorMessageToClient(returnMessage);
return returnMessage;
@ -106,7 +106,7 @@ public class Session {
boolean success;
String subject = "XMage Registration Completed";
if (!ConfigSettings.getInstance().getMailUser().isEmpty()) {
if (!ConfigSettings.instance.getMailUser().isEmpty()) {
success = MailClient.sendMessage(email, subject, text);
} else {
success = MailgunClient.sendMessage(email, subject, text);
@ -133,14 +133,14 @@ public class Session {
if (userName.equals("Admin")) {
return "User name Admin already in use";
}
ConfigSettings config = ConfigSettings.getInstance();
ConfigSettings config = ConfigSettings.instance;
if (userName.length() < config.getMinUserNameLength()) {
return "User name may not be shorter than " + config.getMinUserNameLength() + " characters";
}
if (userName.length() > config.getMaxUserNameLength()) {
return "User name may not be longer than " + config.getMaxUserNameLength() + " characters";
}
Pattern invalidUserNamePattern = Pattern.compile(ConfigSettings.getInstance().getInvalidUserNamePattern(), Pattern.CASE_INSENSITIVE);
Pattern invalidUserNamePattern = Pattern.compile(ConfigSettings.instance.getInvalidUserNamePattern(), Pattern.CASE_INSENSITIVE);
Matcher m = invalidUserNamePattern.matcher(userName);
if (m.find()) {
return "User name '" + userName + "' includes not allowed characters: use a-z, A-Z and 0-9";
@ -153,7 +153,7 @@ public class Session {
}
static private String validatePassword(String password, String userName) {
ConfigSettings config = ConfigSettings.getInstance();
ConfigSettings config = ConfigSettings.instance;
if (password.length() < config.getMinPasswordLength()) {
return "Password may not be shorter than " + config.getMinPasswordLength() + " characters";
}
@ -198,7 +198,7 @@ public class Session {
public String connectUserHandling(String userName, String password) throws MageException {
this.isAdmin = false;
AuthorizedUser authorizedUser = null;
if (ConfigSettings.getInstance().isAuthenticationActivated()) {
if (ConfigSettings.instance.isAuthenticationActivated()) {
authorizedUser = AuthorizedUserRepository.instance.getByName(userName);
String errorMsg = "Wrong username or password. In case you haven't, please register your account first.";
if (authorizedUser == null) {
@ -216,19 +216,19 @@ public class Session {
if (authorizedUser.lockedUntil.compareTo(Calendar.getInstance().getTime()) > 0) {
return "Your profile is deactivated until " + SystemUtil.dateFormat.format(authorizedUser.lockedUntil);
} else {
User user = UserManager.getInstance().createUser(userName, host, authorizedUser);
User user = UserManager.instance.createUser(userName, host, authorizedUser);
if (user != null && authorizedUser.lockedUntil != null) {
user.setLockedUntil(null);
}
}
}
}
User user = UserManager.getInstance().createUser(userName, host, authorizedUser);
User user = UserManager.instance.createUser(userName, host, authorizedUser);
boolean reconnect = false;
if (user == null) { // user already exists
user = UserManager.getInstance().getUserByName(userName);
user = UserManager.instance.getUserByName(userName);
// If authentication is not activated, check the identity using IP address.
if (ConfigSettings.getInstance().isAuthenticationActivated() || user.getHost().equals(host)) {
if (ConfigSettings.instance.isAuthenticationActivated() || user.getHost().equals(host)) {
user.updateLastActivity(null); // minimizes possible expiration
this.userId = user.getId();
if (user.getSessionId().isEmpty()) {
@ -237,43 +237,43 @@ public class Session {
} else {
//disconnect previous session
logger.info("Disconnecting another user instance: " + userName);
SessionManager.getInstance().disconnect(user.getSessionId(), DisconnectReason.ConnectingOtherInstance);
SessionManager.instance.disconnect(user.getSessionId(), DisconnectReason.ConnectingOtherInstance);
}
} else {
return "User name " + userName + " already in use (or your IP address changed)";
}
}
if (!UserManager.getInstance().connectToSession(sessionId, user.getId())) {
if (!UserManager.instance.connectToSession(sessionId, user.getId())) {
return "Error connecting " + userName;
}
this.userId = user.getId();
if (reconnect) { // must be connected to receive the message
UUID chatId = GamesRoomManager.getInstance().getRoom(GamesRoomManager.getInstance().getMainRoomId()).getChatId();
UUID chatId = GamesRoomManager.instance.getRoom(GamesRoomManager.instance.getMainRoomId()).getChatId();
if (chatId != null) {
ChatManager.getInstance().joinChat(chatId, userId);
ChatManager.instance.joinChat(chatId, userId);
}
ChatManager.getInstance().sendReconnectMessage(userId);
ChatManager.instance.sendReconnectMessage(userId);
}
return null;
}
public void connectAdmin() {
this.isAdmin = true;
User user = UserManager.getInstance().createUser("Admin", host, null);
User user = UserManager.instance.createUser("Admin", host, null);
if (user == null) {
user = UserManager.getInstance().getUserByName("Admin");
user = UserManager.instance.getUserByName("Admin");
}
UserData adminUserData = UserData.getDefaultUserDataView();
adminUserData.setGroupId(UserGroup.ADMIN.getGroupId());
user.setUserData(adminUserData);
if (!UserManager.getInstance().connectToSession(sessionId, user.getId())) {
if (!UserManager.instance.connectToSession(sessionId, user.getId())) {
logger.info("Error connecting Admin!");
}
this.userId = user.getId();
}
public boolean setUserData(String userName, UserData userData, String clientVersion, String userIdStr) {
User user = UserManager.getInstance().getUserByName(userName);
User user = UserManager.instance.getUserByName(userName);
if (user != null) {
if (clientVersion != null) {
user.setClientVersion(clientVersion);
@ -326,7 +326,7 @@ public class Session {
} else {
logger.error("CAN'T GET LOCK - userId: " + userId + " hold count: " + lock.getHoldCount());
}
Optional<User> _user = UserManager.getInstance().getUser(userId);
Optional<User> _user = UserManager.instance.getUser(userId);
if (!_user.isPresent()) {
return; //user was already disconnected by other thread
}
@ -340,7 +340,7 @@ public class Session {
return;
}
// logger.info("LOST CONNECTION - " + user.getName() + " id: " + userId);
UserManager.getInstance().disconnect(userId, DisconnectReason.LostConnection);
UserManager.instance.disconnect(userId, DisconnectReason.LostConnection);
} catch (InterruptedException ex) {
logger.error("SESSION LOCK lost connection - userId: " + userId, ex);
@ -362,7 +362,7 @@ public class Session {
} else {
logger.error("SESSION LOCK - kill: userId " + userId);
}
UserManager.getInstance().removeUser(userId, reason);
UserManager.instance.removeUser(userId, reason);
} catch (InterruptedException ex) {
logger.error("SESSION LOCK - kill: userId " + userId, ex);
} finally {
@ -381,7 +381,7 @@ public class Session {
callbackHandler.handleCallbackOneway(new Callback(call));
} catch (HandleCallbackException ex) {
ex.printStackTrace();
UserManager.getInstance().getUser(userId).ifPresent(user-> {
UserManager.instance.getUser(userId).ifPresent(user-> {
logger.warn("SESSION CALLBACK EXCEPTION - " + user.getName() + " userId " + userId);
logger.warn(" - method: " + call.getMethod());
logger.warn(" - cause: " + getBasicCause(ex).toString());