diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java index 5e5eb9eea0b14429f9328a69d4ccb6e31f2751a5..9ce63e7fe3568f80417b3307ec483663fe420afc 100644 --- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java +++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java @@ -105,6 +105,7 @@ public class ARSnovaSocketIOServer { public void onData(SocketIOClient client, Session session, AckRequest ackSender) { userService.addUserToSessionBySocketId(client.getSessionId(), session.getKeyword()); reportActiveUserCountForSession(session.getKeyword()); + reportSessionDataToClient(session.getKeyword(), client); } }); @@ -216,6 +217,21 @@ public class ARSnovaSocketIOServer { return result; } + /** + * Currently only sends the feedback data to the client. Should be used for all + * relevant Socket.IO data, the client needs to know after joining a session. + * + * @param sessionKey + * @param client + */ + public void reportSessionDataToClient(String sessionKey, SocketIOClient client) { + de.thm.arsnova.entities.Feedback fb = feedbackService.getFeedback(sessionKey); + client.sendEvent("updateFeedback", fb.getValues()); + + /* updateActiveUserCount does not need to be send since it is broadcasted + * after the client joined the session */ + } + public void reportUpdatedFeedbackForSession(String sessionKey) { de.thm.arsnova.entities.Feedback fb = feedbackService.getFeedback(sessionKey); broadcastInSession(sessionKey, "updateFeedback", fb.getValues());