X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fstorage%2Fnostorage%2FNoStorageStorageStrategy.java;h=5902742457d4de30c665b6f70faba92ea91601d9;hb=4aacef9fa8d116ea4ef9687c42b8744841c09457;hp=1b20aa377a589375af1b56093c2c2fa8af1bb622;hpb=2bc20736cfe2b0d1b87b73e2db94c292ef88299d;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/storage/nostorage/NoStorageStorageStrategy.java b/src/main/java/de/juplo/kafka/chat/backend/storage/nostorage/NoStorageStorageStrategy.java index 1b20aa37..59027424 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/storage/nostorage/NoStorageStorageStrategy.java +++ b/src/main/java/de/juplo/kafka/chat/backend/storage/nostorage/NoStorageStorageStrategy.java @@ -1,53 +1,46 @@ package de.juplo.kafka.chat.backend.storage.nostorage; +import de.juplo.kafka.chat.backend.domain.ChatHomeService; import de.juplo.kafka.chat.backend.domain.ChatRoomInfo; import de.juplo.kafka.chat.backend.domain.Message; import de.juplo.kafka.chat.backend.implementation.StorageStrategy; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration; -import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; +import lombok.extern.slf4j.Slf4j; import reactor.core.publisher.Flux; import java.util.UUID; -@ConditionalOnProperty( - prefix = "chat.backend.inmemory", - name = "storage-strategy", - havingValue = "none", - matchIfMissing = true) -@Configuration -@EnableAutoConfiguration( - exclude = { - MongoRepositoriesAutoConfiguration.class, - MongoAutoConfiguration.class }) -public class NoStorageStorageConfiguration +@Slf4j +public class NoStorageStorageStrategy implements StorageStrategy { - @Bean - public StorageStrategy storageStrategy() + public Flux write(ChatHomeService chatHomeService) { - return new StorageStrategy() - { - @Override - public void writeChatRoomInfo(Flux chatRoomInfoFlux) {} - - @Override - public Flux readChatRoomInfo() - { - return Flux.empty(); - } - - @Override - public void writeChatRoomData(UUID chatRoomId, Flux messageFlux) {} - - @Override - public Flux readChatRoomData(UUID chatRoomId) - { - return Flux.empty(); - } - }; + return Flux + .empty() + .doOnComplete(() -> log.info("Storage is disabled: Not storing {}", chatHomeService)); + + } + + public Flux writeChatRoomInfo(Flux chatRoomInfoFlux) + { + return chatRoomInfoFlux; + } + + @Override + public Flux readChatRoomInfo() + { + return Flux.empty(); + } + + @Override + public Flux writeChatRoomData(UUID chatRoomId, Flux messageFlux) + { + return messageFlux; + } + + @Override + public Flux readChatRoomData(UUID chatRoomId) + { + return Flux.empty(); } }