diff --git a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java index 6c85414970833aa3f646b17454860755d793a160..947cf955e6ae1dc318f2023e9912848c1e57bc2e 100644 --- a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java +++ b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java @@ -120,6 +120,7 @@ public class CSVToAssessmentItemConverter { case "type": processType(parts); break; case "titel": case "title": processTitle(parts); break; + case "topic": processTopic(parts); break; case "beschreibung": case "description": processDescription(parts); break; case "frage": @@ -272,7 +273,7 @@ public class CSVToAssessmentItemConverter { String discriminationIndex = parts[1]; if(StringHelper.containsNonWhitespace(discriminationIndex)) { try { - currentItem.setDifferentiation(new BigDecimal(discriminationIndex.trim())); + currentItem.setDifferentiation(new BigDecimal(discriminationIndex.replace(",", ".").trim())); } catch (Exception e) { log.warn("", e); } @@ -285,7 +286,7 @@ public class CSVToAssessmentItemConverter { String difficulty = parts[1]; if(StringHelper.containsNonWhitespace(difficulty)) { try { - BigDecimal dif = new BigDecimal(difficulty.trim()); + BigDecimal dif = new BigDecimal(difficulty.replace(",", ".").trim()); if(dif.doubleValue() >= 0.0d && dif.doubleValue() <= 1.0d) { currentItem.setDifficulty(dif); } else { @@ -303,7 +304,7 @@ public class CSVToAssessmentItemConverter { String stddev = parts[1]; if(StringHelper.containsNonWhitespace(stddev)) { try { - BigDecimal dev = new BigDecimal(stddev.trim()); + BigDecimal dev = new BigDecimal(stddev.replace(",", ".").trim()); if(dev.doubleValue() >= 0.0d && dev.doubleValue() <= 1.0d) { currentItem.setStdevDifficulty(dev); } else { @@ -515,6 +516,15 @@ public class CSVToAssessmentItemConverter { } } + private void processTopic(String[] parts) { + if(currentItem == null || parts.length < 2) return; + + String topic = parts[1]; + if(StringHelper.containsNonWhitespace(topic)) { + currentItem.setTopic(topic); + } + } + private void processQuestion(String[] parts) { if(currentItem == null) return; diff --git a/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx b/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx index 337788a2369fb178b73ae6c206045fc0536fe2a8..1eb189381d65d10d72ff858e70e93da106e30688 100644 Binary files a/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx and b/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx differ