diff --git a/src/main/java/de/thm/arsnova/services/IUserService.java b/src/main/java/de/thm/arsnova/services/IUserService.java index ee4258519f9b674dd2fd7159384ccd9e3d5710cf..071411e9a85e1ba02f22e78783b2db4b1d73db4d 100644 --- a/src/main/java/de/thm/arsnova/services/IUserService.java +++ b/src/main/java/de/thm/arsnova/services/IUserService.java @@ -45,8 +45,6 @@ public interface IUserService { Set<User> getUsersInSession(String keyword); - void addCurrentUserToSessionMap(String keyword); - String getSessionForUser(String username); void addUserToSessionBySocketId(UUID socketId, String keyword); diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java index adc41130b4ab431d0878f2f0828ce7214afb4f07..933b49fdf246128653925efa4c66b2d0f373ccd5 100644 --- a/src/main/java/de/thm/arsnova/services/UserService.java +++ b/src/main/java/de/thm/arsnova/services/UserService.java @@ -58,14 +58,10 @@ import de.thm.arsnova.socket.ARSnovaSocketIOServer; @Service public class UserService implements IUserService { - private static final int DEFAULT_SCHEDULER_DELAY_MS = 60000; - private static final int LOGIN_TRY_RESET_DELAY_MS = 30 * 1000; private static final int LOGIN_BAN_RESET_DELAY_MS = 2 * 60 * 1000; - private static final int MAX_USER_INACTIVE_SECONDS = 120; - private static final int REPEATED_PASSWORD_RESET_DELAY_MS = 3 * 60 * 1000; private static final int PASSWORD_RESET_KEY_DURABILITY_MS = 2 * 60 * 60 * 1000; @@ -77,9 +73,6 @@ public class UserService implements IUserService { /* used for Socket.IO online check solution (new) */ private static final ConcurrentHashMap<User, String> user2session = new ConcurrentHashMap<User, String>(); - /* used for HTTP polling online check solution (legacy) */ - private static final ConcurrentHashMap<User, String> user2sessionLegacy = new ConcurrentHashMap<User, String>(); - @Autowired private IDatabaseDao databaseDao; @@ -152,28 +145,6 @@ public class UserService implements IUserService { } } - @Scheduled(fixedDelay = DEFAULT_SCHEDULER_DELAY_MS) - public final void removeInactiveUsersFromLegacyMap() { - final List<String> usernames = databaseDao.getActiveUsers(MAX_USER_INACTIVE_SECONDS); - final Set<String> affectedSessions = new HashSet<String>(); - - for (final Entry<User, String> e : user2sessionLegacy.entrySet()) { - final User key = e.getKey(); - if (usernames != null && !usernames.contains(key.getUsername())) { - if (null != e.getValue()) { - affectedSessions.add(e.getValue()); - } else { - LOGGER.warn("Session for user {} is null", key); - } - user2sessionLegacy.remove(e.getKey()); - } - } - - for (final String sessionKeyword : affectedSessions) { - socketIoServer.reportActiveUserCountForSession(sessionKeyword); - } - } - @Override public User getCurrentUser() { final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); @@ -267,12 +238,9 @@ public class UserService implements IUserService { if (keyword == null) { return false; } - String session = user2sessionLegacy.get(user); + String session = user2session.get(user); if (session == null) { - session = user2session.get(user); - if (session == null) { - return false; - } + return false; } return keyword.equals(session); @@ -286,25 +254,10 @@ public class UserService implements IUserService { result.add(e.getKey()); } } - for (final Entry<User, String> e : user2sessionLegacy.entrySet()) { - if (e.getValue().equals(keyword)) { - result.add(e.getKey()); - } - } return result; } - @Override - @Transactional(isolation = Isolation.READ_COMMITTED) - public void addCurrentUserToSessionMap(final String keyword) { - final User user = getCurrentUser(); - if (user == null) { - throw new UnauthorizedException(); - } - user2sessionLegacy.put(user, keyword); - } - @Override @Transactional(isolation = Isolation.READ_COMMITTED) public void addUserToSessionBySocketId(final UUID socketId, final String keyword) { @@ -331,11 +284,6 @@ public class UserService implements IUserService { return entry.getValue(); } } - for (final Entry<User, String> entry : user2sessionLegacy.entrySet()) { - if (entry.getKey().getUsername().equals(username)) { - return entry.getValue(); - } - } return null; } @@ -349,13 +297,12 @@ public class UserService implements IUserService { public void removeUserFromMaps(final User user) { if (user != null) { user2session.remove(user); - user2sessionLegacy.remove(user); } } @Override public int loggedInUsers() { - return user2sessionLegacy.size(); + return user2session.size(); } @Override