/**
* A list of all public user profiles
+ * <p>
+ * @TODO Hmm, makes that sense? Having visible user list in current
+ * (session-scoped) user's visible user list?
*/
private List<User> visibleUserList;
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
- //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("UserWebBean:afterUserLogin: this.visibleUserList.size()={0} - EXIT!", this.visibleUserList.size())); //NOI18N
+ // Is the user visible?
+ if (Objects.equals(loggedInUser.getUserProfileMode(), ProfileMode.PUBLIC)) {
+ // Yes, then add user
+ this.visibleUserList.add(loggedInUser);
+ }
}
@Override