From 8429cf08a42e9c6590cbe3cc084df10cdc4949a7 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 28 Mar 2014 16:45:13 +0100
Subject: [PATCH] OO-1047: let the single choice override the maxvalue if
 necessary, set the 0 score in the Java Object for the editor instead of the
 default value 1

---
 .../ims/qti/editor/beecom/objects/ChoiceQuestion.java    | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/olat/ims/qti/editor/beecom/objects/ChoiceQuestion.java b/src/main/java/org/olat/ims/qti/editor/beecom/objects/ChoiceQuestion.java
index 3a43f8ca024..549793ae162 100644
--- a/src/main/java/org/olat/ims/qti/editor/beecom/objects/ChoiceQuestion.java
+++ b/src/main/java/org/olat/ims/qti/editor/beecom/objects/ChoiceQuestion.java
@@ -131,6 +131,9 @@ public class ChoiceQuestion extends Question implements QTIObject {
 						choice.setCorrect(true);
 					}
 				}
+				
+				// set min/max score first has it can be overridden
+				QTIEditHelper.configureMinMaxScore(instance, (Element) resprocessingXML.selectSingleNode(".//decvar"));
 
 				// get type of multiple choice
 				if (instance.getType() == TYPE_MC) {
@@ -144,12 +147,13 @@ public class ChoiceQuestion extends Question implements QTIObject {
 						instance.setSingleCorrect(false);
 					}
 				} else if (instance.getType() == TYPE_SC) {
-					instance.setSingleCorrect(true);
 					Collection<Float> values = points.values();
 					if (values.size() > 0) {
+						instance.setSingleCorrect(true);
 						instance.setSingleCorrectScore(((Float) (values.iterator().next())).floatValue());
 					} else {
 						instance.setSingleCorrect(false);
+						instance.setSingleCorrectScore(0f);
 					}
 				} else if (instance.getType() == TYPE_KPRIM) {
 					instance.setSingleCorrect(false);
@@ -176,8 +180,7 @@ public class ChoiceQuestion extends Question implements QTIObject {
 					}
 				}
 
-				// set min/max score
-				QTIEditHelper.configureMinMaxScore(instance, (Element) resprocessingXML.selectSingleNode(".//decvar"));
+					
 			}
 		} catch (NullPointerException e) {
 			/*
-- 
GitLab