From 53f460fe3a507e318049a991fdad4e0114b1264a Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 31 Mar 2014 17:27:11 +0200
Subject: [PATCH] no-jira: hardened user import against misconfigured user
 properties handler

---
 .../org/olat/admin/user/imp/ImportStep00.java   | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/olat/admin/user/imp/ImportStep00.java b/src/main/java/org/olat/admin/user/imp/ImportStep00.java
index abf7a30b7a3..f68ac727d16 100644
--- a/src/main/java/org/olat/admin/user/imp/ImportStep00.java
+++ b/src/main/java/org/olat/admin/user/imp/ImportStep00.java
@@ -305,15 +305,26 @@ class ImportStep00 extends BasicStep {
 				}
 				boolean isMandatoryField = um.isMandatoryUserProperty(usageIdentifyer, userPropertyHandler);
 				if (isMandatoryField && !StringHelper.containsNonWhitespace(thisValue)) {
-					textAreaElement.setErrorKey("error.mandatory", new String[] { String.valueOf(i + 1), translate(userPropertyHandler.i18nFormElementLabelKey()) });
+					String label = "";
+					if(userPropertyHandler.i18nFormElementLabelKey() != null) {
+						label = translate(userPropertyHandler.i18nFormElementLabelKey());
+					}
+					textAreaElement.setErrorKey("error.mandatory", new String[] { String.valueOf(i + 1), label });
 					importDataError = true;
 					break;
 				}
 				// used for call-back value depending on PropertyHandler
 				ValidationError validationError = new ValidationError();
 				if (!userPropertyHandler.isValidValue(null, thisValue, validationError, getLocale())) {
-					textAreaElement.setErrorKey("error.lengthorformat", new String[] { String.valueOf(i + 1), translate(userPropertyHandler.i18nFormElementLabelKey()),
-							translate(validationError.getErrorKey(), validationError.getArgs()) });
+					String error = "unkown";
+					String label = "";
+					if(userPropertyHandler.i18nFormElementLabelKey() != null) {
+						label = translate(userPropertyHandler.i18nFormElementLabelKey());
+					}
+					if(validationError.getErrorKey() != null) {
+						error = translate(validationError.getErrorKey(), validationError.getArgs());
+					}
+					textAreaElement.setErrorKey("error.lengthorformat", new String[] { String.valueOf(i + 1), label, error});
 					importDataError = true;
 					break;
 				}
-- 
GitLab