From ea7d7bc3fc5abdf623d57d3ecdbbf48dc71b70fa Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Mon, 17 Sep 2018 09:21:27 +0200
Subject: [PATCH] OO-3645: fix query to get attempts for the reminders rules

---
 .../course/reminder/manager/ReminderRuleDAO.java   | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/olat/course/reminder/manager/ReminderRuleDAO.java b/src/main/java/org/olat/course/reminder/manager/ReminderRuleDAO.java
index 27eab9dcc18..e14c059709d 100644
--- a/src/main/java/org/olat/course/reminder/manager/ReminderRuleDAO.java
+++ b/src/main/java/org/olat/course/reminder/manager/ReminderRuleDAO.java
@@ -51,7 +51,7 @@ public class ReminderRuleDAO {
 
 	public Map<Long,Float> getScores(RepositoryEntryRef entry, CourseNode node, List<Identity> identities) {
 		if(identities == null || identities.isEmpty()) {
-			return new HashMap<Long,Float>();
+			return new HashMap<>();
 		}
 
 		Set<Long> identityKeySet = null;
@@ -88,7 +88,7 @@ public class ReminderRuleDAO {
 	
 	public Map<Long,Integer> getAttempts(RepositoryEntryRef entry, CourseNode node, List<Identity> identities) {
 		if(identities == null || identities.isEmpty()) {
-			return new HashMap<Long,Integer>();
+			return new HashMap<>();
 		}
 
 		Set<Long> identityKeySet = null;
@@ -115,7 +115,11 @@ public class ReminderRuleDAO {
 			Long identityKey = (Long)infos[0];
 			if(identityKeySet == null || identityKeySet.contains(identityKey)) {
 				Number attempts = (Number)infos[1];
-				dateMap.put(identityKey, new Integer(attempts.intValue()));
+				if(attempts != null) {
+					dateMap.put(identityKey, Integer.valueOf(attempts.intValue()));
+				} else {
+					dateMap.put(identityKey, Integer.valueOf(0));
+				}
 			}
 		}
 		return dateMap;
@@ -123,7 +127,7 @@ public class ReminderRuleDAO {
 	
 	public Map<Long,Date> getInitialAttemptDates(RepositoryEntryRef entry, CourseNode node, List<Identity> identities) {
 		if(identities == null || identities.isEmpty()) {
-			return new HashMap<Long,Date>();
+			return new HashMap<>();
 		}
 
 		Set<Long> identityKeySet = null;
@@ -158,7 +162,7 @@ public class ReminderRuleDAO {
 	
 	public Map<Long,Boolean> getPassed(RepositoryEntryRef entry, CourseNode node, List<Identity> identities) {
 		if(identities == null || identities.isEmpty()) {
-			return new HashMap<Long,Boolean>();
+			return new HashMap<>();
 		}
 
 		Set<Long> identityKeySet = null;
-- 
GitLab