refactor: One stream -> using `flatMap` instead of an inner `subscribe`
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / storage / mongodb / ChatRoomTo.java
1 package de.juplo.kafka.chat.backend.storage.mongodb;
2
3 import de.juplo.kafka.chat.backend.domain.ChatRoomInfo;
4 import lombok.*;
5 import org.springframework.data.annotation.Id;
6 import org.springframework.data.mongodb.core.mapping.Document;
7
8 import java.util.UUID;
9
10
11 @AllArgsConstructor
12 @NoArgsConstructor
13 @Getter(AccessLevel.PACKAGE)
14 @Setter(AccessLevel.PACKAGE)
15 @EqualsAndHashCode(of = { "id" })
16 @ToString(of = { "id", "name" })
17 @Document
18 public class ChatRoomTo
19 {
20   @Id
21   private String id;
22   private String name;
23
24   public ChatRoomInfo toChatRoomInfo()
25   {
26     return new ChatRoomInfo(
27         UUID.fromString(id),
28         name);
29   }
30
31   public static ChatRoomTo from(ChatRoomInfo chatRoomInfo)
32   {
33     return new ChatRoomTo(
34         chatRoomInfo.getId().toString(),
35         chatRoomInfo.getName());
36   }
37 }