import de.juplo.kafka.chat.backend.domain.ChatHome;
import com.fasterxml.jackson.databind.ObjectMapper;
import de.juplo.kafka.chat.backend.domain.ChatHomeService;
-import de.juplo.kafka.chat.backend.persistence.InMemoryChatHomeService;
-import de.juplo.kafka.chat.backend.persistence.LocalJsonFilesStorageStrategy;
+import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatHomeService;
+import de.juplo.kafka.chat.backend.persistence.storage.files.FilesStorageStrategy;
import de.juplo.kafka.chat.backend.persistence.StorageStrategy;
+import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomService;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
ChatBackendProperties properties)
{
return new InMemoryChatHomeService(
- storageStrategy.readChatrooms(),
+ storageStrategy.read(),
clock,
properties.getChatroomBufferSize());
}
Clock clock,
ObjectMapper mapper)
{
- return new LocalJsonFilesStorageStrategy(
+ return new FilesStorageStrategy(
Paths.get(properties.getStorageDirectory()),
clock,
properties.getChatroomBufferSize(),
+ messageFlux -> new InMemoryChatRoomService(messageFlux),
mapper);
}