test: `LocalJsonFilesStorageStrategyIT` asserts, that the state is restored
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / InMemoryChatHomeService.java
1 package de.juplo.kafka.chat.backend.persistence;
2
3 import de.juplo.kafka.chat.backend.domain.ChatRoom;
4 import de.juplo.kafka.chat.backend.domain.ChatHomeService;
5 import lombok.RequiredArgsConstructor;
6
7 import java.time.Clock;
8 import java.util.LinkedHashMap;
9 import java.util.UUID;
10
11
12 @RequiredArgsConstructor
13 public class InMemoryChatHomeService implements ChatHomeService<InMemoryChatRoomService>
14 {
15   private final Clock clock;
16   private final int bufferSize;
17
18
19   @Override
20   public ChatRoom createChatroom(UUID id, String name)
21   {
22     InMemoryChatRoomService service =
23         new InMemoryChatRoomService(new LinkedHashMap<>());
24     return new ChatRoom(id, name, clock, service, bufferSize);
25   }
26
27   public ChatRoom restoreChatroom(
28       UUID id,
29       String name,
30       InMemoryChatRoomService service)
31   {
32     return new ChatRoom(id, name, clock, service, bufferSize);
33   }
34 }