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.

108 lines
3.3 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. package org.ros.chatto.service;
  2. import java.util.List;
  3. import java.util.stream.Collectors;
  4. import org.modelmapper.ModelMapper;
  5. import org.ros.chatto.dto.ChatMessageDTO;
  6. import org.ros.chatto.dto.MessageCipherDTO;
  7. import org.ros.chatto.dto.ReencryptionDTO;
  8. import org.ros.chatto.model.ChatMessage;
  9. import org.ros.chatto.model.MessageCipher;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.data.domain.Page;
  12. import org.springframework.stereotype.Service;
  13. //private PostDto convertToDto(Post post) {
  14. // PostDto postDto = modelMapper.map(post, PostDto.class);
  15. // postDto.setSubmissionDate(post.getSubmissionDate(),
  16. // userService.getCurrentUser().getPreference().getTimezone());
  17. // return postDto;
  18. //}
  19. //
  20. //
  21. //private Post convertToEntity(PostDto postDto) throws ParseException {
  22. // Post post = modelMapper.map(postDto, Post.class);
  23. // post.setSubmissionDate(postDto.getSubmissionDateConverted(
  24. // userService.getCurrentUser().getPreference().getTimezone()));
  25. //
  26. // if (postDto.getId() != null) {
  27. // Post oldPost = postService.getPostById(postDto.getId());
  28. // post.setRedditID(oldPost.getRedditID());
  29. // post.setSent(oldPost.isSent());
  30. // }
  31. // return post;
  32. //}
  33. @Service
  34. public class MyConversionService {
  35. @Autowired
  36. ModelMapper modelMapper;
  37. public ChatMessageDTO convertToChatMessageDTO(
  38. final ChatMessage chatMessage) {
  39. final ChatMessageDTO chatMessageDTO = modelMapper.map(chatMessage,
  40. ChatMessageDTO.class);
  41. return chatMessageDTO;
  42. }
  43. public ChatMessage convertToChatMessage(
  44. final ChatMessageDTO chatMessageDTO) {
  45. final ChatMessage chatMessage = modelMapper.map(chatMessageDTO,
  46. ChatMessage.class);
  47. return chatMessage;
  48. }
  49. public MessageCipher convertToMessageCipher(
  50. final MessageCipherDTO messageCipherDTO) {
  51. final MessageCipher messageCipher = modelMapper.map(messageCipherDTO,
  52. MessageCipher.class);
  53. return messageCipher;
  54. }
  55. public List<ChatMessageDTO> convertToChatMessageDTOs(
  56. final List<ChatMessage> chatMessages) {
  57. return chatMessages.stream()
  58. .map(chatMessage -> convertToChatMessageDTO(chatMessage))
  59. .collect(Collectors.toList());
  60. }
  61. public ReencryptionDTO convertToReencryptionDTO(
  62. final ChatMessage chatMessage) {
  63. final ReencryptionDTO reencryptionDTO = modelMapper.map(chatMessage,
  64. ReencryptionDTO.class);
  65. return reencryptionDTO;
  66. }
  67. public ChatMessage convertToChatMessage(
  68. final ReencryptionDTO reencryptionDTO) {
  69. final ChatMessage chatMessage = modelMapper.map(reencryptionDTO,
  70. ChatMessage.class);
  71. return chatMessage;
  72. }
  73. public List<ReencryptionDTO> convertToReencryptionDTOs(
  74. final List<ChatMessage> chatMessages) {
  75. return chatMessages.stream()
  76. .map(chatMessage -> convertToReencryptionDTO(chatMessage))
  77. .collect(Collectors.toList());
  78. }
  79. public Iterable<ChatMessage> convertoToChatMessages(
  80. final List<ChatMessageDTO> chatMessageDTOs) {
  81. return chatMessageDTOs.stream()
  82. .map(chatMessageDTO -> convertToChatMessage(chatMessageDTO))
  83. .collect(Collectors.toList());
  84. }
  85. public List<ChatMessageDTO> convertToChatMessageDTOs(
  86. final Page<ChatMessage> chatMessages) {
  87. return chatMessages.stream()
  88. .map(chatMessage -> convertToChatMessageDTO(chatMessage))
  89. .collect(Collectors.toList());
  90. }
  91. public <T, O> O convert(T obj, Class<O> clazz) {
  92. return modelMapper.map(obj, clazz);
  93. }
  94. }