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.

44 lines
1.3 KiB

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.UserRepositoryCustomInterface;
  11. @Service
  12. class UserRepositoryCustom implements UserRepositoryCustomInterface{
  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.getCriteriaBuilder();
  21. CriteriaQuery<String> criteriaQuery = criteriaBuilder.createQuery(String.class);
  22. Root<ChatUser> root = criteriaQuery.from(ChatUser.class);
  23. criteriaQuery.select(root.get("userName"));
  24. criteriaQuery.where(criteriaBuilder.notEqual(root.get("userName"), userName));
  25. userNamesList = entityManager.createQuery(criteriaQuery).getResultList();
  26. for(String un: userNamesList)
  27. {
  28. System.out.println(un);
  29. }
  30. } catch (Exception e) {
  31. // TODO: handle exception
  32. e.printStackTrace();
  33. }
  34. return userNamesList;
  35. }
  36. }