package com.qprogramming.tasq.signin; import java.util.Date; import java.util.List; import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken; import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository; public class PersistentTokenRepositoryImpl implements PersistentTokenRepository { private final RememberMeTokenRepository rememberMeTokenRepository; public PersistentTokenRepositoryImpl(RememberMeTokenRepository rememberMeTokenRepository) { this.rememberMeTokenRepository = rememberMeTokenRepository; } @Override public void createNewToken(PersistentRememberMeToken token) { RememberMeToken newToken = new RememberMeToken(token); if (newToken != null) { this.rememberMeTokenRepository.save(newToken); } } @Override public void updateToken(String series, String tokenValue, Date lastUsed) { RememberMeToken token = this.rememberMeTokenRepository.findBySeries(series); if (token != null) { token.setTokenValue(tokenValue); token.setDate(lastUsed); this.rememberMeTokenRepository.save(token); } } @Override public PersistentRememberMeToken getTokenForSeries(String seriesId) { RememberMeToken token = this.rememberMeTokenRepository.findBySeries(seriesId); if (token != null) { return new PersistentRememberMeToken(token.getUsername(), token.getSeries(), token.getTokenValue(), token.getDate()); } else return null; } @Override public void removeUserTokens(String username) { List<RememberMeToken> tokens = this.rememberMeTokenRepository.findByUsername(username); if (tokens != null) { this.rememberMeTokenRepository.delete(tokens); } } }