Skip to content

Commit cf75e26

Browse files
committed
#498 - Polishing.
Reorder methods. Replace Guava imports with proper ones. Consistent override comments. Original pull request: #501.
1 parent 843c402 commit cf75e26

File tree

2 files changed

+73
-45
lines changed

2 files changed

+73
-45
lines changed

src/main/java/org/springframework/data/r2dbc/repository/support/SimpleR2dbcRepository.java

+72-43
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
*/
1616
package org.springframework.data.r2dbc.repository.support;
1717

18-
import org.springframework.data.util.StreamUtils;
19-
import org.springframework.data.util.Streamable;
20-
import org.springframework.util.CollectionUtils;
2118
import reactor.core.publisher.Flux;
2219
import reactor.core.publisher.Mono;
2320

21+
import java.util.List;
22+
2423
import org.reactivestreams.Publisher;
2524

2625
import org.springframework.data.domain.Sort;
@@ -34,12 +33,11 @@
3433
import org.springframework.data.relational.repository.query.RelationalEntityInformation;
3534
import org.springframework.data.repository.reactive.ReactiveSortingRepository;
3635
import org.springframework.data.util.Lazy;
36+
import org.springframework.data.util.Streamable;
3737
import org.springframework.r2dbc.core.DatabaseClient;
3838
import org.springframework.transaction.annotation.Transactional;
3939
import org.springframework.util.Assert;
4040

41-
import java.util.List;
42-
4341
/**
4442
* Simple {@link ReactiveSortingRepository} implementation using R2DBC through {@link DatabaseClient}.
4543
*
@@ -116,7 +114,12 @@ public SimpleR2dbcRepository(RelationalEntityInformation<T, ID> entity,
116114
.getRequiredIdProperty());
117115
}
118116

119-
/* (non-Javadoc)
117+
// -------------------------------------------------------------------------
118+
// Methods from ReactiveCrudRepository
119+
// -------------------------------------------------------------------------
120+
121+
/*
122+
* (non-Javadoc)
120123
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#save(S)
121124
*/
122125
@Override
@@ -132,7 +135,8 @@ public <S extends T> Mono<S> save(S objectToSave) {
132135
return this.entityOperations.update(objectToSave);
133136
}
134137

135-
/* (non-Javadoc)
138+
/*
139+
* (non-Javadoc)
136140
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#saveAll(java.lang.Iterable)
137141
*/
138142
@Override
@@ -144,7 +148,8 @@ public <S extends T> Flux<S> saveAll(Iterable<S> objectsToSave) {
144148
return Flux.fromIterable(objectsToSave).concatMap(this::save);
145149
}
146150

147-
/* (non-Javadoc)
151+
/*
152+
* (non-Javadoc)
148153
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#saveAll(org.reactivestreams.Publisher)
149154
*/
150155
@Override
@@ -156,7 +161,8 @@ public <S extends T> Flux<S> saveAll(Publisher<S> objectsToSave) {
156161
return Flux.from(objectsToSave).concatMap(this::save);
157162
}
158163

159-
/* (non-Javadoc)
164+
/*
165+
* (non-Javadoc)
160166
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#findById(java.lang.Object)
161167
*/
162168
@Override
@@ -167,15 +173,17 @@ public Mono<T> findById(ID id) {
167173
return this.entityOperations.selectOne(getIdQuery(id), this.entity.getJavaType());
168174
}
169175

170-
/* (non-Javadoc)
176+
/*
177+
* (non-Javadoc)
171178
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#findById(org.reactivestreams.Publisher)
172179
*/
173180
@Override
174181
public Mono<T> findById(Publisher<ID> publisher) {
175182
return Mono.from(publisher).flatMap(this::findById);
176183
}
177184

178-
/* (non-Javadoc)
185+
/*
186+
* (non-Javadoc)
179187
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#existsById(java.lang.Object)
180188
*/
181189
@Override
@@ -186,34 +194,26 @@ public Mono<Boolean> existsById(ID id) {
186194
return this.entityOperations.exists(getIdQuery(id), this.entity.getJavaType());
187195
}
188196

189-
/* (non-Javadoc)
197+
/*
198+
* (non-Javadoc)
190199
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#existsById(org.reactivestreams.Publisher)
191200
*/
192201
@Override
193202
public Mono<Boolean> existsById(Publisher<ID> publisher) {
194203
return Mono.from(publisher).flatMap(this::findById).hasElement();
195204
}
196205

197-
/* (non-Javadoc)
206+
/*
207+
* (non-Javadoc)
198208
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#findAll()
199209
*/
200210
@Override
201211
public Flux<T> findAll() {
202212
return this.entityOperations.select(Query.empty(), this.entity.getJavaType());
203213
}
204214

205-
/* (non-Javadoc)
206-
* @see org.springframework.data.repository.reactive.ReactiveSortingRepository#findAll(org.springframework.data.domain.Sort)
207-
*/
208-
@Override
209-
public Flux<T> findAll(Sort sort) {
210-
211-
Assert.notNull(sort, "Sort must not be null!");
212-
213-
return this.entityOperations.select(Query.empty().sort(sort), this.entity.getJavaType());
214-
}
215-
216-
/* (non-Javadoc)
215+
/*
216+
* (non-Javadoc)
217217
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#findAllById(java.lang.Iterable)
218218
*/
219219
@Override
@@ -224,7 +224,8 @@ public Flux<T> findAllById(Iterable<ID> iterable) {
224224
return findAllById(Flux.fromIterable(iterable));
225225
}
226226

227-
/* (non-Javadoc)
227+
/*
228+
* (non-Javadoc)
228229
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#findAllById(org.reactivestreams.Publisher)
229230
*/
230231
@Override
@@ -244,15 +245,17 @@ public Flux<T> findAllById(Publisher<ID> idPublisher) {
244245
});
245246
}
246247

247-
/* (non-Javadoc)
248+
/*
249+
* (non-Javadoc)
248250
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#count()
249251
*/
250252
@Override
251253
public Mono<Long> count() {
252254
return this.entityOperations.count(Query.empty(), this.entity.getJavaType());
253255
}
254256

255-
/* (non-Javadoc)
257+
/*
258+
* (non-Javadoc)
256259
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#deleteById(java.lang.Object)
257260
*/
258261
@Override
@@ -264,7 +267,8 @@ public Mono<Void> deleteById(ID id) {
264267
return this.entityOperations.delete(getIdQuery(id), this.entity.getJavaType()).then();
265268
}
266269

267-
/* (non-Javadoc)
270+
/*
271+
* (non-Javadoc)
268272
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#deleteById(org.reactivestreams.Publisher)
269273
*/
270274
@Override
@@ -285,7 +289,8 @@ public Mono<Void> deleteById(Publisher<ID> idPublisher) {
285289
}).then();
286290
}
287291

288-
/* (non-Javadoc)
292+
/*
293+
* (non-Javadoc)
289294
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#delete(java.lang.Object)
290295
*/
291296
@Override
@@ -297,29 +302,36 @@ public Mono<Void> delete(T objectToDelete) {
297302
return deleteById(this.entity.getRequiredId(objectToDelete));
298303
}
299304

300-
/* (non-Javadoc)
301-
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#deleteAll(java.lang.Iterable)
305+
/*
306+
* (non-Javadoc)
307+
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#deleteAllById(java.lang.Iterable)
302308
*/
303309
@Override
304-
@Transactional
305-
public Mono<Void> deleteAll(Iterable<? extends T> iterable) {
310+
public Mono<Void> deleteAllById(Iterable<? extends ID> ids) {
306311

307-
Assert.notNull(iterable, "The iterable of Id's must not be null!");
312+
Assert.notNull(ids, "The iterable of Id's must not be null!");
308313

309-
return deleteAll(Flux.fromIterable(iterable));
314+
List<? extends ID> idsList = Streamable.of(ids).toList();
315+
String idProperty = getIdProperty().getName();
316+
return this.entityOperations.delete(Query.query(Criteria.where(idProperty).in(idsList)), this.entity.getJavaType())
317+
.then();
310318
}
311319

320+
/*
321+
* (non-Javadoc)
322+
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#deleteAll(java.lang.Iterable)
323+
*/
312324
@Override
313-
public Mono<Void> deleteAllById(Iterable<? extends ID> ids) {
325+
@Transactional
326+
public Mono<Void> deleteAll(Iterable<? extends T> iterable) {
314327

315-
Assert.notNull(ids, "The iterable of Id's must not be null!");
328+
Assert.notNull(iterable, "The iterable of Id's must not be null!");
316329

317-
List<? extends ID> idsList = Streamable.of(ids).toList();
318-
String idProperty = getIdProperty().getName();
319-
return this.entityOperations.delete(Query.query(Criteria.where(idProperty).in(idsList)), this.entity.getJavaType()).then();
330+
return deleteAll(Flux.fromIterable(iterable));
320331
}
321332

322-
/* (non-Javadoc)
333+
/*
334+
* (non-Javadoc)
323335
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#deleteAll(org.reactivestreams.Publisher)
324336
*/
325337
@Override
@@ -334,7 +346,8 @@ public Mono<Void> deleteAll(Publisher<? extends T> objectPublisher) {
334346
return deleteById(idPublisher);
335347
}
336348

337-
/* (non-Javadoc)
349+
/*
350+
* (non-Javadoc)
338351
* @see org.springframework.data.repository.reactive.ReactiveCrudRepository#deleteAll()
339352
*/
340353
@Override
@@ -343,6 +356,22 @@ public Mono<Void> deleteAll() {
343356
return this.entityOperations.delete(Query.empty(), this.entity.getJavaType()).then();
344357
}
345358

359+
// -------------------------------------------------------------------------
360+
// Methods from ReactiveSortingRepository
361+
// -------------------------------------------------------------------------
362+
363+
/*
364+
* (non-Javadoc)
365+
* @see org.springframework.data.repository.reactive.ReactiveSortingRepository#findAll(org.springframework.data.domain.Sort)
366+
*/
367+
@Override
368+
public Flux<T> findAll(Sort sort) {
369+
370+
Assert.notNull(sort, "Sort must not be null!");
371+
372+
return this.entityOperations.select(Query.empty().sort(sort), this.entity.getJavaType());
373+
}
374+
346375
private RelationalPersistentProperty getIdProperty() {
347376
return this.idProperty.get();
348377
}

src/test/java/org/springframework/data/r2dbc/repository/support/AbstractSimpleR2dbcRepositoryIntegrationTests.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.springframework.data.r2dbc.repository.support;
1717

1818
import static org.assertj.core.api.Assertions.*;
19-
import static org.testcontainers.shaded.com.google.common.primitives.Ints.*;
2019

2120
import lombok.AllArgsConstructor;
2221
import lombok.Data;
@@ -473,7 +472,7 @@ void shouldDeleteAllById() {
473472
jdbc.execute("INSERT INTO legoset (name, manual) VALUES('SCHAUFELRADBAGGER', 12)");
474473
Integer id = jdbc.queryForObject("SELECT id FROM legoset", Integer.class);
475474

476-
repository.deleteAllById(asList(id)) //
475+
repository.deleteAllById(Collections.singletonList(id)) //
477476
.as(StepVerifier::create) //
478477
.verifyComplete();
479478

0 commit comments

Comments
 (0)