private JCUser updateCacheAndGet(long principalId){ JCUser cached = CACHED_USER.get(); if (cached == null || cached.getId() != principalId){ cached = JCUser.copyUser(userDao.loadById(principalId)); CACHED_USER.set(cached); } return cached; }
/** * Gets copy of user currently logged in. This is done so that Plugins won't be able to modify objects and * break core forum. * * @return the copy of user currently logged in or {@link AnonymousUser} if user is anonymous * @see AnonymousUser */ @Override public JCUser getCurrentUser() { JCUser currentUser = userReader.getCurrentUser(); if (currentUser.isAnonymous()) { return new AnonymousUser(); } else { return JCUser.copyUser(currentUser); } } }