diff --git a/src/main/java/de/thm/arsnova/FeedbackStorage.java b/src/main/java/de/thm/arsnova/FeedbackStorage.java index c5eb5a750fddef210fd4f10367569a07aeb0fac9..52f14f8e96e6e10d4973cbdeaa5df804f0ba64ad 100644 --- a/src/main/java/de/thm/arsnova/FeedbackStorage.java +++ b/src/main/java/de/thm/arsnova/FeedbackStorage.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; @@ -105,9 +106,9 @@ public class FeedbackStorage { return removedFeedbackOfUsersInSession; } - private List<User> cleanFeedbackVotesInSession(final Session session, final int cleanupFeedbackDelay) { - final long timelimitInMillis = 60000 * (long) cleanupFeedbackDelay; - final long maxAllowedTimeInMillis = System.currentTimeMillis() - timelimitInMillis; + private 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); final Map<User, FeedbackStorageObject> sessionFeedbacks = data.get(session); final List<User> affectedUsers = new ArrayList<User>(); @@ -115,7 +116,7 @@ public class FeedbackStorage { for (final Map.Entry<User, FeedbackStorageObject> entry : sessionFeedbacks.entrySet()) { final User user = entry.getKey(); final FeedbackStorageObject feedback = entry.getValue(); - final boolean timeIsUp = feedback.getTimestamp().getTime() < maxAllowedTimeInMillis; + final boolean timeIsUp = feedback.getTimestamp().before(maxAllowedTime); if (timeIsUp) { sessionFeedbacks.remove(user); affectedUsers.add(user);