Skip to content

Commit d591845

Browse files
committed
Get rid of chainCriteria
1 parent 4305557 commit d591845

File tree

2 files changed

+12
-44
lines changed

2 files changed

+12
-44
lines changed

spring-data-mongodb/src/main/kotlin/org/springframework/data/mongodb/core/query/TypedCriteriaExtensions.kt

-9
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,6 @@ import org.springframework.data.mongodb.core.schema.MongoJsonSchema
2626
import java.util.regex.Pattern
2727
import kotlin.reflect.KProperty
2828

29-
/**
30-
* Chain [TypedCriteria].
31-
* @author Tjeu Kayim
32-
* @since 2.2
33-
*/
34-
fun chainCriteria(vararg operations: TypedCriteria): Criteria {
35-
return operations.fold(Criteria()) { chain, criteria -> criteria and chain }
36-
}
37-
3829
/**
3930
* Creates a criterion using the given object as a pattern.
4031
* @author Tjeu Kayim

spring-data-mongodb/src/test/kotlin/org/springframework/data/mongodb/core/query/TypedCriteriaExtensionsTests.kt

+12-35
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,14 @@ class TypedCriteriaExtensionsTests {
4040
.and("price").gt(1100)
4141
.and("available").isEqualTo(true)
4242
)
43-
val typed = Query(
44-
chainCriteria(
45-
Book::price gt 1100,
46-
Book::available isEqualTo true
47-
)
48-
)
43+
val typed = Query((Book::price gt 1100) and (Book::available isEqualTo true))
4944
assertThat(classic.queryObject).isEqualTo(typed.queryObject)
5045
}
5146

5247
@Test
5348
fun `chaining gt & isEqualTo() should equal classic criteria`() {
5449

55-
val typed = chainCriteria(
56-
Book::title isEqualTo "Moby-Dick",
57-
Book::price lt 950
58-
)
50+
val typed = (Book::title isEqualTo "Moby-Dick") and (Book::price lt 950)
5951
val classic = Criteria("title").isEqualTo("Moby-Dick")
6052
.and("price").lt(950)
6153
assertEqualCriteria(typed, classic)
@@ -377,13 +369,9 @@ class TypedCriteriaExtensionsTests {
377369
@Test
378370
fun `or operator() should equal classic criteria`() {
379371

380-
val typed = chainCriteria(
381-
Book::title isEqualTo "Moby-Dick",
382-
orOperator(
383-
(Book::price lt 1200),
384-
(Book::price gt 240)
385-
)
386-
)
372+
val typed = (Book::title isEqualTo "Moby-Dick").orOperator(
373+
Book::price lt 1200,
374+
Book::price gt 240)
387375
val classic = Criteria("title").isEqualTo("Moby-Dick")
388376
.orOperator(
389377
Criteria("price").lt(1200),
@@ -395,13 +383,9 @@ class TypedCriteriaExtensionsTests {
395383
@Test
396384
fun `nor() should equal classic criteria`() {
397385

398-
val typed = chainCriteria(
399-
Book::title isEqualTo "Moby-Dick",
400-
norOperator(
401-
(Book::price lt 1200),
402-
(Book::price gt 240)
403-
)
404-
)
386+
val typed = (Book::title isEqualTo "Moby-Dick").norOperator(
387+
Book::price lt 1200,
388+
Book::price gt 240)
405389
val classic = Criteria("title").isEqualTo("Moby-Dick")
406390
.norOperator(
407391
Criteria("price").lt(1200),
@@ -413,13 +397,9 @@ class TypedCriteriaExtensionsTests {
413397
@Test
414398
fun `and() should equal classic criteria`() {
415399

416-
val typed = chainCriteria(
417-
Book::title isEqualTo "Moby-Dick",
418-
andOperator(
419-
(Book::price lt 1200),
420-
(Book::price gt 240)
421-
)
422-
)
400+
val typed = (Book::title isEqualTo "Moby-Dick").andOperator(
401+
Book::price lt 1200,
402+
Book::price gt 240)
423403
val classic = Criteria("title").isEqualTo("Moby-Dick")
424404
.andOperator(
425405
Criteria("price").lt(1200),
@@ -444,10 +424,7 @@ class TypedCriteriaExtensionsTests {
444424
@Test
445425
fun `infix or should equal classic criteria`() {
446426

447-
val typed = chainCriteria(
448-
Book::title isEqualTo "Moby-Dick",
449-
(Book::price lt 1200) orOperator (Book::price gt 240)
450-
)
427+
val typed = (Book::title isEqualTo "Moby-Dick") and (Book::price lt 1200 orOperator (Book::price gt 240))
451428
val classic = Criteria("title").isEqualTo("Moby-Dick")
452429
.orOperator(Criteria("price").lt(1200), Criteria("price").gt(240))
453430
assertEqualCriteria(typed, classic)

0 commit comments

Comments
 (0)