]> juplo.de Git - demos/kafka/chat/commitdiff
refactor: Refined (simplified) `StorageStrategy`
authorKai Moritz <kai@juplo.de>
Mon, 9 Jan 2023 21:46:42 +0000 (22:46 +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/ChatBackendApplication.java
src/main/java/de/juplo/kafka/chat/backend/ChatBackendConfiguration.java
src/main/java/de/juplo/kafka/chat/backend/api/ChatBackendController.java
src/main/java/de/juplo/kafka/chat/backend/persistence/StorageStrategy.java
src/main/java/de/juplo/kafka/chat/backend/persistence/storage/files/FilesStorageStrategy.java
src/test/java/de/juplo/kafka/chat/backend/persistence/AbstractStorageStrategyIT.java
src/test/java/de/juplo/kafka/chat/backend/persistence/InMemoryWithFilesStorageStrategyIT.java

index 80a46c00dca16165e659bc68ec66bb9421e9593e..c61f8488db7a4555e3c5ce5b7798c3545cf40892 100644 (file)
@@ -32,7 +32,7 @@ public class ChatBackendApplication implements WebFluxConfigurer
        @PreDestroy
        public void onExit()
        {
-               storageStrategy.writeChatrooms(chatHome.getChatRooms());
+               storageStrategy.write(chatHome.getChatRooms());
        }
 
        public static void main(String[] args)
index dcf2d9f3585e8c12fda57f550b6876415e7e2be0..87965ab920bbec454adaa7e9485a95a1022493c6 100644 (file)
@@ -32,7 +32,7 @@ public class ChatBackendConfiguration
       ChatBackendProperties properties)
   {
     return new InMemoryChatHomeService(
-        storageStrategy.readChatrooms(),
+        storageStrategy.read(),
         clock,
         properties.getChatroomBufferSize());
   }
index e7a6f1a5bd9e801d71d75af6a7d36f0c6ad2b8dc..3b8fc84229f19dfb50be27e096dfc3fa649c7642 100644 (file)
@@ -124,6 +124,6 @@ public class ChatBackendController
   @PostMapping("/store")
   public void store()
   {
-    storageStrategy.writeChatrooms(chatHome.getChatRooms());
+    storageStrategy.write(chatHome.getChatRooms());
   }
 }
index 4355f9fc54b7fe7210a38cf6bdf900514b005440..bedd0aaca422c75e82fa16fb6f6187a3088b61d9 100644 (file)
@@ -1,15 +1,11 @@
 package de.juplo.kafka.chat.backend.persistence;
 
-import de.juplo.kafka.chat.backend.api.ChatRoomTo;
 import de.juplo.kafka.chat.backend.domain.ChatRoom;
-import de.juplo.kafka.chat.backend.domain.Message;
 import reactor.core.publisher.Flux;
 
 
 public interface StorageStrategy
 {
-  void writeChatrooms(Flux<ChatRoom> chatroomFlux);
-  Flux<ChatRoom> readChatrooms();
-  void writeMessages(ChatRoomTo chatroomTo, Flux<Message> messageFlux);
-  Flux<Message> readMessages(ChatRoomTo chatroomTo);
+  void write(Flux<ChatRoom> chatroomFlux);
+  Flux<ChatRoom> read();
 }
index e6709709b0f1a178ab21f5b9fa421a846271e277..1fd307f5ff29d0875d57e24fa4f718d8266144f5 100644 (file)
@@ -36,7 +36,7 @@ public class FilesStorageStrategy implements StorageStrategy
 
 
   @Override
-  public void writeChatrooms(Flux<ChatRoom> chatroomFlux)
+  public void write(Flux<ChatRoom> chatroomFlux)
   {
     Path path = chatroomsPath();
     log.info("Writing chatrooms to {}", path);
@@ -96,7 +96,7 @@ public class FilesStorageStrategy implements StorageStrategy
   }
 
   @Override
-  public Flux<ChatRoom> readChatrooms()
+  public Flux<ChatRoom> read()
   {
     JavaType type = mapper.getTypeFactory().constructType(ChatRoomTo.class);
     return Flux
@@ -110,7 +110,6 @@ public class FilesStorageStrategy implements StorageStrategy
             bufferSize));
   }
 
-  @Override
   public void writeMessages(ChatRoomTo chatroomTo, Flux<Message> messageFlux)
   {
     Path path = chatroomPath(chatroomTo);
@@ -169,7 +168,6 @@ public class FilesStorageStrategy implements StorageStrategy
     }
   }
 
-  @Override
   public Flux<Message> readMessages(ChatRoomTo chatroomTo)
   {
     JavaType type = mapper.getTypeFactory().constructType(MessageTo.class);
index b2cbde2b785a35ef77d20d5a2c14fe0632a4587a..549faada760b41421321616db423523ead66b002 100644 (file)
@@ -29,7 +29,7 @@ public abstract class AbstractStorageStrategyIT
 
   protected void stop()
   {
-    getStorageStrategy().writeChatrooms(chathome.getChatRooms());
+    getStorageStrategy().write(chathome.getChatRooms());
   }
 
   @Test
index f182c82c2b671a285498b1f674b980e0b32a6b0e..93bfc8ff3cc79f8b2acd3df0c9cf258370805f86 100644 (file)
@@ -52,7 +52,7 @@ public class InMemoryWithFilesStorageStrategyIT extends AbstractStorageStrategyI
   @Override
   protected Supplier<ChatHomeService> chatHomeServiceSupplier()
   {
-    return () -> new InMemoryChatHomeService(getStorageStrategy().readChatrooms(), clock, 8);
+    return () -> new InMemoryChatHomeService(getStorageStrategy().read(), clock, 8);
   }
 
   @BeforeEach