From 55fd74eb18e02456bdff56f8322fd755e195648e Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 11 May 2017 17:25:07 +0200
Subject: [PATCH] OO-2757: check keys and type in test course element to
 prevent error due to switch from test with QTI 2.1 and 1.2

---
 .../org/olat/course/nodes/iq/IQ12EditForm.java   | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

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 a3f0bd915ed..0dc46f0eb27 100644
--- a/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java
+++ b/src/main/java/org/olat/course/nodes/iq/IQ12EditForm.java
@@ -228,13 +228,19 @@ public class IQ12EditForm extends FormBasicController {
 			showResultsDateDependentButton.setEnabled(false);
 		}
 	
-		Date startDate = (Date) modConfig.get(IQEditController.CONFIG_KEY_RESULTS_START_DATE);
+		Date startDate = null;
+		if(modConfig.get(IQEditController.CONFIG_KEY_RESULTS_START_DATE) instanceof Date) {
+			startDate = (Date)modConfig.get(IQEditController.CONFIG_KEY_RESULTS_START_DATE);
+		}
 		startDateElement = uifactory.addDateChooser("qti_form_start_date", "qti.form.date.start", null, formLayout);
 		startDateElement.setDateChooserTimeEnabled(true);
 		startDateElement.setDate(startDate);
 		startDateElement.setMandatory(true);
 		
-		Date endDate = (Date) modConfig.get(IQEditController.CONFIG_KEY_RESULTS_END_DATE);
+		Date endDate = null;
+		if(modConfig.get(IQEditController.CONFIG_KEY_RESULTS_END_DATE) instanceof Date) {
+			endDate = (Date) modConfig.get(IQEditController.CONFIG_KEY_RESULTS_END_DATE);
+		}
 		endDateElement = uifactory.addDateChooser("qti_form_end_date", "qti.form.date.end", null, formLayout);
 		endDateElement.setDateChooserTimeEnabled(true);
 		endDateElement.setDate(endDate);
@@ -265,7 +271,11 @@ public class IQ12EditForm extends FormBasicController {
 			confSummary = AssessmentInstance.QMD_ENTRY_SUMMARY_COMPACT;
 		}
 		if (isAssessment || isSelfTest) {
-			summary.select(confSummary, true);
+			for(String summaryKey:summaryKeys) {
+				if(summaryKey.equals(confSummary)) {
+					summary.select(summaryKey, true);
+				}
+			}
 		} else {
 			summary.setEnabled(false);
 		}
-- 
GitLab