X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2FInMemoryChatroomFactory.java;h=41ecd4cffd8581bfc2e23ddcaa667a3bbcc5cf47;hb=c04279dc82b8e662f7a8408ff74f7acd9951cf72;hp=b2b7f1df04bf17320ef293e1f74747c61c7a10b0;hpb=cefddb38a921a228ae470736faf0f3943c105393;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/persistence/InMemoryChatroomFactory.java b/src/main/java/de/juplo/kafka/chat/backend/persistence/InMemoryChatroomFactory.java index b2b7f1df..41ecd4cf 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/persistence/InMemoryChatroomFactory.java +++ b/src/main/java/de/juplo/kafka/chat/backend/persistence/InMemoryChatroomFactory.java @@ -2,20 +2,31 @@ package de.juplo.kafka.chat.backend.persistence; import de.juplo.kafka.chat.backend.domain.Chatroom; import de.juplo.kafka.chat.backend.domain.ChatroomFactory; -import de.juplo.kafka.chat.backend.domain.PersistenceStrategy; import lombok.RequiredArgsConstructor; +import java.util.LinkedHashMap; import java.util.UUID; + @RequiredArgsConstructor -public class InMemoryChatroomFactory implements ChatroomFactory +public class InMemoryChatroomFactory implements ChatroomFactory { - private final PersistenceStrategy persistenceStrategy; + private final int bufferSize; @Override public Chatroom createChatroom(UUID id, String name) { - return new Chatroom(id, name, persistenceStrategy); + InMemoryChatroomService chatroomService = + new InMemoryChatroomService(new LinkedHashMap<>()); + return new Chatroom(id, name, chatroomService, bufferSize); + } + + public Chatroom restoreChatroom( + UUID id, + String name, + InMemoryChatroomService chatroomService) + { + return new Chatroom(id, name, chatroomService, bufferSize); } }