Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public String exportUsersWithTheirPosts() {
- StringBuilder result = new StringBuilder();
- List<User> users = this.userRepository.findAll();
- Map<String, List<Post>> userPosts = new HashMap<>();
- for (User user : users) {
- List<Post> posts = this.postRepository.findByUserOrderByPictureSize(user);
- userPosts.put(user.getUsername(), posts);
- }
- users.sort((o1, o2) -> {
- int result1 = Integer.compare(userPosts.get(o2.getUsername()).size(), userPosts.get(o1.getUsername()).size());
- if (result1 == 0) {
- result1 = Integer.compare(o1.getId(), o2.getId());
- }
- return result1;
- });
- for (User user : users) {
- List<Post> posts = userPosts.get(user.getUsername());
- result.append("User: ").append(user.getUsername()).append(System.lineSeparator());
- result.append("Post count: ").append(posts.size()).append(System.lineSeparator());
- for (Post post : posts) {
- result.append("==Post Details:").append(System.lineSeparator());
- result.append("----Caption: ").append(post.getCaption()).append(System.lineSeparator());
- result.append(String.format("----Picture Size: %.2f%n", post.getPicture().getSize()));
- }
- }
- return result.toString().trim();
- }
Advertisement
Add Comment
Please, Sign In to add comment