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