From a5fd95947d3ca3d1e3ac8ded8d0686b88a645e33 Mon Sep 17 00:00:00 2001 From: vincentescoffier Date: Thu, 4 Jan 2024 16:12:38 +0100 Subject: [PATCH] change from = to : --- README.md | 4 +-- src/main/antlr4/Query.g4 | 4 +-- .../sipios/springsearch/SearchOperation.kt | 6 ++-- .../SpringSearchApplicationTest.kt | 28 +++++++++---------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 745f8ab..97c9161 100644 --- a/README.md +++ b/README.md @@ -134,13 +134,13 @@ Request : `/cars?search=color!Red` 3. Using the greater than operator `>` Request : `/cars?search=creationyear>2017` -> Note: You can use the `>=` operator as well. +> Note: You can use the `>:` operator as well. ![greater than operator example](./docs/images/greater-than-example.gif) 4. Using the less than operator `<` Request : `/cars?search=price<100000` -> Note: You can use the `<=` operator as well. +> Note: You can use the `<:` operator as well. ![less than operator example](./docs/images/less-than-example.gif) diff --git a/src/main/antlr4/Query.g4 b/src/main/antlr4/Query.g4 index 36a722c..0bf8374 100644 --- a/src/main/antlr4/Query.g4 +++ b/src/main/antlr4/Query.g4 @@ -140,7 +140,7 @@ GT ; GTE - : '>=' + : '>:' ; LT @@ -148,7 +148,7 @@ LT ; LTE - : '<=' + : '<:' ; EQ diff --git a/src/main/kotlin/com/sipios/springsearch/SearchOperation.kt b/src/main/kotlin/com/sipios/springsearch/SearchOperation.kt index 333f5c5..f8f024a 100644 --- a/src/main/kotlin/com/sipios/springsearch/SearchOperation.kt +++ b/src/main/kotlin/com/sipios/springsearch/SearchOperation.kt @@ -4,7 +4,7 @@ enum class SearchOperation { EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN, STARTS_WITH, ENDS_WITH, CONTAINS, DOESNT_START_WITH, DOESNT_END_WITH, DOESNT_CONTAIN, GREATER_THAN_EQUALS, LESS_THAN_EQUALS; companion object { - val SIMPLE_OPERATION_SET = arrayOf(":", "!", ">", "<", "~", ">=", "<=") + val SIMPLE_OPERATION_SET = arrayOf(":", "!", ">", "<", "~", ">:", "<:") val ZERO_OR_MORE_REGEX = "*" val OR_OPERATOR = "OR" val AND_OPERATOR = "AND" @@ -23,8 +23,8 @@ enum class SearchOperation { "!" -> NOT_EQUALS ">" -> GREATER_THAN "<" -> LESS_THAN - ">=" -> GREATER_THAN_EQUALS - "<=" -> LESS_THAN_EQUALS + ">:" -> GREATER_THAN_EQUALS + "<:" -> LESS_THAN_EQUALS else -> null } } diff --git a/src/test/kotlin/com/sipios/springsearch/SpringSearchApplicationTest.kt b/src/test/kotlin/com/sipios/springsearch/SpringSearchApplicationTest.kt index 4123a0c..492531b 100644 --- a/src/test/kotlin/com/sipios/springsearch/SpringSearchApplicationTest.kt +++ b/src/test/kotlin/com/sipios/springsearch/SpringSearchApplicationTest.kt @@ -600,13 +600,13 @@ class SpringSearchApplicationTest { var specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", true) - ).withSearch("createdAt>='2019-01-01'").build() + ).withSearch("createdAt>:'2019-01-01'").build() var specificationUsers = userRepository.findAll(specification) Assertions.assertEquals(2, specificationUsers.size) specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", true) - ).withSearch("createdAt>='2019-01-04'").build() + ).withSearch("createdAt>:'2019-01-04'").build() specificationUsers = userRepository.findAll(specification) Assertions.assertEquals(0, specificationUsers.size) } @@ -619,13 +619,13 @@ class SpringSearchApplicationTest { var specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", true) - ).withSearch("createdAt<='2019-01-01'").build() + ).withSearch("createdAt<:'2019-01-01'").build() var specificationUsers = userRepository.findAll(specification) Assertions.assertEquals(1, specificationUsers.size) specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", true) - ).withSearch("createdAt<='2019-01-03'").build() + ).withSearch("createdAt<:'2019-01-03'").build() specificationUsers = userRepository.findAll(specification) Assertions.assertEquals(2, specificationUsers.size) } @@ -809,7 +809,7 @@ class SpringSearchApplicationTest { val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedInstantAt>='2020-01-11T09:20:30Z'").build() + ).withSearch("updatedInstantAt>:'2020-01-11T09:20:30Z'").build() val robotUsers = userRepository.findAll(specification) Assertions.assertEquals(1, robotUsers.size) Assertions.assertEquals("robot", robotUsers[0].userFirstName) @@ -827,7 +827,7 @@ class SpringSearchApplicationTest { val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedInstantAt<='2020-01-11T09:20:30Z'").build() + ).withSearch("updatedInstantAt<:'2020-01-11T09:20:30Z'").build() val robotUsers = userRepository.findAll(specification) Assertions.assertEquals(1, robotUsers.size) Assertions.assertEquals("john", robotUsers[0].userFirstName) @@ -879,7 +879,7 @@ class SpringSearchApplicationTest { userRepository.save(Users(userFirstName = "robot2", updatedAt = LocalDateTime.parse("2020-01-12T10:20:30"))) val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedAt>='2020-01-11T10:20:30'").build() + ).withSearch("updatedAt>:'2020-01-11T10:20:30'").build() val users = userRepository.findAll(specification) Assertions.assertEquals(2, users.size) Assertions.assertFalse(users.any { user -> user.userFirstName == "john" }) @@ -892,7 +892,7 @@ class SpringSearchApplicationTest { userRepository.save(Users(userFirstName = "robot2", updatedAt = LocalDateTime.parse("2020-01-12T10:20:30"))) val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedAt<='2020-01-11T10:20:30'").build() + ).withSearch("updatedAt<:'2020-01-11T10:20:30'").build() val users = userRepository.findAll(specification) Assertions.assertEquals(2, users.size) Assertions.assertFalse(users.any { user -> user.userFirstName == "robot2" }) @@ -958,7 +958,7 @@ class SpringSearchApplicationTest { val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedDateAt<='2020-01-11'").build() + ).withSearch("updatedDateAt<:'2020-01-11'").build() val users = userRepository.findAll(specification) Assertions.assertEquals(2, users.size) Assertions.assertFalse(users.any { user -> user.userFirstName == "robot2" }) @@ -972,7 +972,7 @@ class SpringSearchApplicationTest { val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedDateAt>='2020-01-11'").build() + ).withSearch("updatedDateAt>:'2020-01-11'").build() val users = userRepository.findAll(specification) Assertions.assertEquals(2, users.size) Assertions.assertFalse(users.any { user -> user.userFirstName == "john" }) @@ -1025,7 +1025,7 @@ class SpringSearchApplicationTest { val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedTimeAt<='10:20:30'").build() + ).withSearch("updatedTimeAt<:'10:20:30'").build() val users = userRepository.findAll(specification) Assertions.assertEquals(2, users.size) Assertions.assertFalse(users.any { user -> user.userFirstName == "robot2" }) @@ -1039,7 +1039,7 @@ class SpringSearchApplicationTest { val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("updatedTimeAt>='10:20:30'").build() + ).withSearch("updatedTimeAt>:'10:20:30'").build() val users = userRepository.findAll(specification) Assertions.assertEquals(2, users.size) Assertions.assertFalse(users.any { user -> user.userFirstName == "john" }) @@ -1143,7 +1143,7 @@ class SpringSearchApplicationTest { userRepository.save(Users(userFirstName = "joe", userChildrenNumber = 4)) val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("userChildrenNumber<=2").build() + ).withSearch("userChildrenNumber<:2").build() val users = userRepository.findAll(specification) Assertions.assertEquals(1, users.size) Assertions.assertEquals("john", users[0].userFirstName) @@ -1156,7 +1156,7 @@ class SpringSearchApplicationTest { userRepository.save(Users(userFirstName = "joe", userChildrenNumber = 4)) val specification = SpecificationsBuilder( SearchSpec::class.constructors.first().call("", false) - ).withSearch("userChildrenNumber>=3").build() + ).withSearch("userChildrenNumber>:3").build() val users = userRepository.findAll(specification) Assertions.assertEquals(2, users.size) }