package qa.qcri.aidr.manager.service.impl; import java.util.List; import javax.inject.Inject; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import qa.qcri.aidr.manager.persistence.entities.UserConnection; import qa.qcri.aidr.manager.repository.UserConnectionRepository; import qa.qcri.aidr.manager.service.UserConnectionService; import qa.qcri.aidr.manager.util.Constants; @Service("userConnectionService") public class UserConnectionServiceImpl implements UserConnectionService{ @Inject private UserConnectionRepository userConnectionRepository; @Override @Transactional(readOnly=false) public void register(UserConnection userConnection) { userConnectionRepository.save(userConnection); } @Override @Transactional public void update(UserConnection userConnection) { userConnectionRepository.update(userConnection); } @Override @Transactional(readOnly = true) public List<UserConnection> getByUserIdAndProviderUserId(String userId, String providerUserId) { return userConnectionRepository.getByUserIdAndProviderUserId(userId, providerUserId); } @Override @Transactional(readOnly = true) public UserConnection getByUserIdAndProviderId(String userId, String providerId) { return userConnectionRepository.getByUserIdAndProviderId(userId, providerId); } @Override @Transactional(readOnly = true) public UserConnection fetchByCombinedUserName(String userName) { String provider = userName.substring(0, userName.indexOf(Constants.USER_NAME_SPLITTER)); userName = userName.substring(userName.indexOf(Constants.USER_NAME_SPLITTER)+1); return userConnectionRepository.getByUserIdAndProviderId(userName, provider); } }