From 77fc96ad49da685f4a788ea859edc2155504395a Mon Sep 17 00:00:00 2001
From: Christoph Thelen <christoph.thelen@mni.thm.de>
Date: Thu, 12 Feb 2015 12:37:06 +0100
Subject: [PATCH] Add empty user at import, ignore them for learning progress

---
 src/main/java/de/thm/arsnova/dao/CouchDBDao.java     | 2 ++
 src/main/java/de/thm/arsnova/domain/CourseScore.java | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index cdb87b61..0cc06539 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -1772,6 +1772,8 @@ public class CouchDBDao implements IDatabaseDao {
 					answerDoc.put("timestamp", a.getTimestamp());
 					answerDoc.put("piRound", a.getPiRound());
 					answerDoc.put("abstention", a.isAbstention());
+					// we do not store the user's name
+					answerDoc.put("user", "");
 					answers.add(answerDoc);
 				}
 			}
diff --git a/src/main/java/de/thm/arsnova/domain/CourseScore.java b/src/main/java/de/thm/arsnova/domain/CourseScore.java
index fa3c9d92..f57e5629 100644
--- a/src/main/java/de/thm/arsnova/domain/CourseScore.java
+++ b/src/main/java/de/thm/arsnova/domain/CourseScore.java
@@ -35,6 +35,7 @@ public class CourseScore implements Iterable<QuestionScore> {
 
 	/**
 	 * @pre questionId has been added before.
+	 * @pre username is set
 	 * @param questionId
 	 * @param username
 	 * @param userscore
@@ -45,6 +46,10 @@ public class CourseScore implements Iterable<QuestionScore> {
 			// Most likely this is a question that has no learning progress value.
 			return;
 		}
+		if (username == null || username.isEmpty()) {
+			// Precondition failed: ignore anonymous users
+			return;
+		}
 		QuestionScore questionScore = scores.get(questionId);
 		questionScore.add(username, userscore);
 	}
-- 
GitLab