refactor: Added success- and failure-callbacks to `StorageStrategy`
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / storage / files / FilesStorageStrategy.java
index cb7dd31..1de0b44 100644 (file)
@@ -121,7 +121,9 @@ public class FilesStorageStrategy implements StorageStrategy
   @Override
   public void writeChatRoomData(
       UUID chatRoomId,
-      Flux<Message> messageFlux)
+      Flux<Message> messageFlux,
+      SuccessCallback successCallback,
+      FailureCallback failureCallback)
   {
     Path path = chatroomPath(chatRoomId);
     log.info("Writing messages for {} to {}", chatRoomId, path);
@@ -172,10 +174,12 @@ public class FilesStorageStrategy implements StorageStrategy
               throw new RuntimeException(e);
             }
           });
+
+      successCallback.accept(chatRoomId);
     }
     catch (IOException e)
     {
-      throw new RuntimeException(e);
+      failureCallback.accept(chatRoomId, e);
     }
   }