X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fdomain%2FSimpleChatHome.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fdomain%2FSimpleChatHome.java;h=daa710bf0c5b2bda9e94e98d883475211668e3e2;hb=72682edb434aa1ad6e2ce7c3b337711cdb746ef1;hp=0000000000000000000000000000000000000000;hpb=3526be7c01fa286f4253c96fd7f6c35abf3694ef;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/domain/SimpleChatHome.java b/src/main/java/de/juplo/kafka/chat/backend/domain/SimpleChatHome.java new file mode 100644 index 00000000..daa710bf --- /dev/null +++ b/src/main/java/de/juplo/kafka/chat/backend/domain/SimpleChatHome.java @@ -0,0 +1,37 @@ +package de.juplo.kafka.chat.backend.domain; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +import java.util.*; + + +@Slf4j +@RequiredArgsConstructor +public class SimpleChatHome implements ChatHome +{ + private final ChatHomeService service; + private final int shard; + + @Override + public Mono putChatRoom(ChatRoom chatRoom) + { + return service.putChatRoom(chatRoom); + } + + @Override + public Mono getChatRoom(UUID id) + { + return service + .getChatRoom(shard, id) + .switchIfEmpty(Mono.error(() -> new UnknownChatroomException(id))); + } + + @Override + public Flux getChatRooms() + { + return service.getChatRooms(shard); + } +}