X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2FInMemoryChatroomFactory.java;h=6e4985edd70bf6973ae73e87d40efa62487b674c;hb=b159d9543cdb96b4d600bff8dacf79a7f5fff20f;hp=4f33b110f2cdb2c708182248e8c6196e1c4acee3;hpb=0eab1a667e8863acfe318f520d9f0bca7fba2e2b;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 4f33b110..6e4985ed 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,22 +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 org.springframework.stereotype.Component; +import java.util.LinkedHashMap; import java.util.UUID; -@Component + @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); + InMemoryPersistenceStrategy persistenceStrategy = + new InMemoryPersistenceStrategy(new LinkedHashMap<>()); + return new Chatroom(id, name, persistenceStrategy, bufferSize); + } + + public Chatroom restoreChatroom( + UUID id, + String name, + InMemoryPersistenceStrategy persistenceStrategy) + { + return new Chatroom(id, name, persistenceStrategy, bufferSize); } }