@Override public String getUsername() { if (updated != null) return updated.getUsername(); return cached.getUsername(); }
@CacheEntriesEvicted public void userEvicted(CacheEntriesEvictedEvent<String, CachedUser> event) { for (CachedUser user : event.getEntries().values()) { removeUser(user); log.tracev("User evicted realm={0}, id={1}, username={2}", user.getRealm(), user.getId(), user.getUsername()); } }
private void removeUser(CachedUser cachedUser) { String realm = cachedUser.getRealm(); usernameLookup.remove(realm, cachedUser.getUsername()); if (cachedUser.getEmail() != null) { emailLookup.remove(realm, cachedUser.getEmail()); } }
@CacheEntryInvalidated public void userInvalidated(CacheEntryInvalidatedEvent<String, CachedUser> event) { if (event.isPre()) { CachedUser user = event.getValue(); if (user != null) { removeUser(user); log.tracev("User invalidated realm={0}, id={1}, username={2}", user.getRealm(), user.getId(), user.getUsername()); } } }
@CacheEntryRemoved public void userRemoved(CacheEntryRemovedEvent<String, CachedUser> event) { if (event.isPre()) { CachedUser user = event.getValue(); if (user != null) { removeUser(user); log.tracev("User invalidated realm={0}, id={1}, username={2}", user.getRealm(), user.getId(), user.getUsername()); } } }
@CacheEntryCreated public void userCreated(CacheEntryCreatedEvent<String, CachedUser> event) { if (!event.isPre()) { CachedUser user; // Try optimized version if available if (isNewInfinispan) { user = event.getValue(); } else { String userId = event.getKey(); user = event.getCache().get(userId); } if (user != null) { String realm = user.getRealm(); usernameLookup.put(realm, user.getUsername(), user.getId()); if (user.getEmail() != null) { emailLookup.put(realm, user.getEmail(), user.getId()); } log.tracev("User added realm={0}, id={1}, username={2}", realm, user.getId(), user.getUsername()); } } }