diff --git a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java index 5636c66ae4999d97901dd071028dc59b38626d97..d17fd69b5d656925cc31233131586b886c26bf20 100644 --- a/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java +++ b/src/main/java/de/thm/arsnova/websocket/ArsnovaSocketioServerImpl.java @@ -403,14 +403,14 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { } } - public void reportUpdatedFeedbackForRoom(final de.thm.arsnova.model.Room room) { - final de.thm.arsnova.model.Feedback fb = feedbackService.getByRoomId(room.getId()); - broadcastInRoom(room.getId(), "feedbackData", fb.getValues()); + public void reportUpdatedFeedbackForRoom(final String roomId) { + final de.thm.arsnova.model.Feedback fb = feedbackService.getByRoomId(roomId); + broadcastInRoom(roomId, "feedbackData", fb.getValues()); try { - final long averageFeedback = feedbackService.calculateRoundedAverageFeedback(room.getId()); - broadcastInRoom(room.getId(), "feedbackDataRoundedAverage", averageFeedback); + final long averageFeedback = feedbackService.calculateRoundedAverageFeedback(roomId); + broadcastInRoom(roomId, "feedbackDataRoundedAverage", averageFeedback); } catch (final NoContentException e) { - broadcastInRoom(room.getId(), "feedbackDataRoundedAverage", null); + broadcastInRoom(roomId, "feedbackDataRoundedAverage", null); } } @@ -441,16 +441,16 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { broadcastInRoom(roomId, "activeUserCountData", count); } - public void reportAnswersToContentAvailable(final de.thm.arsnova.model.Room room, final Content content) { - broadcastInRoom(room.getId(), "answersToLecQuestionAvail", content.get_id()); + public void reportAnswersToContentAvailable(final String roomId, final String contentId) { + broadcastInRoom(roomId, "answersToLecQuestionAvail", contentId); } - public void reportCommentAvailable(final de.thm.arsnova.model.Room room, final Comment comment) { + public void reportCommentAvailable(final String roomId, final String commentId) { /* TODO role handling implementation, send this only to users with role lecturer */ - broadcastInRoom(room.getId(), "audQuestionAvail", comment.getId()); + broadcastInRoom(roomId, "audQuestionAvail", commentId); } - public void reportContentAvailable(final de.thm.arsnova.model.Room room, final List<de.thm.arsnova.model.Content> qs) { + public void reportContentAvailable(final String roomId, final List<de.thm.arsnova.model.Content> qs) { List<Content> contents = new ArrayList<>(); for (de.thm.arsnova.model.Content q : qs) { contents.add(new Content(q)); @@ -458,17 +458,17 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { /* TODO role handling implementation, send this only to users with role audience */ if (!qs.isEmpty()) { - broadcastInRoom(room.getId(), "lecQuestionAvail", contents.get(0).get_id()); // deprecated! + broadcastInRoom(roomId, "lecQuestionAvail", contents.get(0).get_id()); // deprecated! } - broadcastInRoom(room.getId(), "lecturerQuestionAvailable", contents); + broadcastInRoom(roomId, "lecturerQuestionAvailable", contents); } - public void reportContentsLocked(final de.thm.arsnova.model.Room room, final List<de.thm.arsnova.model.Content> qs) { + public void reportContentsLocked(final String roomId, final List<de.thm.arsnova.model.Content> qs) { List<Content> contents = new ArrayList<>(); for (de.thm.arsnova.model.Content q : qs) { contents.add(new Content(q)); } - broadcastInRoom(room.getId(), "lecturerQuestionLocked", contents); + broadcastInRoom(roomId, "lecturerQuestionLocked", contents); } public void reportRoomStatus(final String roomId, final boolean active) { @@ -492,32 +492,32 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { @EventListener public void handleNewQuestion(NewQuestionEvent event) { - this.reportContentAvailable(event.getRoom(), Collections.singletonList(event.getQuestion())); + this.reportContentAvailable(event.getRoom().getId(), Collections.singletonList(event.getQuestion())); } @EventListener public void handleUnlockQuestion(UnlockQuestionEvent event) { - this.reportContentAvailable(event.getRoom(), Collections.singletonList(event.getQuestion())); + this.reportContentAvailable(event.getRoom().getId(), Collections.singletonList(event.getQuestion())); } @EventListener public void handleLockQuestion(LockQuestionEvent event) { - this.reportContentsLocked(event.getRoom(), Collections.singletonList(event.getQuestion())); + this.reportContentsLocked(event.getRoom().getId(), Collections.singletonList(event.getQuestion())); } @EventListener public void handleUnlockQuestions(UnlockQuestionsEvent event) { - this.reportContentAvailable(event.getRoom(), event.getQuestions()); + this.reportContentAvailable(event.getRoom().getId(), event.getQuestions()); } @EventListener public void handleLockQuestions(LockQuestionsEvent event) { - this.reportContentsLocked(event.getRoom(), event.getQuestions()); + this.reportContentsLocked(event.getRoom().getId(), event.getQuestions()); } @EventListener public void handleNewComment(NewCommentEvent event) { - this.reportCommentAvailable(event.getRoom(), event.getQuestion()); + this.reportCommentAvailable(event.getRoom().getId(), event.getQuestion().getId()); } @Async @@ -525,7 +525,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { @Timed public void handleNewAnswer(NewAnswerEvent event) { final String roomId = event.getRoom().getId(); - this.reportAnswersToContentAvailable(event.getRoom(), new Content(event.getContent())); + this.reportAnswersToContentAvailable(event.getRoom().getId(), event.getContent().getId()); broadcastInRoom(roomId, "countQuestionAnswersByQuestionId", answerService.countAnswersAndAbstentionsInternal(event.getContent().getId())); /* FIXME: Content variant is ignored for now */ broadcastInRoom(roomId, "countLectureQuestionAnswers", answerService.countTotalAnswersByRoomId(roomId)); @@ -545,7 +545,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { @Timed public void handleDeleteAnswer(DeleteAnswerEvent event) { final String roomId = event.getRoom().getId(); - this.reportAnswersToContentAvailable(event.getRoom(), new Content(event.getQuestion())); + this.reportAnswersToContentAvailable(event.getRoom().getId(), event.getQuestion().getId()); // We do not know which user's answer was deleted, so we can't update his 'unanswered' list of questions... /* FIXME: Content variant is ignored for now */ broadcastInRoom(roomId, "countLectureQuestionAnswers", answerService.countTotalAnswersByRoomId(roomId)); @@ -636,7 +636,7 @@ public class ArsnovaSocketioServerImpl implements ArsnovaSocketioServer { @EventListener public void handleNewFeedback(NewFeedbackEvent event) { - this.reportUpdatedFeedbackForRoom(event.getRoom()); + this.reportUpdatedFeedbackForRoom(event.getRoom().getId()); } @EventListener