From 9198891e13985ef97bef05c9b8fc104a68ece5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20G=C3=A4rtner?= <andreas.gaertner@mni.thm.de> Date: Wed, 5 Oct 2016 04:41:37 +0200 Subject: [PATCH] Add flashcard count to websocket session data report --- .../java/de/thm/arsnova/services/IQuestionService.java | 2 ++ .../java/de/thm/arsnova/services/QuestionService.java | 9 +++++++++ .../de/thm/arsnova/socket/ARSnovaSocketIOServer.java | 1 + 3 files changed, 12 insertions(+) diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java index 35ccb047..f0864314 100644 --- a/src/main/java/de/thm/arsnova/services/IQuestionService.java +++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java @@ -125,6 +125,8 @@ public interface IQuestionService { int countPreparationQuestionAnswersInternal(String sessionkey); + int countFlashcardsForUserInternal(String sessionkey); + void deleteLectureQuestions(String sessionkey); void deleteFlashcards(String sessionkey); diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java index c0f73137..b00252ea 100644 --- a/src/main/java/de/thm/arsnova/services/QuestionService.java +++ b/src/main/java/de/thm/arsnova/services/QuestionService.java @@ -918,6 +918,15 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis return databaseDao.countPreparationQuestionAnswers(getSession(sessionkey)); } + /* + * The "internal" suffix means it is called by internal services that have no authentication! + * TODO: Find a better way of doing this... + */ + @Override + public int countFlashcardsForUserInternal(final String sessionkey) { + return databaseDao.getFlashcardsForUsers(getSession(sessionkey)).size(); + } + @Override @PreAuthorize("isAuthenticated()") public void deleteLectureQuestions(final String sessionkey) { diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java index e7b9143c..7c6da912 100644 --- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java +++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java @@ -359,6 +359,7 @@ public class ARSnovaSocketIOServer implements ARSnovaSocket, NovaEventVisitor { client.sendEvent("unansweredPreparationQuestions", questionService.getUnAnsweredPreparationQuestionIds(sessionKey, user)); client.sendEvent("countLectureQuestionAnswers", questionService.countLectureQuestionAnswersInternal(sessionKey)); client.sendEvent("countPreparationQuestionAnswers", questionService.countPreparationQuestionAnswersInternal(sessionKey)); + client.sendEvent("countFlashcards", questionService.countFlashcardsForUserInternal(sessionKey)); client.sendEvent("activeUserCountData", sessionService.activeUsers(sessionKey)); client.sendEvent("learningProgressOptions", session.getLearningProgressOptions()); final de.thm.arsnova.entities.Feedback fb = feedbackService.getFeedback(sessionKey); -- GitLab