Skip to content
Snippets Groups Projects
Commit 858343ff authored by Julian Hochstetter's avatar Julian Hochstetter
Browse files

* check before add a user to the map beacause if its maybe unauthorized

* rename methods to clearify that this are sockets
parent c020fc4e
No related merge requests found
......@@ -66,7 +66,9 @@ public class SessionController extends AbstractController {
User u = userService.getCurrentUser();
LOGGER.info("authorize session: " + socketid + ", user is: " + u);
response.setStatus(u != null ? HttpStatus.CREATED.value() : HttpStatus.UNAUTHORIZED.value());
userService.putUser2SessionID(UUID.fromString(socketid), u);
if(u != null) {
userService.putUser2SocketId(UUID.fromString(socketid), u);
}
}
@RequestMapping(value = "/session/{sessionkey}", method = RequestMethod.GET)
......
......@@ -29,13 +29,13 @@ import de.thm.arsnova.entities.User;
public interface IUserService {
User getCurrentUser();
User getUser2SessionID(UUID sessionID);
User getUser2SocketId(UUID socketId);
void putUser2SessionID(UUID sessionID, User user);
void putUser2SocketId(UUID socketId, User user);
void removeUser2SessionID(UUID sessionID);
void removeUser2SocketId(UUID socketId);
Set<Map.Entry<UUID, User>> users2Session();
Set<Map.Entry<UUID, User>> socketId2User();
boolean isUserInSession(User user, String keyword);
......
......@@ -83,23 +83,23 @@ public class UserService implements IUserService, InitializingBean, DisposableBe
}
@Override
public User getUser2SessionID(UUID sessionID) {
return socketid2user.get(sessionID);
public User getUser2SocketId(UUID socketId) {
return socketid2user.get(socketId);
}
@Override
public void putUser2SessionID(UUID sessionID, User user) {
socketid2user.put(sessionID, user);
public void putUser2SocketId(UUID socketId, User user) {
socketid2user.put(socketId, user);
}
@Override
public Set<Map.Entry<UUID, User>> users2Session() {
public Set<Map.Entry<UUID, User>> socketId2User() {
return socketid2user.entrySet();
}
@Override
public void removeUser2SessionID(UUID sessionID) {
socketid2user.remove(sessionID);
public void removeUser2SocketId(UUID socketId) {
socketid2user.remove(socketId);
}
@Override
......
......@@ -82,7 +82,7 @@ public class ARSnovaSocketIOServer {
* do a check if user is in the session, for which he
* would give a feedback
*/
User u = userService.getUser2SessionID(client
User u = userService.getUser2SocketId(client
.getSessionId());
if (u == null
|| userService.isUserInSession(u,
......@@ -103,7 +103,7 @@ public class ARSnovaSocketIOServer {
.getFeedback(data.getSessionkey());
for (SocketIOClient c : server.getAllClients()) {
u = userService.getUser2SessionID(c.getSessionId());
u = userService.getUser2SocketId(c.getSessionId());
if (u != null && users.contains(u.getUsername())) {
c.sendEvent("updateFeedback", fb.getValues());
}
......@@ -133,7 +133,7 @@ public class ARSnovaSocketIOServer {
public void onDisconnect(SocketIOClient client) {
logger.info("addDisconnectListener.onDisconnect: Client: {}",
new Object[] { client });
userService.removeUser2SessionID(client.getSessionId());
userService.removeUser2SocketId(client.getSessionId());
}
});
......@@ -210,7 +210,7 @@ public class ARSnovaSocketIOServer {
private List<UUID> findConnectionIdForUser(String username) {
List<UUID> result = new ArrayList<UUID>();
for (Entry<UUID, User> e : userService.users2Session()) {
for (Entry<UUID, User> e : userService.socketId2User()) {
if (e.getValue().getUsername().equals(username)) {
result.add(e.getKey());
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment