From 99afe74ebdcc4ef2ee58f8a521a7b8e7b45e0fdd Mon Sep 17 00:00:00 2001 From: aboeckle <alexander.boeckle@frentix.com> Date: Wed, 8 Jul 2020 12:24:05 +0200 Subject: [PATCH] OO-4792: Fixed QTI1.2 self test --- .../org/olat/course/nodes/IQSELFCourseNode.java | 14 ++++++++++++++ .../org/olat/course/nodes/IQTESTCourseNode.java | 11 +++++++---- .../org/olat/course/nodes/iq/IQ12EditForm.java | 4 ++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java index 78e2da363b3..f7e9426215a 100644 --- a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java +++ b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java @@ -104,6 +104,8 @@ public class IQSELFCourseNode extends AbstractAccessableCourseNode implements Se private static final Logger log = Tracing.createLoggerFor(IQSELFCourseNode.class); private static final String PACKAGE_IQ = Util.getPackageName(IQRunController.class); public static final String TYPE = "iqself"; + + private static final int CURRENT_CONFIG_VERSION = 3; public IQSELFCourseNode() { this(null); @@ -327,7 +329,19 @@ public class IQSELFCourseNode extends AbstractAccessableCourseNode implements Se config.set(IQEditController.CONFIG_KEY_TYPE, AssessmentInstance.QMD_ENTRY_TYPE_SELF); config.set(IQEditController.CONFIG_KEY_SUMMARY, AssessmentInstance.QMD_ENTRY_SUMMARY_DETAILED); config.set(IQEditController.CONFIG_KEY_CONFIG_REF, Boolean.TRUE); + } else { + int version = config.getConfigurationVersion(); + if (version < CURRENT_CONFIG_VERSION) { + if (version <= 3) { + if (config.get(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS) instanceof Boolean) { + config.setStringValue(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS, String.valueOf(config.getBooleanEntry(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS))); + } + } + + } } + + config.setConfigurationVersion(CURRENT_CONFIG_VERSION); } @Override diff --git a/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java b/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java index ad517944464..ae0b482f791 100644 --- a/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java +++ b/src/main/java/org/olat/course/nodes/IQTESTCourseNode.java @@ -139,7 +139,7 @@ public class IQTESTCourseNode extends AbstractAccessableCourseNode implements QT private static final String TRANSLATOR_PACKAGE = Util.getPackageName(IQEditController.class); public static final String TYPE = "iqtest"; - private static final int CURRENT_CONFIG_VERSION = 2; + private static final int CURRENT_CONFIG_VERSION = 3; private transient RepositoryEntry cachedReferenceRepositoryEntry; @@ -634,13 +634,16 @@ public class IQTESTCourseNode extends AbstractAccessableCourseNode implements QT if (version < CURRENT_CONFIG_VERSION) { // Loaded config is older than current config version => migrate if (version == 1) { - // migrate V1 => V2, new parameter 'enableScoreInfo' - version = 2; config.set(IQEditController.CONFIG_KEY_ENABLESCOREINFO, Boolean.TRUE); + } else if (version <= 2) { + if (config.get(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS) instanceof Boolean) { + config.setStringValue(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS, String.valueOf(config.getBooleanEntry(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS))); + } } - config.setConfigurationVersion(CURRENT_CONFIG_VERSION); } } + + config.setConfigurationVersion(CURRENT_CONFIG_VERSION); } @Override diff --git a/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java b/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java index 87fdb604f7d..155837d31b8 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java +++ b/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java @@ -160,7 +160,7 @@ public class IQ12EditForm extends FormBasicController { // Only tests and selftests have summaries and score progress if (!isSurvey) { modConfig.set(IQEditController.CONFIG_KEY_SUMMARY, getSummary()); - modConfig.set(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS, new Boolean(isShowResultsDateDependent())); + modConfig.set(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS, String.valueOf(isShowResultsDateDependent())); modConfig.set(IQEditController.CONFIG_KEY_RESULTS_START_DATE, getShowResultsStartDate()); modConfig.set(IQEditController.CONFIG_KEY_RESULTS_END_DATE, getShowResultsEndDate()); modConfig.set(IQEditController.CONFIG_KEY_RESULT_ON_FINISH, isShowResultsAfterFinishTest()); @@ -223,7 +223,7 @@ public class IQ12EditForm extends FormBasicController { showResultsOnHomePage.addActionListener(FormEvent.ONCLICK); showResultsOnHomePage.setVisible(!isSurvey); - Boolean showResultsActive = modConfig.getBooleanEntry(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS); + Boolean showResultsActive = Boolean.valueOf(modConfig.getStringValue(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS)); boolean showResultsDateDependent = false; // default false if (showResultsActive != null) { showResultsDateDependent = showResultsActive.booleanValue(); -- GitLab