import com.fasterxml.jackson.databind.ObjectMapper;
import de.juplo.kafka.chat.backend.api.ChatroomTo;
import de.juplo.kafka.chat.backend.api.MessageTo;
-import de.juplo.kafka.chat.backend.domain.Chatroom;
+import de.juplo.kafka.chat.backend.domain.ChatRoom;
import de.juplo.kafka.chat.backend.domain.Message;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
private final Path storagePath;
private final ObjectMapper mapper;
- private final InMemoryChatroomFactory chatroomFactory;
+ private final InMemoryChatHomeService service;
@Override
- public void writeChatrooms(Flux<Chatroom> chatroomFlux)
+ public void writeChatrooms(Flux<ChatRoom> chatroomFlux)
{
Path path = chatroomsPath();
log.info("Writing chatrooms to {}", path);
}
@Override
- public Flux<Chatroom> readChatrooms()
+ public Flux<ChatRoom> readChatrooms()
{
JavaType type = mapper.getTypeFactory().constructType(ChatroomTo.class);
return Flux
.log()
.map(chatroomTo ->
{
- InMemoryPersistenceStrategy strategy =
- new InMemoryPersistenceStrategy(readMessages(chatroomTo));
- return chatroomFactory.restoreChatroom(chatroomTo.getId(), chatroomTo.getName(), strategy);
+ InMemoryChatroomService chatroomService =
+ new InMemoryChatroomService(readMessages(chatroomTo));
+ return service.restoreChatroom(
+ chatroomTo.getId(),
+ chatroomTo.getName(),
+ chatroomService);
});
}