Class CrowdRememberMeTokenDAOHibernate
java.lang.Object
com.atlassian.crowd.util.persistence.hibernate.StatelessDao
com.atlassian.crowd.util.persistence.hibernate.HibernateDao<InternalCrowdRememberMeToken>
com.atlassian.crowd.dao.rememberme.CrowdRememberMeTokenDAOHibernate
- All Implemented Interfaces:
CrowdRememberMeTokenDAO
public class CrowdRememberMeTokenDAOHibernate
extends HibernateDao<InternalCrowdRememberMeToken>
implements CrowdRememberMeTokenDAO
-
Field Summary
Fields inherited from class com.atlassian.crowd.util.persistence.hibernate.HibernateDao
batchFinder, batchProcessor, logger, statelessSessionBatchProcessor, timeSource
Fields inherited from class com.atlassian.crowd.util.persistence.hibernate.StatelessDao
sessionFactory
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionFind token by the id, if presentfindBySeriesAndToken
(String series, String token) findTokensForUser
(String username, long directoryId) Lists tokens for the given username and the directory idAll subclasses of HibernateDao must implement this method forHibernateDao.load(Serializable)
to work correctly.void
Reload the properties from databasevoid
Removes all remember me tokens presentint
removeAllExpiredTokens
(LocalDateTime lastValidTokenCreateTime, LocalDateTime lastValidUsedBeforeTime) Removes all tokens having createdTime before the lastValidTokenCreateTime, or usedTime before the lastValidUsedBeforeTimeint
removeTokensForDirectory
(long directoryId) Removes all the tokens for the given directoryint
removeTokensForSeries
(String series) Removes tokens for all the given seriesint
removeTokensForUserInDirectory
(String username, long directoryId) Removes all tokens for a user in the given directorysave
(InternalCrowdRememberMeToken token) Saves the tokenboolean
setUsedByRemoteAddress
(CrowdRememberMeToken crowdRememberMeToken) Tries to claim the given token if it is not yet claimed (used)Methods inherited from class com.atlassian.crowd.util.persistence.hibernate.HibernateDao
createDeleteQuery, createDeleteQuery, createQuery, createQuery, executeHQLQuery, findAllInternal, findByProperties, findByPropertiesOptional, findByProperty, findByProperty, findByPropertyOptional, findByPropertyOrThrow, getCountByProperties, load, load, loadOptional, loadReference, loadReference, remove, removeByIdIfPresent, save, saveOrUpdate, session, setBatchFinder, setBatchProcessor, setClock, setStatelessSessionBatchProcessor, toPredicates, update
Methods inherited from class com.atlassian.crowd.util.persistence.hibernate.StatelessDao
setSessionFactory, withStatelessSession
-
Constructor Details
-
CrowdRememberMeTokenDAOHibernate
public CrowdRememberMeTokenDAOHibernate()
-
-
Method Details
-
removeAll
public void removeAll()Description copied from interface:CrowdRememberMeTokenDAO
Removes all remember me tokens present- Specified by:
removeAll
in interfaceCrowdRememberMeTokenDAO
-
refresh
Description copied from interface:CrowdRememberMeTokenDAO
Reload the properties from database- Specified by:
refresh
in interfaceCrowdRememberMeTokenDAO
- Parameters:
token
- token to be refreshed
-
getPersistentClass
Description copied from class:HibernateDao
All subclasses of HibernateDao must implement this method forHibernateDao.load(Serializable)
to work correctly.- Specified by:
getPersistentClass
in classHibernateDao<InternalCrowdRememberMeToken>
- Returns:
- the entity class for this DAO
-
findByIdExclusiveLock
Description copied from interface:CrowdRememberMeTokenDAO
Find token by the id, if present- Specified by:
findByIdExclusiveLock
in interfaceCrowdRememberMeTokenDAO
-
findTokensForUser
Description copied from interface:CrowdRememberMeTokenDAO
Lists tokens for the given username and the directory id- Specified by:
findTokensForUser
in interfaceCrowdRememberMeTokenDAO
- Parameters:
username
- username of the userdirectoryId
- directory id to be searched for- Returns:
- collection of tokens
-
save
Description copied from interface:CrowdRememberMeTokenDAO
Saves the token- Specified by:
save
in interfaceCrowdRememberMeTokenDAO
-
removeAllExpiredTokens
public int removeAllExpiredTokens(LocalDateTime lastValidTokenCreateTime, LocalDateTime lastValidUsedBeforeTime) Description copied from interface:CrowdRememberMeTokenDAO
Removes all tokens having createdTime before the lastValidTokenCreateTime, or usedTime before the lastValidUsedBeforeTime- Specified by:
removeAllExpiredTokens
in interfaceCrowdRememberMeTokenDAO
- Parameters:
lastValidTokenCreateTime
- Last valid token create timestamp (exclusive)lastValidUsedBeforeTime
- Last valid token used timestamp (exclusive)- Returns:
- number of tokens deleted
-
removeTokensForSeries
Description copied from interface:CrowdRememberMeTokenDAO
Removes tokens for all the given series- Specified by:
removeTokensForSeries
in interfaceCrowdRememberMeTokenDAO
- Parameters:
series
- Series to remove all tokens for- Returns:
- number of tokens deleted
-
findBySeriesAndToken
public Optional<InternalCrowdRememberMeToken> findBySeriesAndToken(@Nonnull String series, @Nonnull String token) - Specified by:
findBySeriesAndToken
in interfaceCrowdRememberMeTokenDAO
- Parameters:
series
- Series to match tokentoken
- token value to match- Returns:
- a matching remember me token if exists
-
removeTokensForUserInDirectory
Description copied from interface:CrowdRememberMeTokenDAO
Removes all tokens for a user in the given directory- Specified by:
removeTokensForUserInDirectory
in interfaceCrowdRememberMeTokenDAO
- Parameters:
username
- username of the userdirectoryId
- directory id to which the user belongs- Returns:
- number of tokens deleted
-
removeTokensForDirectory
public int removeTokensForDirectory(long directoryId) Description copied from interface:CrowdRememberMeTokenDAO
Removes all the tokens for the given directory- Specified by:
removeTokensForDirectory
in interfaceCrowdRememberMeTokenDAO
- Parameters:
directoryId
- directory id to which the tokens belongs- Returns:
- number of tokens deleted
-
setUsedByRemoteAddress
Description copied from interface:CrowdRememberMeTokenDAO
Tries to claim the given token if it is not yet claimed (used)- Specified by:
setUsedByRemoteAddress
in interfaceCrowdRememberMeTokenDAO
- Parameters:
crowdRememberMeToken
- token to be claimed- Returns:
- whether attempt was successful or not
-