diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index a5c7aa57ebc0eae0d574cd83695c451930bda168..17e9c133aec5faee031a06853217b513ad254295 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -114,59 +114,6 @@ public class CouchDBDao implements IDatabaseDao { this.userService = service; } - /** - * This method cleans up old feedback votes at the scheduled interval. - */ - @Override - public final void cleanFeedbackVotes(final int cleanupFeedbackDelay) { - final long timelimitInMillis = 60000 * (long) cleanupFeedbackDelay; - final long maxAllowedTimeInMillis = System.currentTimeMillis() - timelimitInMillis; - - Map<String, Set<String>> affectedUsers = new HashMap<String, Set<String>>(); - Set<String> allAffectedSessions = new HashSet<String>(); - - List<Document> results = findFeedbackForDeletion(maxAllowedTimeInMillis); - for (Document d : results) { - try { - // Read the required document data - Document feedback = this.getDatabase().getDocument(d.getId()); - String arsInternalSessionId = feedback.getString("sessionId"); - String user = feedback.getString("user"); - - // Store user and session data for later. We need this to - // communicate the changes back to the users. - Set<String> affectedArsSessions = affectedUsers.get(user); - if (affectedArsSessions == null) { - affectedArsSessions = new HashSet<String>(); - } - affectedArsSessions.add(getSessionKeyword(arsInternalSessionId)); - affectedUsers.put(user, affectedArsSessions); - allAffectedSessions.addAll(affectedArsSessions); - - this.database.deleteDocument(feedback); - LOGGER.debug("Cleaning up Feedback document " + d.getId()); - } catch (IOException e) { - LOGGER.error("Could not delete Feedback document " + d.getId()); - } catch (JSONException e) { - LOGGER.error( - "Could not delete Feedback document {}, error is: {} ", - new Object[] {d.getId(), e} - ); - } - } - if (!results.isEmpty()) { - feedbackService.broadcastFeedbackChanges(affectedUsers, allAffectedSessions); - } - } - - private List<Document> findFeedbackForDeletion(final long maxAllowedTimeInMillis) { - View cleanupFeedbackView = new View("understanding/cleanup"); - cleanupFeedbackView.setStartKey("null"); - cleanupFeedbackView.setEndKey(String.valueOf(maxAllowedTimeInMillis)); - ViewResults feedbackForCleanup = this.getDatabase().view(cleanupFeedbackView); - return feedbackForCleanup.getResults(); - } - @Override public final Session getSession(final String keyword) { Session result = this.getSessionFromKeyword(keyword); diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java index 73c786ee907fff32f8d2c547e7959f4f45342bc5..f22a3906d26ced4000290d435ace6f4218c5e0eb 100644 --- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java +++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java @@ -33,8 +33,6 @@ import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.User; public interface IDatabaseDao { - void cleanFeedbackVotes(int cleanupFeedbackDelay); - Session getSessionFromKeyword(String keyword); Session getSession(String keyword); diff --git a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java index bbf6a89ad19a646d560584c7d619a407679de457..98301367ed438680466c267a3682bf760df8603e 100644 --- a/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java +++ b/src/test/java/de/thm/arsnova/dao/StubDatabaseDao.java @@ -104,11 +104,6 @@ public class StubDatabaseDao implements IDatabaseDao { stubQuestions.put("12345678", questions); } - @Override - public void cleanFeedbackVotes(int cleanupFeedbackDelay) { - stubSessions.clear(); - } - @Override public Session getSession(String keyword) { // Magic keyword for forbidden session