From 2de1e8106c63ca1c5c4ade006edd46c994918a64 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 22 Aug 2013 15:34:07 +0200 Subject: [PATCH] OO-710: more hardened cache for username against null key/value, fix a stupid method --- .../java/org/olat/user/UserManagerImpl.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/olat/user/UserManagerImpl.java b/src/main/java/org/olat/user/UserManagerImpl.java index 9cf2ede8c1b..d3d5269ea06 100644 --- a/src/main/java/org/olat/user/UserManagerImpl.java +++ b/src/main/java/org/olat/user/UserManagerImpl.java @@ -406,7 +406,6 @@ public class UserManagerImpl extends UserManager { List<IdentityShort> identities = securityManager.findShortIdentitiesByName(Collections.singletonList(username)); for(IdentityShort identity:identities) { fullName = getUserDisplayName(identity); - updateUsernameCache(identity.getKey(), identity.getName(), fullName); } } return fullName; @@ -421,7 +420,7 @@ public class UserManagerImpl extends UserManager { String fullName = usernameCache.get(identityKey); if(fullName == null) { IdentityShort identity = securityManager.loadIdentityShortByKey(identityKey); - updateUsernameCache(identity.getKey(), identity.getName(), fullName); + fullName = getUserDisplayName(identity); } return fullName; } @@ -446,7 +445,6 @@ public class UserManagerImpl extends UserManager { List<IdentityShort> identities = securityManager.findShortIdentitiesByName(newUsernames); for(IdentityShort identity:identities) { String fullName = getUserDisplayName(identity); - updateUsernameCache(identity.getKey(), identity.getName(), fullName); fullNames.put(identity.getName(), fullName); newUsernames.remove(identity.getName()); } @@ -459,8 +457,8 @@ public class UserManagerImpl extends UserManager { @Override public String getUserDisplayName(Identity identity) { - if (userDisplayNameCreator == null) return ""; - String fullName = userDisplayNameCreator.getUserDisplayName(identity.getUser()); + if (userDisplayNameCreator == null || identity == null) return ""; + String fullName = getUserDisplayName(identity.getUser()); updateUsernameCache(identity.getKey(), identity.getName(), fullName); return fullName; } @@ -470,7 +468,7 @@ public class UserManagerImpl extends UserManager { */ @Override public String getUserDisplayName(User user) { - if (userDisplayNameCreator == null) return ""; + if (userDisplayNameCreator == null || user == null) return ""; return userDisplayNameCreator.getUserDisplayName(user); } @@ -479,7 +477,7 @@ public class UserManagerImpl extends UserManager { */ @Override public String getUserDisplayName(IdentityShort identity) { - if (userDisplayNameCreator == null) return ""; + if (userDisplayNameCreator == null || identity == null) return ""; String fullName = userDisplayNameCreator.getUserDisplayName(identity); updateUsernameCache(identity.getKey(), identity.getName(), fullName); return fullName; @@ -514,10 +512,12 @@ public class UserManagerImpl extends UserManager { } private void updateUsernameCache(Long identityKey, String username, String fullName) { - if(identityKey != null && fullName != null) { + if(fullName == null) return; + + if(identityKey != null) { usernameCache.put(identityKey, fullName); } - if(username != null && fullName != null) { + if(username != null) { usernameCache.put(username, fullName); } } -- GitLab