]> juplo.de Git - demos/kafka/chat/commitdiff
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>
Mon, 9 Jan 2023 21:23:55 +0000 (22:23 +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 657086282e130c9838309698854da7e10a1d8720..c4a36e3235a59c0af29c9f45640e87219607b2b7 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 7b490bf6c562ff8d242e84489d94221daada94d5..433e5f1fb1709f8de2133950f0696e881923f1b6 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 e502539e0188539043d6fbbb8279e457aba143d8..3824898f98f829691a59db4226d98e7369e4dfec 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 b74f17f292e351afcd4e2bf80fd749a19f2ec3be..90044d0f4fda6c5cfd2366e921319999e8a2f66b 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 49d400b971bce480428a21f219330eb7b04e836b..a1e4a644ef70372859d721b7af317b8c0496fbbc 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 524e6f10b188e2a56dde04b3150afddf63df9697..b2cbde2b785a35ef77d20d5a2c14fe0632a4587a 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 b53dd1039b3283c886614e93048bd709c5032856..25f2f852c90cfdf639bc1c49a14c7e54af5a6b5a 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);
   }