KenDoBG

Untitled

Apr 1st, 2022
1,276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.42 KB | None | 0 0
  1. @Override
  2.     public String exportUsersWithTheirPosts() {
  3.         StringBuilder result = new StringBuilder();
  4.         List<User> users = this.userRepository.findAll();
  5.  
  6.         Map<String, List<Post>> userPosts = new HashMap<>();
  7.  
  8.         for (User user : users) {
  9.             List<Post> posts = this.postRepository.findByUserOrderByPictureSize(user);
  10.             userPosts.put(user.getUsername(), posts);
  11.         }
  12.  
  13.         users.sort((o1, o2) -> {
  14.             int result1 = Integer.compare(userPosts.get(o2.getUsername()).size(), userPosts.get(o1.getUsername()).size());
  15.             if (result1 == 0) {
  16.                 result1 = Integer.compare(o1.getId(), o2.getId());
  17.             }
  18.             return result1;
  19.         });
  20.  
  21.         for (User user : users) {
  22.             List<Post> posts = userPosts.get(user.getUsername());
  23.  
  24.             result.append("User: ").append(user.getUsername()).append(System.lineSeparator());
  25.             result.append("Post count: ").append(posts.size()).append(System.lineSeparator());
  26.  
  27.             for (Post post : posts) {
  28.                 result.append("==Post Details:").append(System.lineSeparator());
  29.                 result.append("----Caption: ").append(post.getCaption()).append(System.lineSeparator());
  30.                 result.append(String.format("----Picture Size: %.2f%n", post.getPicture().getSize()));
  31.             }
  32.         }
  33.  
  34.         return result.toString().trim();
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment