From: Roland Häder Date: Wed, 3 Aug 2016 09:54:23 +0000 (+0200) Subject: Please cherry-pick and later rewrite: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=9f97e6331cb48600462d74e9d562670f6a41e10e;p=addressbook-war.git Please cherry-pick and later rewrite: - having the current user in his own visuble users list makes no sense - maybe make a new application-scoped controller which maintains such lists Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebSessionBean.java b/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebSessionBean.java index 29b088ad..7a380cfa 100644 --- a/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebSessionBean.java +++ b/src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebSessionBean.java @@ -148,6 +148,9 @@ public class AddressbookUserWebSessionBean extends BaseAddressbookController imp /** * A list of all public user profiles + *

+ * @TODO Hmm, makes that sense? Having visible user list in current + * (session-scoped) user's visible user list? */ private List visibleUserList; @@ -329,14 +332,17 @@ public class AddressbookUserWebSessionBean extends BaseAddressbookController imp throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getLoggedInUser(), event.getLoggedInUser().getUserId())); //NOI18N } - // Copy all data to this bean - this.copyUser(event.getLoggedInUser()); + // "Cache" user instance + User loggedInUser = event.getLoggedInUser(); - // Re-initialize list - // @TODO This calls the EJB again, after a user logs in which can cause lots of calls on it. - this.visibleUserList = this.userBean.allMemberPublicVisibleUsers(); + // Copy all data to this bean + this.copyUser(loggedInUser); - // Trace message + // Is the user visible? + if (Objects.equals(loggedInUser.getUserProfileMode(), ProfileMode.PUBLIC)) { + // Yes, then add user + this.visibleUserList.add(loggedInUser); + } } @Override