From 687bfdce9b3536eceaf93299ac9263fecaab7ee5 Mon Sep 17 00:00:00 2001
From: gnaegi <none@none>
Date: Mon, 4 Jul 2016 18:54:21 +0200
Subject: [PATCH] OO-2085 fix class cast exception in case of transient user
 object

---
 .../propertyhandlers/DateDisplayPropertyHandler.java | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java
index de3d7b7dc3d..8639081fd02 100644
--- a/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java
@@ -23,6 +23,7 @@ import java.util.Date;
 import java.util.Locale;
 import java.util.Map;
 
+import org.olat.admin.user.imp.TransientIdentity;
 import org.olat.core.gui.components.form.ValidationError;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
@@ -73,9 +74,14 @@ public class DateDisplayPropertyHandler extends AbstractUserPropertyHandler {
 		if (DATE_TYPE_CR.equals(myName))
 			return user.getCreationDate();
 		if (DATE_TYPE_LL.equals(myName)) {
-			Identity id = ((UserImpl)user).getIdentity();
-			if (id != null) {
-				return id.getLastLogin();
+			if (user instanceof UserImpl) {
+				Identity id = ((UserImpl)user).getIdentity();
+				if (id != null) {
+					return id.getLastLogin();
+				}				
+			} else if (user instanceof TransientIdentity) {
+				// anticipated, some kind of preview screen
+				return new Date(0);
 			}
 			// huh, we didn't find this identity
 			log.warn("Couldn't find Identity for given User: " + user.getKey());
-- 
GitLab