projects
/
demos
/
kafka
/
chat
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: One stream -> using `flatMap` instead of an inner `subscribe`
[demos/kafka/chat]
/
src
/
main
/
java
/
de
/
juplo
/
kafka
/
chat
/
backend
/
storage
/
mongodb
/
MongoDbStorageStrategy.java
diff --git
a/src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
b/src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
index
3eb9096
..
1428119
100644
(file)
--- a/
src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
+++ b/
src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
@@
-21,11
+21,12
@@
public class MongoDbStorageStrategy implements StorageStrategy
@Override
@Override
- public
void
writeChatRoomInfo(Flux<ChatRoomInfo> chatRoomInfoFlux)
+ public
Flux<ChatRoomInfo>
writeChatRoomInfo(Flux<ChatRoomInfo> chatRoomInfoFlux)
{
{
- chatRoomInfoFlux
+
return
chatRoomInfoFlux
.map(ChatRoomTo::from)
.map(ChatRoomTo::from)
- .subscribe(chatroomTo -> chatRoomRepository.save(chatroomTo));
+ .map(chatroomTo -> chatRoomRepository.save(chatroomTo))
+ .map(ChatRoomTo::toChatRoomInfo);
}
@Override
}
@Override
@@
-36,16
+37,17
@@
public class MongoDbStorageStrategy implements StorageStrategy
.map(chatRoomTo ->
{
UUID chatRoomId = UUID.fromString(chatRoomTo.getId());
.map(chatRoomTo ->
{
UUID chatRoomId = UUID.fromString(chatRoomTo.getId());
- return new ChatRoomInfo(chatRoomId, chatRoomTo.getName());
+ return new ChatRoomInfo(chatRoomId, chatRoomTo.getName()
, null
);
});
}
@Override
});
}
@Override
- public
void
writeChatRoomData(UUID chatRoomId, Flux<Message> messageFlux)
+ public
Flux<Message>
writeChatRoomData(UUID chatRoomId, Flux<Message> messageFlux)
{
{
- messageFlux
+
return
messageFlux
.map(message -> MessageTo.from(chatRoomId, message))
.map(message -> MessageTo.from(chatRoomId, message))
- .subscribe(messageTo -> messageRepository.save(messageTo));
+ .map(messageTo -> messageRepository.save(messageTo))
+ .map(MessageTo::toMessage);
}
@Override
}
@Override