TMP:Holzweg so, Refaktorisierung nötig
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / storage / mongodb / ChatRoomTo.java
1 package de.juplo.kafka.chat.backend.persistence.storage.mongodb;
2
3 import de.juplo.kafka.chat.backend.domain.ChatRoom;
4 import de.juplo.kafka.chat.backend.domain.ChatRoomInfo;
5 import lombok.*;
6 import org.springframework.data.annotation.Id;
7 import org.springframework.data.mongodb.core.mapping.Document;
8
9 import java.util.List;
10
11
12 @AllArgsConstructor
13 @NoArgsConstructor
14 @Getter(AccessLevel.PACKAGE)
15 @Setter(AccessLevel.PACKAGE)
16 @EqualsAndHashCode(of = { "id" })
17 @ToString(of = { "id", "name" })
18 @Document
19 public class ChatRoomTo
20 {
21   @Id
22   private String id;
23   private String name;
24   private List<MessageTo> messages;
25
26   public static ChatRoomTo from(ChatRoomInfo chatroom)
27   {
28     return new ChatRoomTo(
29         chatroom.getId().toString(),
30         chatroom.getName(),
31         chatroom
32             .getMessages()
33             .map(MessageTo::from)
34             .collectList()
35             .block());
36   }
37 }