]> git.mxchange.org Git - jjobs-war.git/commitdiff
Please cherry-pick and later rewrite:
authorRoland Häder <roland@mxchange.org>
Wed, 3 Aug 2016 09:54:23 +0000 (11:54 +0200)
committerRoland Haeder <roland@mxchange.org>
Sun, 7 Aug 2016 10:20:25 +0000 (12:20 +0200)
- 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 <roland@mxchange.org>
src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java

index 124b9ea26d429d39417973c8f3cae9cf11b4909a..65cbfbbfed553c1d9b56de68bf6c430c3110ecc4 100644 (file)
@@ -160,6 +160,9 @@ public class JobsUserWebSessionBean extends BaseJobsController implements JobsUs
 
        /**
         * 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;
 
@@ -362,15 +365,17 @@ public class JobsUserWebSessionBean extends BaseJobsController implements JobsUs
                        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