Bugfix in deep map
This commit is contained in:
parent
d05e6139a0
commit
64ff189637
@ -244,10 +244,17 @@ public class DatabaseMapDictionaryDeep<T, U, US extends DatabaseStage<U>> implem
|
|||||||
public Flux<Entry<T, U>> setAllValuesAndGetPrevious(Flux<Entry<T, U>> entries) {
|
public Flux<Entry<T, U>> setAllValuesAndGetPrevious(Flux<Entry<T, U>> entries) {
|
||||||
return getAllStages(null)
|
return getAllStages(null)
|
||||||
.flatMap(stage -> stage.getValue().get(null).map(val -> Map.entry(stage.getKey(), val)))
|
.flatMap(stage -> stage.getValue().get(null).map(val -> Map.entry(stage.getKey(), val)))
|
||||||
.concatWith(entries
|
.concatWith(clear().then(entries
|
||||||
.flatMap(entry -> at(null, entry.getKey()).map(us -> Tuples.of(us, entry.getValue())))
|
.flatMap(entry -> at(null, entry.getKey()).map(us -> Tuples.of(us, entry.getValue())))
|
||||||
.flatMap(tuple -> tuple.getT1().set(tuple.getT2()))
|
.flatMap(tuple -> tuple.getT1().set(tuple.getT2()))
|
||||||
.then(Mono.empty()));
|
.then(Mono.empty())));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Mono<Void> clear() {
|
||||||
|
return dictionary
|
||||||
|
.setRange(range, Flux.empty(), false)
|
||||||
|
.then();
|
||||||
}
|
}
|
||||||
|
|
||||||
//todo: temporary wrapper. convert the whole class to buffers
|
//todo: temporary wrapper. convert the whole class to buffers
|
||||||
|
Loading…
Reference in New Issue
Block a user