Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package spring.repository.social;
- import org.springframework.social.connect.*;
- import org.springframework.stereotype.Component;
- import spring.domain.SocialUserConnection;
- import spring.repository.SocialUserConnectionRepository;
- import java.util.List;
- import java.util.Set;
- import java.util.stream.Collectors;
- @Component
- public class CustomSocialUsersConnectionRepository implements UsersConnectionRepository {
- private SocialUserConnectionRepository socialUserConnectionRepository;
- private ConnectionFactoryLocator connectionFactoryLocator;
- public CustomSocialUsersConnectionRepository() {;
- }
- public CustomSocialUsersConnectionRepository(SocialUserConnectionRepository socialUserConnectionRepository, ConnectionFactoryLocator connectionFactoryLocator) {
- this.socialUserConnectionRepository = socialUserConnectionRepository;
- this.connectionFactoryLocator = connectionFactoryLocator;
- }
- @Override
- public List<String> findUserIdsWithConnection(Connection<?> connection) {
- ConnectionKey key = connection.getKey();
- List<SocialUserConnection> socialUserConnections =
- socialUserConnectionRepository.findAllByProviderIdAndProviderUserId(key.getProviderId(), key.getProviderUserId());
- return socialUserConnections.stream()
- .map(SocialUserConnection::getUserId)
- .collect(Collectors.toList());
- };
- @Override
- public Set<String> findUserIdsConnectedTo(String providerId, Set<String> providerUserIds) {
- List<SocialUserConnection> socialUserConnections =
- socialUserConnectionRepository.findAllByProviderIdAndProviderUserIdIn(providerId, providerUserIds);
- return socialUserConnections.stream()
- .map(SocialUserConnection::getUserId)
- .collect(Collectors.toSet());
- };
- @Override
- public ConnectionRepository createConnectionRepository(String userId) {
- if (userId == null) {
- throw new IllegalArgumentException("userId cannot be null");
- }
- return new CustomSocialConnectionRepository(userId, socialUserConnectionRepository, connectionFactoryLocator);
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement