From 63f1626c968eb8782b6b49ab2606c4b271e4d64d Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 8 Jun 2015 09:22:42 +0200 Subject: [PATCH] OO-1567: hardened the user name's cache against null, show a string as author if the feed author user name is null --- .../java/org/olat/modules/webFeed/ui/FeedMainController.java | 3 +++ src/main/java/org/olat/user/UserManagerImpl.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java b/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java index d4f77ba0a9e..b3f2d231afa 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java @@ -117,6 +117,9 @@ public class FeedMainController extends BasicController implements Activateable2 putInitialPanel(vcMain); } else { String authorFullname = userManager.getUserDisplayName(feed.getAuthor()); + if(authorFullname == null) { + authorFullname = "???"; + } helper = new FeedViewHelper(feed, getIdentity(), authorFullname, uiFactory.getTranslator(), courseId, nodeId, callback); CoordinatorManager.getInstance().getCoordinator().getEventBus().registerFor(this, ureq.getIdentity(), feed); display(ureq, wControl, displayConfig); diff --git a/src/main/java/org/olat/user/UserManagerImpl.java b/src/main/java/org/olat/user/UserManagerImpl.java index 796c793bc9d..78294a8b216 100644 --- a/src/main/java/org/olat/user/UserManagerImpl.java +++ b/src/main/java/org/olat/user/UserManagerImpl.java @@ -433,6 +433,10 @@ public class UserManagerImpl extends UserManager { @Override public String getUsername(Long identityKey) { + if(identityKey == null || identityKey.longValue() <= 0) { + return null; + } + String username = userToNameCache.get(identityKey); if(username == null) { IdentityShort identity = securityManager.loadIdentityShortByKey(identityKey); @@ -444,6 +448,7 @@ public class UserManagerImpl extends UserManager { @Override public String getUserDisplayName(String username) { + if(username == null) return null; String fullName = userToFullnameCache.get(username); if(fullName == null) { List<IdentityShort> identities = securityManager.findShortIdentitiesByName(Collections.singletonList(username)); -- GitLab