A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.3 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. package org.ros.chatto.repository;
  2. import java.util.List;
  3. import javax.persistence.EntityManager;
  4. import javax.persistence.PersistenceContext;
  5. import javax.persistence.criteria.CriteriaBuilder;
  6. import javax.persistence.criteria.CriteriaQuery;
  7. import javax.persistence.criteria.Root;
  8. import org.springframework.stereotype.Service;
  9. import org.ros.chatto.model.ChatUser;
  10. import org.ros.chatto.repository.UserRepositoryCustom;
  11. @Service
  12. class UserRepositoryCustomImpl implements UserRepositoryCustom {
  13. @PersistenceContext
  14. private EntityManager entityManager;
  15. @Override
  16. public List<String> getAllUserNames(String userName) {
  17. List<String> userNamesList = null;
  18. // Session session = null;
  19. try {
  20. CriteriaBuilder criteriaBuilder = entityManager
  21. .getCriteriaBuilder();
  22. CriteriaQuery<String> criteriaQuery = criteriaBuilder
  23. .createQuery(String.class);
  24. Root<ChatUser> root = criteriaQuery.from(ChatUser.class);
  25. criteriaQuery.select(root.get("userName"));
  26. criteriaQuery.where(
  27. criteriaBuilder.notEqual(root.get("userName"), userName));
  28. userNamesList = entityManager.createQuery(criteriaQuery)
  29. .getResultList();
  30. // for(String un: userNamesList)
  31. // {
  32. // System.out.println(un);
  33. // }
  34. } catch (Exception e) {
  35. e.printStackTrace();
  36. }
  37. return userNamesList;
  38. }
  39. }