import de.juplo.kafka.chat.backend.domain.Message;
import de.juplo.kafka.chat.backend.domain.MessageMutationException;
import de.juplo.kafka.chat.backend.domain.PersistenceStrategy;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Value;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import reactor.core.publisher.Sinks;
import java.time.LocalDateTime;
import java.util.LinkedHashMap;
-import java.util.UUID;
-import java.util.stream.Stream;
-@Component
-@RequiredArgsConstructor
@Slf4j
public class InMemoryPersistenceStrategy implements PersistenceStrategy
{
- private final LinkedHashMap<Message.MessageKey, Message> messages = new LinkedHashMap<>();
+ private final LinkedHashMap<Message.MessageKey, Message> messages;
+
+
+ public InMemoryPersistenceStrategy(LinkedHashMap<Message.MessageKey, Message> messages)
+ {
+ this.messages = messages;
+ }
+
@Override
public Mono<Message> persistMessage(