refactor: Moved classes in package `persistence` in sub-packages -- Rename
authorKai Moritz <kai@juplo.de>
Mon, 9 Jan 2023 21:23:35 +0000 (22:23 +0100)
committerKai Moritz <kai@juplo.de>
Sun, 15 Jan 2023 18:37:26 +0000 (19:37 +0100)
src/main/java/de/juplo/kafka/chat/backend/ChatBackendConfiguration.java
src/main/java/de/juplo/kafka/chat/backend/persistence/filestorage/FileStorageStrategy.java
src/main/java/de/juplo/kafka/chat/backend/persistence/filestorage/JsonFilePublisher.java
src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatHomeService.java
src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatRoomService.java
src/test/java/de/juplo/kafka/chat/backend/persistence/AbstractStorageStrategyIT.java
src/test/java/de/juplo/kafka/chat/backend/persistence/InMemoryWithFileStorageStrategyIT.java

index 6570862..c4a36e3 100644 (file)
@@ -3,8 +3,8 @@ package de.juplo.kafka.chat.backend;
 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.filestorage.FileStorageStrategy;
 import de.juplo.kafka.chat.backend.persistence.StorageStrategy;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
@@ -42,7 +42,7 @@ public class ChatBackendConfiguration
       Clock clock,
       ObjectMapper mapper)
   {
-    return new LocalJsonFilesStorageStrategy(
+    return new FileStorageStrategy(
         Paths.get(properties.getStorageDirectory()),
         clock,
         properties.getChatroomBufferSize(),
index 7b490bf..433e5f1 100644 (file)
@@ -1,4 +1,4 @@
-package de.juplo.kafka.chat.backend.persistence;
+package de.juplo.kafka.chat.backend.persistence.filestorage;
 
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.JavaType;
@@ -7,6 +7,8 @@ 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.Message;
+import de.juplo.kafka.chat.backend.persistence.StorageStrategy;
+import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import reactor.core.publisher.Flux;
@@ -22,7 +24,7 @@ import static java.nio.file.StandardOpenOption.TRUNCATE_EXISTING;
 
 @RequiredArgsConstructor
 @Slf4j
-public class LocalJsonFilesStorageStrategy implements StorageStrategy
+public class FileStorageStrategy implements StorageStrategy
 {
   public static final String CHATROOMS_FILENAME = "chatrooms.json";
 
index e502539..3824898 100644 (file)
@@ -1,4 +1,4 @@
-package de.juplo.kafka.chat.backend.persistence;
+package de.juplo.kafka.chat.backend.persistence.filestorage;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonToken;
index b74f17f..90044d0 100644 (file)
@@ -1,4 +1,4 @@
-package de.juplo.kafka.chat.backend.persistence;
+package de.juplo.kafka.chat.backend.persistence.inmemory;
 
 import de.juplo.kafka.chat.backend.domain.ChatRoom;
 import de.juplo.kafka.chat.backend.domain.ChatHomeService;
index 49d400b..a1e4a64 100644 (file)
@@ -1,4 +1,4 @@
-package de.juplo.kafka.chat.backend.persistence;
+package de.juplo.kafka.chat.backend.persistence.inmemory;
 
 import de.juplo.kafka.chat.backend.domain.Message;
 import de.juplo.kafka.chat.backend.domain.ChatRoomService;
index 524e6f1..b2cbde2 100644 (file)
@@ -16,24 +16,24 @@ import static pl.rzrz.assertj.reactor.Assertions.*;
 @Slf4j
 public abstract class AbstractStorageStrategyIT
 {
-  ChatHome chathome;
+  protected ChatHome chathome;
 
 
-  abstract StorageStrategy getStorageStrategy();
-  abstract Supplier<ChatHomeService> chatHomeServiceSupplier();
+  protected abstract StorageStrategy getStorageStrategy();
+  protected abstract Supplier<ChatHomeService> chatHomeServiceSupplier();
 
-  void start()
+  protected void start()
   {
     chathome = new ChatHome(chatHomeServiceSupplier().get());
   }
 
-  void stop()
+  protected void stop()
   {
     getStorageStrategy().writeChatrooms(chathome.getChatRooms());
   }
 
   @Test
-  void testStoreAndRecreate()
+  protected void testStoreAndRecreate()
   {
     start();
 
index 515942c..7efa081 100644 (file)
@@ -4,6 +4,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
 import de.juplo.kafka.chat.backend.domain.ChatHomeService;
+import de.juplo.kafka.chat.backend.persistence.filestorage.FileStorageStrategy;
+import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatHomeService;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.BeforeEach;
 
@@ -16,34 +18,34 @@ import java.util.function.Supplier;
 
 
 @Slf4j
-public class LocalJsonFilesStorageStrategyIT extends AbstractStorageStrategyIT
+public class InMemoryWithFileStorageStrategyIT extends AbstractStorageStrategyIT
 {
   final static Path path = Paths.get("target","local-json-files");
 
   final Clock clock;
   final ObjectMapper mapper;
-  final LocalJsonFilesStorageStrategy storageStrategy;
+  final FileStorageStrategy storageStrategy;
 
 
-  public LocalJsonFilesStorageStrategyIT()
+  public InMemoryWithFileStorageStrategyIT()
   {
     clock = Clock.systemDefaultZone();
     mapper = new ObjectMapper();
     mapper.registerModule(new JavaTimeModule());
     mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
-    storageStrategy = new LocalJsonFilesStorageStrategy(path, clock, 8, mapper);
+    storageStrategy = new FileStorageStrategy(path, clock, 8, mapper);
 
   }
 
 
   @Override
-  StorageStrategy getStorageStrategy()
+  protected StorageStrategy getStorageStrategy()
   {
     return storageStrategy;
   }
 
   @Override
-  Supplier<ChatHomeService> chatHomeServiceSupplier()
+  protected Supplier<ChatHomeService> chatHomeServiceSupplier()
   {
     return () -> new InMemoryChatHomeService(getStorageStrategy().readChatrooms(), clock, 8);
   }