@Override public CacheUserProvider create(KeycloakSession session) { lazyInit(session); return new DefaultCacheUserProvider(userCache, session); }
@Override public void preRemove(RealmModel realm, RoleModel role) { getDelegate().preRemove(realm, role); } @Override
@Override public void rollback() { setRollbackOnly = true; runInvalidations(); transactionActive = false; }
@Override public boolean removeUser(RealmModel realm, UserModel user) { if (!cache.isEnabled()) return getDelegate().removeUser(realm, user); registerUserInvalidation(realm, user.getId()); return getDelegate().removeUser(realm, user); }
@Override public UserModel getUserById(String id, RealmModel realm) { if (!cache.isEnabled()) return getDelegate().getUserById(id, realm); if (isRegisteredForInvalidation(realm, id)) { return getDelegate().getUserById(id, realm); } CachedUser cached = cache.getCachedUser(realm.getId(), id); if (cached == null) { UserModel model = getDelegate().getUserById(id, realm); if (model == null) return null; if (managedUsers.containsKey(id)) return managedUsers.get(id); if (userInvalidations.containsKey(id)) return model; cached = new CachedUser(realm, model); cache.addCachedUser(realm.getId(), cached); } else if (managedUsers.containsKey(id)) { return managedUsers.get(id); } UserAdapter adapter = new UserAdapter(cached, this, session, realm); managedUsers.put(id, adapter); return adapter; }
public DefaultCacheUserProvider(UserCache cache, KeycloakSession session) { this.cache = cache; this.session = session; session.getTransaction().enlistAfterCompletion(getTransaction()); }
@Override public void preRemove(ProtocolMapperModel protocolMapper) { getDelegate().preRemove(protocolMapper); } }
@Override public void commit() { if (delegate == null) return; if (clearAll) { cache.clear(); } runInvalidations(); transactionActive = false; }
@Override public List<UserModel> getUsers(RealmModel realm, boolean includeServiceAccounts) { return getDelegate().getUsers(realm, includeServiceAccounts); }
@Override public List<UserModel> searchForUserByAttributes(Map<String, String> attributes, RealmModel realm, int firstResult, int maxResults) { return getDelegate().searchForUserByAttributes(attributes, realm, firstResult, maxResults); }
@Override public boolean validCredentials(KeycloakSession session, RealmModel realm, UserModel user, List<UserCredentialModel> input) { return getDelegate().validCredentials(session, realm, user, input); }
@Override public void preRemove(RealmModel realm, GroupModel group) { getDelegate().preRemove(realm, group); }
@Override public List<UserModel> getGroupMembers(RealmModel realm, GroupModel group, int firstResult, int maxResults) { return getDelegate().getGroupMembers(realm, group, firstResult, maxResults); }
@Override public List<UserModel> searchForUser(String search, RealmModel realm) { return getDelegate().searchForUser(search, realm); }
@Override public boolean validCredentials(KeycloakSession session, RealmModel realm, UserModel user, UserCredentialModel... input) { return getDelegate().validCredentials(session, realm, user, input); }
@Override public UserModel getUserByServiceAccountClient(ClientModel client) { return getDelegate().getUserByServiceAccountClient(client); }
@Override public List<UserModel> searchForUser(String search, RealmModel realm, int firstResult, int maxResults) { return getDelegate().searchForUser(search, realm, firstResult, maxResults); }
@Override public FederatedIdentityModel getFederatedIdentity(UserModel user, String socialProvider, RealmModel realm) { return getDelegate().getFederatedIdentity(user, socialProvider, realm); }
@Override public UserModel getUserByFederatedIdentity(FederatedIdentityModel socialLink, RealmModel realm) { return getDelegate().getUserByFederatedIdentity(socialLink, realm); }
@Override public int getUsersCount(RealmModel realm) { return getDelegate().getUsersCount(realm); }