NEU
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / kafka / KafkaChatRoomFactory.java
index f81d21f..ad9fe9f 100644 (file)
@@ -2,7 +2,7 @@ package de.juplo.kafka.chat.backend.persistence.kafka;
 
 import de.juplo.kafka.chat.backend.domain.ChatRoom;
 import de.juplo.kafka.chat.backend.domain.ChatRoomFactory;
-import de.juplo.kafka.chat.backend.domain.ChatRoomService;
+import de.juplo.kafka.chat.backend.domain.ChatRoomInfo;
 import de.juplo.kafka.chat.backend.domain.ShardingStrategy;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -16,18 +16,19 @@ import java.util.UUID;
 @Slf4j
 public class KafkaChatRoomFactory implements ChatRoomFactory
 {
-  private final KafkaChatHomeService kafkaChatHomeService;
+  private final int bufferSize;
   private final ShardingStrategy shardingStrategy;
   private final Clock clock;
-  private final int bufferSize;
+  private final ChatMessageChannel chatMessageChannel;
 
   @Override
-  public Mono<ChatRoom> createChatRoom(UUID id, String name)
+  public Mono<ChatRoomInfo> createChatRoom(UUID id, String name)
   {
     log.info("Creating ChatRoom with buffer-size {}", bufferSize);
+    KafkaChatRoomService service = new KafkaChatRoomService(chatMessageChannel, id);
     int shard = shardingStrategy.selectShard(id);
-    KafkaChatRoomService service = new KafkaChatRoomService(kafkaChatHomeService, id);
     ChatRoom chatRoom = new ChatRoom(id, name, shard, clock, service, bufferSize);
-    kafkaChatHomeService.putChatRoom(chatRoom);
+    chatMessageChannel.putChatRoom(chatRoom);
+    return Mono.just(chatRoom);
   }
 }