diff --git a/src/main/asciidoc/preface.adoc b/src/main/asciidoc/preface.adoc index b91d22baf..3bd4a71d7 100644 --- a/src/main/asciidoc/preface.adoc +++ b/src/main/asciidoc/preface.adoc @@ -1,15 +1,13 @@ [[preface]] == Preface -The Spring Data Aerospike project applies core Spring concepts to the development of solutions using the Aerospike key-value style data store. We provide a "template" as a high-level abstraction for storing and querying data. You will notice similarities to the JDBC support in the Spring Framework. +The Spring Data Aerospike project applies core Spring concepts and provides interface for using Aerospike key-value style data store. We provide a "repository" and a "template" as high-level abstractions for storing and querying data. You will notice similarities to the JDBC support in the Spring Framework. -This document is the reference guide for Spring Data - Aerospike Support. It explains Aerospike module concepts and semantics and the syntax for various stores namespaces. - -This section provides a basic introduction to Spring and the Aerospike database. The rest of the document refers only to Spring Data Aerospike features and assumes the user is familiar with Aerospike as well as Spring concepts. +This chapter provides some basic introduction to Spring and Aerospike, it explains Aerospike concepts and syntax. The rest of the documentation refers to Spring Data Aerospike features and assumes the user is familiar with Aerospike as well as Spring concepts. [[get-started:first-steps:spring]] == Knowing Spring -Spring Data uses Spring framework's https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/spring-core.html[core] functionality, such as the https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html[IoC] container, https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/validation.html#core-convert[type conversion system], https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/expressions.html[expression language], https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/jmx.html[JMX integration], and portable https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/dao.html#dao-exceptions[DAO exception hierarchy]. While it is not important to know the Spring APIs, understanding the concepts behind them is. At a minimum, the idea behind IoC should be familiar to whatever IoC container you choose to use. +Spring Data uses Spring framework's https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/spring-core.html[core] functionality, such as the https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html[IoC] container, https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/validation.html#core-convert[type conversion system], https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/expressions.html[expression language], https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/jmx.html[JMX integration], and portable https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/dao.html#dao-exceptions[DAO exception hierarchy]. While it is not important to know the Spring APIs, understanding the concepts behind them is. At a minimum, the idea behind IoC should be familiar regardless of IoC container you choose to use. The core functionality of the Aerospike support can be used directly, with no need to invoke the IoC services of the Spring Container. This is much like `JdbcTemplate` which can be used 'standalone' without any other services of the Spring container. To leverage all the features of the Spring Data document, such as the repository support, you will need to configure some parts of the library using Spring. diff --git a/src/main/java/org/springframework/data/aerospike/repository/query/AerospikeQueryCreator.java b/src/main/java/org/springframework/data/aerospike/repository/query/AerospikeQueryCreator.java index cfe34e20f..e727e5350 100644 --- a/src/main/java/org/springframework/data/aerospike/repository/query/AerospikeQueryCreator.java +++ b/src/main/java/org/springframework/data/aerospike/repository/query/AerospikeQueryCreator.java @@ -136,22 +136,9 @@ public AerospikeCriteria getCriteria(Part part, AerospikePersistentProperty prop op = LIST_VAL_CONTAINING; params.add(0, value1); // value1 stores the first parameter return aerospikeCriteriaAndConcatenated(params, qb, part, fieldName, op, dotPath); - } else if (nextParam.equals(AerospikeMapCriteria.VALUE)) { - op = getCorrespondingListFilterOperationOrFail(op); } } else if (!(value1 instanceof Collection)) { // preserving the initial FilterOperation if Collection - switch (op) { - // for these operations a parameter without AerospikeMapCriteria.VALUE flag must be Collection type - case EQ, NOTEQ, GT, GTEQ, LT, LTEQ -> { - throw new IllegalArgumentException("Expected to receive a Collection (got " + - value1.getClass().getSimpleName() + " instead), please provide " + - "an additional AerospikeMapCriteria.VALUE parameter for applying condition at values " + - "level"); - } - default -> { - op = getCorrespondingListFilterOperationOrFail(op); - } - } + op = getCorrespondingListFilterOperationOrFail(op); } } else if (property.isMap()) { List params = new ArrayList<>(); diff --git a/src/test/java/org/springframework/data/aerospike/core/AerospikeTemplateFindByQueryTests.java b/src/test/java/org/springframework/data/aerospike/core/AerospikeTemplateFindByQueryTests.java index 1cf2a6137..e07f06e15 100644 --- a/src/test/java/org/springframework/data/aerospike/core/AerospikeTemplateFindByQueryTests.java +++ b/src/test/java/org/springframework/data/aerospike/core/AerospikeTemplateFindByQueryTests.java @@ -251,8 +251,7 @@ public void findByListContainingString() { @Test public void findByListValueLessThanOrEqual() { - Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsLessThanEqual", 25, - CriteriaDefinition.AerospikeMapCriteria.VALUE); + Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsLessThanEqual", 25); Stream result = template.find(query, Person.class); assertThat(result) @@ -262,8 +261,7 @@ public void findByListValueLessThanOrEqual() { @Test public void findByListValueGreaterThan() { - Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsGreaterThan", 10, - CriteriaDefinition.AerospikeMapCriteria.VALUE); + Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsGreaterThan", 10); Stream result = template.find(query, Person.class); assertThat(result) @@ -273,8 +271,7 @@ public void findByListValueGreaterThan() { @Test public void findByListValueInRange() { - Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsBetween", 10, 700, - CriteriaDefinition.AerospikeMapCriteria.VALUE); + Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsBetween", 10, 700); Stream result = template.find(query, Person.class); assertThat(result) diff --git a/src/test/java/org/springframework/data/aerospike/core/reactive/ReactiveAerospikeTemplateFindByQueryTests.java b/src/test/java/org/springframework/data/aerospike/core/reactive/ReactiveAerospikeTemplateFindByQueryTests.java index 8f1bc4210..e65709b4f 100644 --- a/src/test/java/org/springframework/data/aerospike/core/reactive/ReactiveAerospikeTemplateFindByQueryTests.java +++ b/src/test/java/org/springframework/data/aerospike/core/reactive/ReactiveAerospikeTemplateFindByQueryTests.java @@ -323,8 +323,7 @@ public void findByListValueLessThanOrEqual() { .collect(Collectors.toList()); reactiveTemplate.insertAll(persons).blockLast(); - Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsLessThanEqual", 500, - CriteriaDefinition.AerospikeMapCriteria.VALUE); + Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsLessThanEqual", 500); List result = reactiveTemplate.find(query, Person.class) .subscribeOn(Schedulers.parallel()) @@ -344,8 +343,7 @@ public void findByListValueInRange() { .collect(Collectors.toList()); reactiveTemplate.insertAll(persons).blockLast(); - Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsBetween", 200, 601, - CriteriaDefinition.AerospikeMapCriteria.VALUE); + Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsBetween", 200, 601); List result = reactiveTemplate.find(query, Person.class) .subscribeOn(Schedulers.parallel()) @@ -365,8 +363,7 @@ public void findByListValueGreaterThan() { .collect(Collectors.toList()); reactiveTemplate.insertAll(persons).blockLast(); - Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsGreaterThan", 549, - CriteriaDefinition.AerospikeMapCriteria.VALUE); + Query query = QueryUtils.createQueryForMethodWithArgs("findByIntsGreaterThan", 549); List result = reactiveTemplate.find(query, Person.class) .subscribeOn(Schedulers.parallel()) diff --git a/src/test/java/org/springframework/data/aerospike/query/reactive/ReactiveIndexedPersonRepositoryQueryTests.java b/src/test/java/org/springframework/data/aerospike/query/reactive/ReactiveIndexedPersonRepositoryQueryTests.java index f68ee7e62..c8cc0ddfe 100644 --- a/src/test/java/org/springframework/data/aerospike/query/reactive/ReactiveIndexedPersonRepositoryQueryTests.java +++ b/src/test/java/org/springframework/data/aerospike/query/reactive/ReactiveIndexedPersonRepositoryQueryTests.java @@ -110,7 +110,7 @@ public void findByListContainingInteger_forExistingResult() { @Test public void findByListValueGreaterThan() { - List results = reactiveRepository.findByIntsGreaterThan(549, VALUE) + List results = reactiveRepository.findByIntsGreaterThan(549) .subscribeOn(Schedulers.parallel()).collectList().block(); assertThat(results).containsExactlyInAnyOrder(daniel, emilien); @@ -118,7 +118,7 @@ public void findByListValueGreaterThan() { @Test public void findByListValueLessThanOrEqual() { - List results = reactiveRepository.findByIntsLessThanEqual(500, VALUE) + List results = reactiveRepository.findByIntsLessThanEqual(500) .subscribeOn(Schedulers.parallel()).collectList().block(); assertThat(results).containsExactlyInAnyOrder(daniel, emilien); @@ -126,7 +126,7 @@ public void findByListValueLessThanOrEqual() { @Test public void findByListValueInRange() { - List results = reactiveRepository.findByIntsBetween(500, 600, VALUE) + List results = reactiveRepository.findByIntsBetween(500, 600) .subscribeOn(Schedulers.parallel()).collectList().block(); assertThat(results).containsExactlyInAnyOrder(daniel, emilien); diff --git a/src/test/java/org/springframework/data/aerospike/repository/IndexedPersonRepositoryQueryTests.java b/src/test/java/org/springframework/data/aerospike/repository/IndexedPersonRepositoryQueryTests.java index b18b30394..e34e730c2 100644 --- a/src/test/java/org/springframework/data/aerospike/repository/IndexedPersonRepositoryQueryTests.java +++ b/src/test/java/org/springframework/data/aerospike/repository/IndexedPersonRepositoryQueryTests.java @@ -147,19 +147,19 @@ void findByListContainingInteger_forEmptyResult() { @Test void findByListValueGreaterThan() { - List persons = repository.findByIntsGreaterThan(549, VALUE); + List persons = repository.findByIntsGreaterThan(549); assertThat(persons).containsExactlyInAnyOrder(jane, john); } @Test void findByListValueLessThanOrEqual() { - List persons = repository.findByIntsLessThanEqual(500, VALUE); + List persons = repository.findByIntsLessThanEqual(500); assertThat(persons).containsOnly(john); } @Test void findByListValueInRange() { - List persons = repository.findByIntsBetween(500, 600, VALUE); + List persons = repository.findByIntsBetween(500, 600); assertThat(persons).containsExactlyInAnyOrder(jane, john); } diff --git a/src/test/java/org/springframework/data/aerospike/repository/PersonRepositoryQueryTests.java b/src/test/java/org/springframework/data/aerospike/repository/PersonRepositoryQueryTests.java index 7c810e8be..230c0d4ca 100644 --- a/src/test/java/org/springframework/data/aerospike/repository/PersonRepositoryQueryTests.java +++ b/src/test/java/org/springframework/data/aerospike/repository/PersonRepositoryQueryTests.java @@ -177,51 +177,51 @@ void findByBoolean() { @Test void findByListValueLessThanOrEqualNumber() { List persons; - persons = repository.findByIntsLessThanEqual(500, VALUE); + persons = repository.findByIntsLessThanEqual(500); assertThat(persons).containsOnly(oliver); - persons = repository.findByIntsLessThanEqual(Long.MAX_VALUE - 1, VALUE); + persons = repository.findByIntsLessThanEqual(Long.MAX_VALUE - 1); assertThat(persons).containsOnly(oliver, alicia); - persons = repository.findByIntsLessThanEqual(Long.MAX_VALUE, VALUE); + persons = repository.findByIntsLessThanEqual(Long.MAX_VALUE); assertThat(persons).containsOnly(oliver, alicia); } @Test void findByListValueLessThanOrEqualString() { List persons; - persons = repository.findByStringsLessThanEqual("str4", VALUE); + persons = repository.findByStringsLessThanEqual("str4"); assertThat(persons).containsOnly(dave, donny); - persons = repository.findByStringsLessThanEqual("str3", VALUE); + persons = repository.findByStringsLessThanEqual("str3"); assertThat(persons).containsOnly(dave, donny); - persons = repository.findByStringsLessThanEqual("str2", VALUE); + persons = repository.findByStringsLessThanEqual("str2"); assertThat(persons).containsOnly(dave, donny); - persons = repository.findByStringsLessThanEqual("str0", VALUE); + persons = repository.findByStringsLessThanEqual("str0"); assertThat(persons).containsOnly(dave); - persons = repository.findByStringsLessThanEqual("str", VALUE); + persons = repository.findByStringsLessThanEqual("str"); assertThat(persons).isEmpty(); } @Test void findByListValueGreaterThanNumber() { List persons; - persons = repository.findByIntsGreaterThan(549, VALUE); + persons = repository.findByIntsGreaterThan(549); assertThat(persons).containsOnly(oliver, alicia); - persons = repository.findByIntsGreaterThan(990, VALUE); + persons = repository.findByIntsGreaterThan(990); assertThat(persons).isEmpty(); - persons = repository.findByIntsGreaterThan(Long.MIN_VALUE, VALUE); + persons = repository.findByIntsGreaterThan(Long.MIN_VALUE); assertThat(persons).containsOnly(oliver, alicia); - persons = repository.findByIntsGreaterThan(Long.MAX_VALUE - 1, VALUE); + persons = repository.findByIntsGreaterThan(Long.MAX_VALUE - 1); assertThat(persons).isEmpty(); - assertThatThrownBy(() -> repository.findByIntsGreaterThan(Long.MAX_VALUE, VALUE)) + assertThatThrownBy(() -> repository.findByIntsGreaterThan(Long.MAX_VALUE)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("LIST_VAL_GT FilterExpression unsupported value: expected [Long.MIN_VALUE..Long.MAX_VALUE-1]"); } @@ -229,23 +229,26 @@ void findByListValueGreaterThanNumber() { @Test void findByListValueGreaterThanString() { List persons; - persons = repository.findByStringsGreaterThan("str0", VALUE); + persons = repository.findByStringsGreaterThan("str0"); assertThat(persons).containsOnly(dave, donny); - persons = repository.findByStringsGreaterThan("", VALUE); + persons = repository.findByStringsGreaterThan(""); assertThat(persons).containsOnly(dave, donny); // ordering is by each byte in a String, so "t" > "str" because "t" > "s" - persons = repository.findByStringsGreaterThan("t", VALUE); + persons = repository.findByStringsGreaterThan("t"); assertThat(persons).isEmpty(); } @Test - void findByListValueGreaterThanList() { - List> listOfLists1 = List.of(List.of(100), List.of(200), List.of(300), List.of(400)); - List> listOfLists2 = List.of(List.of(101), List.of(201), List.of(301), List.of(401)); - List> listOfLists3 = List.of(List.of(102), List.of(202), List.of(300), List.of(400)); - List> listOfLists4 = List.of(List.of(1000), List.of(2000), List.of(3000), List.of(4000)); +// Note: only the upper level ListOfLists will be compared even if the parameter has different number of levels +// So findByListOfListsGreaterThan(List.of(1)) and findByListOfListsGreaterThan(List.of(List.of(List.of(1)))) +// will compare with the given parameter only the upper level ListOfLists itself + void findByListOfListsGreaterThan() { + List> listOfLists1 = List.of(List.of(100)); + List> listOfLists2 = List.of(List.of(101)); + List> listOfLists3 = List.of(List.of(102)); + List> listOfLists4 = List.of(List.of(1000)); stefan.setListOfIntLists(listOfLists1); repository.save(stefan); douglas.setListOfIntLists(listOfLists2); @@ -256,57 +259,24 @@ void findByListValueGreaterThanList() { repository.save(leroi2); List persons; - persons = repository.findByListOfIntListsGreaterThan(List.of(100), VALUE); + persons = repository.findByListOfIntListsGreaterThan(List.of(List.of(99))); assertThat(persons).containsOnly(stefan, douglas, matias, leroi2); - persons = repository.findByListOfIntListsGreaterThan(List.of(400), VALUE); - assertThat(persons).containsOnly(douglas, leroi2); + persons = repository.findByListOfIntListsGreaterThan(List.of(List.of(100))); + assertThat(persons).containsOnly(douglas, matias, leroi2); - persons = repository.findByListOfIntListsGreaterThan(List.of(401), VALUE); + persons = repository.findByListOfIntListsGreaterThan(List.of(List.of(102))); assertThat(persons).containsOnly(leroi2); - persons = repository.findByListOfIntListsGreaterThan(List.of(4000), VALUE); - assertThat(persons).isEmpty(); - } - - @Test - void findByListValueGreaterThanMap() { - List> listOfMaps1 = List.of(Map.of("a", 100), Map.of("b", 200), Map.of("c", 300), - Map.of("d", 400)); - List> listOfMaps2 = List.of(Map.of("a", 101), Map.of("b", 201), Map.of("c", 301), - Map.of("d", 401)); - List> listOfMaps3 = List.of(Map.of("a", 102), Map.of("b", 202), Map.of("c", 300), - Map.of("d", 400)); - List> listOfMaps4 = List.of(Map.of("a", 1000), Map.of("b", 2000), Map.of("c", 3000), - Map.of("d", 4000)); - stefan.setListOfIntMaps(listOfMaps1); - repository.save(stefan); - douglas.setListOfIntMaps(listOfMaps2); - repository.save(douglas); - matias.setListOfIntMaps(listOfMaps3); - repository.save(matias); - leroi2.setListOfIntMaps(listOfMaps4); - repository.save(leroi2); - - List persons; - persons = repository.findByListOfIntMapsLessThan(Map.of("a", 1001), VALUE); - assertThat(persons).containsOnly(stefan, douglas, matias, leroi2); - - persons = repository.findByListOfIntMapsLessThan(Map.of("a", 400), VALUE); - assertThat(persons).containsOnly(stefan, douglas, matias); - - persons = repository.findByListOfIntMapsLessThan(Map.of("a", 102), VALUE); - assertThat(persons).containsOnly(stefan, douglas); - - persons = repository.findByListOfIntMapsLessThan(Map.of("a", 99), VALUE); - assertThat(persons).isEmpty(); + persons = repository.findByListOfIntListsGreaterThan(List.of(List.of(401))); + assertThat(persons).containsOnly(leroi2); - persons = repository.findByListOfIntMapsLessThan(Map.of("a", 0), VALUE); + persons = repository.findByListOfIntListsGreaterThan(List.of(List.of(4000))); assertThat(persons).isEmpty(); } @Test - void findByGreaterThanList() { + void findByListGreaterThan() { List listToCompare1 = List.of(100, 200, 300, 400); List listToCompare2 = List.of(425, 550); List listToCompare3 = List.of(426, 551, 991); @@ -336,20 +306,20 @@ void findByGreaterThanList() { @Test void findByIntegerListValueInRange() { - List persons = repository.findByIntsBetween(500, 600, VALUE); + List persons = repository.findByIntsBetween(500, 600); assertThat(persons).containsExactlyInAnyOrder(oliver, alicia); } @Test void findByStringListValueInRange() { List persons; - persons = repository.findByStringsBetween("str1", "str3", VALUE); + persons = repository.findByStringsBetween("str1", "str3"); assertThat(persons).containsExactlyInAnyOrder(donny, dave); - persons = repository.findByStringsBetween("str3", "str3", VALUE); // upper limit is exclusive + persons = repository.findByStringsBetween("str3", "str3"); // upper limit is exclusive assertThat(persons).isEmpty(); - persons = repository.findByStringsBetween("str3", "str4", VALUE); + persons = repository.findByStringsBetween("str3", "str4"); assertThat(persons).containsExactlyInAnyOrder(donny); } diff --git a/src/test/java/org/springframework/data/aerospike/sample/PersonRepository.java b/src/test/java/org/springframework/data/aerospike/sample/PersonRepository.java index cb2311df5..d60d5c169 100644 --- a/src/test/java/org/springframework/data/aerospike/sample/PersonRepository.java +++ b/src/test/java/org/springframework/data/aerospike/sample/PersonRepository.java @@ -247,9 +247,8 @@ public interface PersonRepository

extends AerospikeRepository< * Information about ordering * * @param string lower limit, exclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByStringsGreaterThan(String string, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByStringsGreaterThan(String string); /** * Find all entities that satisfy the condition "have at least one list value which is less than or equal to the @@ -260,9 +259,8 @@ public interface PersonRepository

extends AerospikeRepository< * Information about ordering * * @param string lower limit, inclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByStringsLessThanEqual(String string, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByStringsLessThanEqual(String string); /** * Find all entities that satisfy the condition "have strings the same as the given argument" (find by collection) @@ -750,9 +748,8 @@ List

findByStringMapContaining(String key1, String value1, String key2, Strin *

* * @param integer lower limit, exclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByIntsGreaterThan(int integer, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByIntsGreaterThan(int integer); /** * Find all entities that satisfy the condition "have at least one list value which is greater than the given long @@ -762,38 +759,20 @@ List

findByStringMapContaining(String key1, String value1, String key2, Strin *

* * @param value lower limit, exclusive, [Long.MIN_VALUE..Long.MAX_VALUE-1] - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByIntsGreaterThan(long value, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByIntsGreaterThan(long value); /** - * Find all entities that satisfy the condition "have at least one list value which is greater than the given list - * of integers" + * Find all entities that satisfy the condition "have the list of lists which is greater than the given list". *

- * ListOfIntLists is a list of lists + * ListOfIntLists is the name of the list of lists *

*

* Information about ordering * - * @param list List element to compare with - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level + * @param list List to compare with */ - List

findByListOfIntListsGreaterThan(List list, - CriteriaDefinition.AerospikeMapCriteria valueCriterion); - - /** - * Find all entities that satisfy the condition "have at least one list value which is less than the given map" - *

- * ListOfIntMaps is a list of maps - *

- *

- * Information about ordering - * - * @param map List element to compare with - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level - */ - List

findByListOfIntMapsLessThan(Map map, - CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByListOfIntListsGreaterThan(List> list); /** * Find all entities that satisfy the condition "have at least one map value (with the given key) which is greater @@ -821,10 +800,10 @@ List

findByListOfIntMapsLessThan(Map map, List

findByMapOfIntListsBetween(Map> from, Map> to); /** - * Find all entities that satisfy the condition "have at least one map value (with the given key) which is greater + * Find all entities that satisfy the condition "have at least one map value with the given key which is greater * than the given Address". *

- * Custom object such as Address is converted to a Map before being compared" + * Custom object such as Address is converted to a Map before being compared *

*

* Information about ordering @@ -843,9 +822,8 @@ List

findByListOfIntMapsLessThan(Map map, *

* * @param integer upper limit, inclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByIntsLessThanEqual(int integer, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByIntsLessThanEqual(int integer); /** * Find all entities that satisfy the condition "have at least one list value which is less than or equal to the @@ -855,9 +833,8 @@ List

findByListOfIntMapsLessThan(Map map, *

* * @param value upper limit, inclusive, [Long.MIN_VALUE..Long.MAX_VALUE-1] - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByIntsLessThanEqual(long value, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByIntsLessThanEqual(long value); /** * Find all entities that satisfy the condition "have at least one list value in the given range" @@ -867,9 +844,8 @@ List

findByListOfIntMapsLessThan(Map map, * * @param from lower limit, inclusive * @param to upper limit, exclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByIntsBetween(int from, int to, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByIntsBetween(int from, int to); /** * Find all entities that satisfy the condition "have list in the given range" @@ -904,9 +880,8 @@ List

findByListOfIntMapsLessThan(Map map, * * @param from lower limit, inclusive * @param to upper limit, exclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - List

findByStringsBetween(String from, String to, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + List

findByStringsBetween(String from, String to); List

findTop3ByLastNameStartingWith(String lastName); diff --git a/src/test/java/org/springframework/data/aerospike/sample/ReactiveIndexedPersonRepository.java b/src/test/java/org/springframework/data/aerospike/sample/ReactiveIndexedPersonRepository.java index c5ffdbba1..54bc2de11 100644 --- a/src/test/java/org/springframework/data/aerospike/sample/ReactiveIndexedPersonRepository.java +++ b/src/test/java/org/springframework/data/aerospike/sample/ReactiveIndexedPersonRepository.java @@ -135,9 +135,8 @@ public interface ReactiveIndexedPersonRepository extends ReactiveAerospikeReposi *

* * @param integer upper limit, exclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - Flux findByIntsGreaterThan(int integer, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + Flux findByIntsGreaterThan(int integer); /** * Find all entities that satisfy the condition "have at least one list value which is less than or equal to the @@ -147,9 +146,8 @@ public interface ReactiveIndexedPersonRepository extends ReactiveAerospikeReposi *

* * @param integer upper limit, inclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - Flux findByIntsLessThanEqual(int integer, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + Flux findByIntsLessThanEqual(int integer); /** * Find all entities that satisfy the condition "have at least one list value in the given range" @@ -159,9 +157,8 @@ public interface ReactiveIndexedPersonRepository extends ReactiveAerospikeReposi * * @param from lower limit, inclusive * @param to upper limit, inclusive - * @param valueCriterion {@link CriteriaDefinition.AerospikeMapCriteria#VALUE} applying at values level */ - Flux findByIntsBetween(int from, int to, CriteriaDefinition.AerospikeMapCriteria valueCriterion); + Flux findByIntsBetween(int from, int to); Flux findByFirstName(String string);