From 7207bad9d74ef23af14012a2440cb6ae5a394af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20G=C3=A4rtner?= <andreas.gaertner@hotmail.com> Date: Tue, 8 Dec 2015 14:10:26 +0100 Subject: [PATCH] Add "liveClicker" use case for abcd-live-questions. Feedback reset will be disabled for liveClicker-sessions. --- src/main/java/de/thm/arsnova/FeedbackStorage.java | 11 +++++++---- .../java/de/thm/arsnova/entities/SessionFeature.java | 10 ++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/thm/arsnova/FeedbackStorage.java b/src/main/java/de/thm/arsnova/FeedbackStorage.java index 07a203b4..e6ec8854 100644 --- a/src/main/java/de/thm/arsnova/FeedbackStorage.java +++ b/src/main/java/de/thm/arsnova/FeedbackStorage.java @@ -119,15 +119,18 @@ public class FeedbackStorage { public Map<Session, List<User>> cleanFeedbackVotes(final int cleanupFeedbackDelay) { final Map<Session, List<User>> removedFeedbackOfUsersInSession = new HashMap<Session, List<User>>(); for (final Session session : data.keySet()) { - List<User> affectedUsers = cleanFeedbackVotesInSession(session, cleanupFeedbackDelay); - if (!affectedUsers.isEmpty()) { - removedFeedbackOfUsersInSession.put(session, affectedUsers); + if (!session.getFeatures().isLiveClicker()) { + List<User> affectedUsers = cleanFeedbackVotesInSession(session, cleanupFeedbackDelay); + if (!affectedUsers.isEmpty()) { + removedFeedbackOfUsersInSession.put(session, affectedUsers); + } } } return removedFeedbackOfUsersInSession; } - private List<User> cleanFeedbackVotesInSession(final Session session, final int cleanupFeedbackDelayInMins) { + @Transactional(isolation = Isolation.READ_COMMITTED) + public List<User> cleanFeedbackVotesInSession(final Session session, final int cleanupFeedbackDelayInMins) { final long timelimitInMillis = TimeUnit.MILLISECONDS.convert(cleanupFeedbackDelayInMins, TimeUnit.MINUTES); final Date maxAllowedTime = new Date(System.currentTimeMillis() - timelimitInMillis); diff --git a/src/main/java/de/thm/arsnova/entities/SessionFeature.java b/src/main/java/de/thm/arsnova/entities/SessionFeature.java index f5fa72c6..4cbfbcd4 100644 --- a/src/main/java/de/thm/arsnova/entities/SessionFeature.java +++ b/src/main/java/de/thm/arsnova/entities/SessionFeature.java @@ -29,6 +29,7 @@ public class SessionFeature { private boolean clicker = false; private boolean peerGrading = false; private boolean liveFeedback = false; + private boolean liveClicker = false; private boolean flashcard = false; private boolean total = false; @@ -46,6 +47,7 @@ public class SessionFeature { this.clicker = features.clicker; this.peerGrading = features.peerGrading; this.liveFeedback = features.liveFeedback; + this.liveClicker = features.liveClicker; this.flashcard = features.flashcard; this.total = features.total; this.lecture = features.lecture; @@ -160,4 +162,12 @@ public class SessionFeature { this.liveFeedback = liveFeedback; } + public boolean isLiveClicker() { + return liveClicker; + } + + public void setLiveClicker(boolean liveClicker) { + this.liveClicker = liveClicker; + } + } -- GitLab