public static ClientSessionPredicate create(String realm) { return new ClientSessionPredicate(realm); }
protected long getUserSessionsCount(RealmModel realm, ClientModel client, boolean offline) { return getCache(offline).entrySet().stream().filter(ClientSessionPredicate.create(realm.getId()).client(client.getId()).requireUserSession()).map(Mappers.clientSessionToUserSessionId()).distinct().count(); }
private void removeExpiredClientSessions(RealmModel realm) { int expiredDettachedClientSession = Time.currentTime() - RealmInfoUtil.getDettachedClientSessionLifespan(realm); Iterator<Map.Entry<String, SessionEntity>> itr = sessionCache.entrySet().stream().filter(ClientSessionPredicate.create(realm.getId()).expiredRefresh(expiredDettachedClientSession).requireNullUserSession()).iterator(); while (itr.hasNext()) { tx.remove(sessionCache, itr.next().getKey()); } }
private void removeExpiredOfflineClientSessions(RealmModel realm) { UserSessionPersisterProvider persister = session.getProvider(UserSessionPersisterProvider.class); int expiredOffline = Time.currentTime() - realm.getOfflineSessionIdleTimeout(); Iterator<String> itr = offlineSessionCache.entrySet().stream().filter(ClientSessionPredicate.create(realm.getId()).expiredRefresh(expiredOffline)).map(Mappers.sessionId()).iterator(); while (itr.hasNext()) { String sessionId = itr.next(); tx.remove(offlineSessionCache, sessionId); persister.removeClientSession(sessionId, true); } }
private void onClientRemoved(RealmModel realm, ClientModel client, boolean offline) { Cache<String, SessionEntity> cache = getCache(offline); Iterator<Map.Entry<String, SessionEntity>> itr = cache.entrySet().stream().filter(ClientSessionPredicate.create(realm.getId()).client(client.getId())).iterator(); while (itr.hasNext()) { ClientSessionEntity entity = (ClientSessionEntity) itr.next().getValue(); ClientSessionAdapter adapter = wrap(realm, entity, offline); adapter.setUserSession(null); tx.remove(cache, entity.getId()); } }
.filter(ClientSessionPredicate.create(realm.getId()).client(client.getId()).requireUserSession()) .map(Mappers.clientSessionToUserSessionTimestamp()) .iterator();