Skip to content

Commit a2f7c3f

Browse files
mp911dechristophstrobl
authored andcommitted
DATAMONGO-1712 - Adopt to ReactiveCrudRepository.findById(Publisher) and existsById(Publisher).
Related ticket: DATACMNS-1063. Original Pull Request: #467
1 parent 3440bf6 commit a2f7c3f

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/SimpleReactiveMongoRepository.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ public Mono<T> findById(ID id) {
6767

6868
/*
6969
* (non-Javadoc)
70-
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#findById(reactor.core.publisher.Mono)
70+
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#findById(org.reactivestreams.Publisher)
7171
*/
7272
@Override
73-
public Mono<T> findById(Mono<ID> mono) {
73+
public Mono<T> findById(Publisher<ID> publisher) {
7474

75-
Assert.notNull(mono, "The given id must not be null!");
75+
Assert.notNull(publisher, "The given id must not be null!");
7676

77-
return mono.flatMap(
77+
return Mono.from(publisher).flatMap(
7878
id -> mongoOperations.findById(id, entityInformation.getJavaType(), entityInformation.getCollectionName()));
7979
}
8080

@@ -115,14 +115,14 @@ public Mono<Boolean> existsById(ID id) {
115115

116116
/*
117117
* (non-Javadoc)
118-
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#existsById(reactor.core.publisher.Mono)
118+
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#existsById(org.reactivestreams.Publisher)
119119
*/
120120
@Override
121-
public Mono<Boolean> existsById(Mono<ID> mono) {
121+
public Mono<Boolean> existsById(Publisher<ID> publisher) {
122122

123-
Assert.notNull(mono, "The given id must not be null!");
123+
Assert.notNull(publisher, "The given id must not be null!");
124124

125-
return mono.flatMap(id -> mongoOperations.exists(getIdQuery(id), entityInformation.getJavaType(),
125+
return Mono.from(publisher).flatMap(id -> mongoOperations.exists(getIdQuery(id), entityInformation.getJavaType(),
126126
entityInformation.getCollectionName()));
127127

128128
}

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/SimpleReactiveMongoRepositoryTests.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -119,28 +119,38 @@ public void existsByMonoOfIdShouldReturnTrueForExistingObject() {
119119
StepVerifier.create(repository.existsById(Mono.just(dave.id))).expectNext(true).verifyComplete();
120120
}
121121

122+
@Test // DATAMONGO-1712
123+
public void existsByFlusOfIdShouldReturnTrueForExistingObject() {
124+
StepVerifier.create(repository.existsById(Flux.just(dave.id, oliver.id))).expectNext(true).verifyComplete();
125+
}
126+
122127
@Test // DATAMONGO-1444
123128
public void existsByEmptyMonoOfIdShouldReturnEmptyMono() {
124129
StepVerifier.create(repository.existsById(Mono.empty())).verifyComplete();
125130
}
126131

127132
@Test // DATAMONGO-1444
128-
public void findOneShouldReturnObject() {
133+
public void findByIdShouldReturnObject() {
129134
StepVerifier.create(repository.findById(dave.id)).expectNext(dave).verifyComplete();
130135
}
131136

132137
@Test // DATAMONGO-1444
133-
public void findOneShouldCompleteWithoutValueForAbsentObject() {
138+
public void findByIdShouldCompleteWithoutValueForAbsentObject() {
134139
StepVerifier.create(repository.findById("unknown")).verifyComplete();
135140
}
136141

137142
@Test // DATAMONGO-1444
138-
public void findOneByMonoOfIdShouldReturnTrueForExistingObject() {
143+
public void findByIdByMonoOfIdShouldReturnTrueForExistingObject() {
139144
StepVerifier.create(repository.findById(Mono.just(dave.id))).expectNext(dave).verifyComplete();
140145
}
141146

142147
@Test // DATAMONGO-1444
143-
public void findOneByEmptyMonoOfIdShouldReturnEmptyMono() {
148+
public void findByIdByFluxOfIdShouldReturnTrueForExistingObject() {
149+
StepVerifier.create(repository.findById(Flux.just(dave.id, oliver.id))).expectNext(dave).verifyComplete();
150+
}
151+
152+
@Test // DATAMONGO-1444
153+
public void findByIdByEmptyMonoOfIdShouldReturnEmptyMono() {
144154
StepVerifier.create(repository.findById(Mono.empty())).verifyComplete();
145155
}
146156

0 commit comments

Comments
 (0)