From 39ec01ce7f6b0cb7acff02d05c02cc76ed14628a Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 6 Jun 2016 11:44:05 +0200
Subject: [PATCH] OO-1593: score can always be null

---
 .../java/org/olat/course/run/scoring/ScoreAccounting.java   | 6 +++++-
 src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java      | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
index b4928a3723e..f5ff1dba8f3 100644
--- a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
+++ b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
@@ -200,7 +200,11 @@ public class ScoreAccounting {
 						.createAssessmentEntry(cNode, assessedIdentity, se);
 					changes = true;
 				} else if(!same(se, entry)) {
-					entry.setScore(new BigDecimal(score));
+					if(score != null) {
+						entry.setScore(new BigDecimal(score));
+					} else {
+						entry.setScore(null);
+					}
 					entry.setPassed(passed);
 					entry = userCourseEnvironment.getCourseEnvironment().getAssessmentManager().updateAssessmentEntry(entry);
 					identToEntries.put(cNode.getIdent(), entry);
diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java
index 73d113fa88a..4782075fd74 100644
--- a/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java
+++ b/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java
@@ -256,7 +256,7 @@ public class OLATUpgrade_11_0_0 extends OLATUpgrade {
 			if(!identityKeys.contains(identity.getKey())) {
 				AssessmentEntry entry = createAssessmentEntry(identity, null, course, courseEntry, rootNode.getIdent());
 				if(statement.getScore() != null) {
-					entry.setScore(new BigDecimal(statement.getScore().floatValue()));
+					entry.setScore(new BigDecimal(statement.getScore()));
 				}
 				if(statement.getPassed() != null) {
 					entry.setPassed(statement.getPassed());
-- 
GitLab