diff --git a/README.md b/README.md
index 8c34843..67f4867 100644
--- a/README.md
+++ b/README.md
@@ -59,7 +59,7 @@ Filter JPA entities directly in database queries. The module converts filter exp
com.turkraft.springfilter
jpa
- 3.2.4
+ 3.2.5
```
@@ -114,7 +114,7 @@ Filter MongoDB documents using Spring Data MongoDB queries.
com.turkraft.springfilter
mongo
- 3.2.4
+ 3.2.5
```
@@ -150,7 +150,7 @@ Filter in-memory collections using Java Predicates. Works with any POJO, no data
com.turkraft.springfilter
predicate
- 3.2.4
+ 3.2.5
```
@@ -222,7 +222,7 @@ Build filter expressions programmatically instead of writing filter strings manu
com.turkraft.springfilter
core
- 3.2.4
+ 3.2.5
```
@@ -268,7 +268,7 @@ Add automatic Swagger documentation for endpoints with `@Filter` parameters.
com.turkraft.springfilter
openapi
- 3.2.4
+ 3.2.5
```
@@ -290,7 +290,7 @@ The `page-sort` module provides annotations for pagination, sorting, and field s
com.turkraft.springfilter
page-sort
- 3.2.4
+ 3.2.5
```
@@ -298,7 +298,7 @@ The `page-sort` module provides annotations for pagination, sorting, and field s
```java
@GetMapping("/cars")
-Page search(@Filter Specification spec, @Page Pageable page) {
+Page search(@Filter Specification spec, @Pagination Pageable page) {
return repository.findAll(spec, page);
}
```
@@ -310,7 +310,7 @@ Usage: `?page=0&size=20&sort=-year` (prefix `-` for descending)
```java
@GetMapping("/cars")
Page search(
- @Page(pageParameter = "p", sizeParameter = "limit", sortParameter = "order") Pageable page) {
+ @Pagination(pageParameter = "p", sizeParameter = "limit", sortParameter = "order") Pageable page) {
return repository.findAll(page);
}
```
@@ -361,7 +361,7 @@ Use `?fields=id,brand.name,year` to return only specified fields. Uses Jackson's
@GetMapping("/cars")
Page search(
@Filter Specification spec,
- @Page Pageable page) {
+ @Pagination Pageable page) {
return repository.findAll(spec, page);
}
```
diff --git a/core/src/main/java/com/turkraft/springfilter/language/InOperator.java b/core/src/main/java/com/turkraft/springfilter/language/InOperator.java
index 7779bfc..2d392b4 100644
--- a/core/src/main/java/com/turkraft/springfilter/language/InOperator.java
+++ b/core/src/main/java/com/turkraft/springfilter/language/InOperator.java
@@ -17,7 +17,7 @@ public String getDescription() {
@Override
public String getExample() {
- return "status in ('active', 'pending')";
+ return "status in ['active', 'pending']";
}
}
diff --git a/jpa-example/src/main/java/com/turkraft/springfilter/example/SpringFilterJpaExampleApplication.java b/jpa-example/src/main/java/com/turkraft/springfilter/example/SpringFilterJpaExampleApplication.java
index 46e6083..8a9e261 100644
--- a/jpa-example/src/main/java/com/turkraft/springfilter/example/SpringFilterJpaExampleApplication.java
+++ b/jpa-example/src/main/java/com/turkraft/springfilter/example/SpringFilterJpaExampleApplication.java
@@ -3,7 +3,7 @@
import com.github.javafaker.Faker;
import com.turkraft.springfilter.boot.Fields;
import com.turkraft.springfilter.boot.Filter;
-import com.turkraft.springfilter.boot.Page;
+import com.turkraft.springfilter.boot.Pagination;
import com.turkraft.springfilter.converter.FilterSpecification;
import com.turkraft.springfilter.example.model.Address;
import com.turkraft.springfilter.example.model.Company;
@@ -170,7 +170,7 @@ public void index(HttpServletResponse response)
@Fields
public List getIndustries(
@Filter FilterSpecification filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
return industryRepository
.findAll(filter, pageable)
.getContent();
@@ -180,7 +180,7 @@ public List getIndustries(
@Fields
public List getCompanies(
@Filter FilterSpecification filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
return companyRepository
.findAll(filter, pageable)
.getContent();
@@ -190,7 +190,7 @@ public List getCompanies(
@Fields
public List getEmployees(
@Filter FilterSpecification filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
return employeeRepository
.findAll(filter, pageable)
.getContent();
@@ -200,7 +200,7 @@ public List getEmployees(
@Fields
public List getPayslips(
@Filter FilterSpecification filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
return payslipRepository
.findAll(filter, pageable)
.getContent();
diff --git a/mongo-example/src/main/java/com/turkraft/springfilter/example/SpringFilterMongoExampleApplication.java b/mongo-example/src/main/java/com/turkraft/springfilter/example/SpringFilterMongoExampleApplication.java
index d6ba645..b864b54 100644
--- a/mongo-example/src/main/java/com/turkraft/springfilter/example/SpringFilterMongoExampleApplication.java
+++ b/mongo-example/src/main/java/com/turkraft/springfilter/example/SpringFilterMongoExampleApplication.java
@@ -3,7 +3,7 @@
import com.github.javafaker.Faker;
import com.turkraft.springfilter.boot.Fields;
import com.turkraft.springfilter.boot.Filter;
-import com.turkraft.springfilter.boot.Page;
+import com.turkraft.springfilter.boot.Pagination;
import com.turkraft.springfilter.example.model.Company;
import com.turkraft.springfilter.example.model.Employee;
import com.turkraft.springfilter.example.model.Employee.MaritalStatus;
@@ -183,7 +183,7 @@ public void index(HttpServletResponse response)
@Fields
public List getIndustries(
@Filter(entityClass = Industry.class) Document filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
Query query = new BasicQuery(filter);
query.with(pageable);
return mongoTemplate.find(query, Industry.class);
@@ -193,7 +193,7 @@ public List getIndustries(
@Fields
public List getCompanies(
@Filter(entityClass = Company.class) Document filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
Query query = new BasicQuery(filter);
query.with(pageable);
return mongoTemplate.find(query, Company.class);
@@ -203,7 +203,7 @@ public List getCompanies(
@Fields
public List getEmployees(
@Filter(entityClass = Employee.class) Document filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
Query query = new BasicQuery(filter);
query.with(pageable);
return mongoTemplate.find(query, Employee.class);
@@ -213,7 +213,7 @@ public List getEmployees(
@Fields
public List getPayslips(
@Filter(entityClass = Payslip.class) Document filter,
- @Page Pageable pageable) {
+ @Pagination Pageable pageable) {
Query query = new BasicQuery(filter);
query.with(pageable);
return mongoTemplate.find(query, Payslip.class);
diff --git a/openapi/src/main/java/com/turkraft/springfilter/openapi/FilterOpenApiAutoConfiguration.java b/openapi/src/main/java/com/turkraft/springfilter/openapi/FilterOpenApiAutoConfiguration.java
index 71bf97f..94578c9 100644
--- a/openapi/src/main/java/com/turkraft/springfilter/openapi/FilterOpenApiAutoConfiguration.java
+++ b/openapi/src/main/java/com/turkraft/springfilter/openapi/FilterOpenApiAutoConfiguration.java
@@ -72,7 +72,7 @@ public FilterParameterCustomizer filterParameterCustomizer(
@ConditionalOnMissingBean
@ConditionalOnClass(name = {
"com.turkraft.springfilter.boot.Sort",
- "com.turkraft.springfilter.boot.Page",
+ "com.turkraft.springfilter.boot.Pagination",
"com.turkraft.springfilter.boot.Fields"
})
public PageSortParameterCustomizer pageSortParameterCustomizer(
diff --git a/openapi/src/main/java/com/turkraft/springfilter/openapi/springdoc/PageSortParameterCustomizer.java b/openapi/src/main/java/com/turkraft/springfilter/openapi/springdoc/PageSortParameterCustomizer.java
index 921c413..56a4768 100644
--- a/openapi/src/main/java/com/turkraft/springfilter/openapi/springdoc/PageSortParameterCustomizer.java
+++ b/openapi/src/main/java/com/turkraft/springfilter/openapi/springdoc/PageSortParameterCustomizer.java
@@ -57,7 +57,7 @@ public Operation customize(@Nullable Operation operation, @Nullable HandlerMetho
try {
Class> sortAnnotation = Class.forName("com.turkraft.springfilter.boot.Sort");
- Class> pageAnnotation = Class.forName("com.turkraft.springfilter.boot.Page");
+ Class> pageAnnotation = Class.forName("com.turkraft.springfilter.boot.Pagination");
Object sort = parameter.getAnnotation((Class) sortAnnotation);
Object page = parameter.getAnnotation((Class) pageAnnotation);
diff --git a/openapi/src/test/java/com/turkraft/springfilter/openapi/PageSortParameterCustomizerTest.java b/openapi/src/test/java/com/turkraft/springfilter/openapi/PageSortParameterCustomizerTest.java
index 3ef1761..0cc0966 100644
--- a/openapi/src/test/java/com/turkraft/springfilter/openapi/PageSortParameterCustomizerTest.java
+++ b/openapi/src/test/java/com/turkraft/springfilter/openapi/PageSortParameterCustomizerTest.java
@@ -8,7 +8,7 @@
import static org.mockito.Mockito.when;
import com.turkraft.springfilter.boot.Fields;
-import com.turkraft.springfilter.boot.Page;
+import com.turkraft.springfilter.boot.Pagination;
import com.turkraft.springfilter.boot.Sort;
import com.turkraft.springfilter.openapi.introspection.EntityIntrospector;
import com.turkraft.springfilter.openapi.springdoc.PageSortParameterCustomizer;
@@ -357,18 +357,18 @@ public String withSortAnnotation(@Sort(parameter = "customSort", required = true
}
@GetMapping("/page")
- public String withPage(@Page Pageable page) {
+ public String withPage(@Pagination Pageable page) {
return "ok";
}
@GetMapping("/page-annotation")
public String withPageAnnotation(
- @Page(pageParameter = "p", sizeParameter = "s", sortParameter = "order", defaultPage = 1, defaultSize = 50, maxSize = 200) Pageable page) {
+ @Pagination(pageParameter = "p", sizeParameter = "s", sortParameter = "order", defaultPage = 1, defaultSize = 50, maxSize = 200) Pageable page) {
return "ok";
}
@GetMapping("/page-no-sort")
- public String withPageNoSort(@Page(enableSort = false) Pageable page) {
+ public String withPageNoSort(@Pagination(enableSort = false) Pageable page) {
return "ok";
}
@@ -388,7 +388,7 @@ public String withFieldsAnnotation() {
@GetMapping("/all")
public String withAllAnnotations(
@Sort org.springframework.data.domain.Sort sort,
- @Page Pageable page) {
+ @Pagination Pageable page) {
return "ok";
}
diff --git a/page-sort/src/main/java/com/turkraft/springfilter/boot/PageArgumentResolver.java b/page-sort/src/main/java/com/turkraft/springfilter/boot/PageArgumentResolver.java
index 050621f..1173c22 100644
--- a/page-sort/src/main/java/com/turkraft/springfilter/boot/PageArgumentResolver.java
+++ b/page-sort/src/main/java/com/turkraft/springfilter/boot/PageArgumentResolver.java
@@ -21,7 +21,7 @@ public PageArgumentResolver(SortParser sortParser) {
@Override
public boolean supportsParameter(MethodParameter parameter) {
- return parameter.hasParameterAnnotation(Page.class)
+ return parameter.hasParameterAnnotation(Pagination.class)
&& Pageable.class.isAssignableFrom(parameter.getParameterType());
}
@@ -30,9 +30,9 @@ public Object resolveArgument(MethodParameter parameter,
ModelAndViewContainer mavContainer, NativeWebRequest webRequest,
WebDataBinderFactory binderFactory) {
- Page pageAnnotation = parameter.getParameterAnnotation(Page.class);
+ Pagination pageAnnotation = parameter.getParameterAnnotation(Pagination.class);
if (pageAnnotation == null) {
- return PageRequest.of(Page.DEFAULT_PAGE, Page.DEFAULT_SIZE);
+ return PageRequest.of(Pagination.DEFAULT_PAGE, Pagination.DEFAULT_SIZE);
}
String pageParam = webRequest.getParameter(pageAnnotation.pageParameter());
diff --git a/page-sort/src/main/java/com/turkraft/springfilter/boot/Page.java b/page-sort/src/main/java/com/turkraft/springfilter/boot/Pagination.java
similarity index 96%
rename from page-sort/src/main/java/com/turkraft/springfilter/boot/Page.java
rename to page-sort/src/main/java/com/turkraft/springfilter/boot/Pagination.java
index b372ab8..92ae738 100644
--- a/page-sort/src/main/java/com/turkraft/springfilter/boot/Page.java
+++ b/page-sort/src/main/java/com/turkraft/springfilter/boot/Pagination.java
@@ -7,7 +7,7 @@
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
-public @interface Page {
+public @interface Pagination {
String DEFAULT_PAGE_PARAMETER = "page";
diff --git a/page-sort/src/test/java/com/turkraft/springfilter/boot/PageArgumentResolverTest.java b/page-sort/src/test/java/com/turkraft/springfilter/boot/PageArgumentResolverTest.java
index d7ebfb0..6019da4 100644
--- a/page-sort/src/test/java/com/turkraft/springfilter/boot/PageArgumentResolverTest.java
+++ b/page-sort/src/test/java/com/turkraft/springfilter/boot/PageArgumentResolverTest.java
@@ -28,7 +28,7 @@ void setUp() {
@Test
void testSupportsParameterWithPageAnnotation() {
- when(parameter.hasParameterAnnotation(Page.class)).thenReturn(true);
+ when(parameter.hasParameterAnnotation(Pagination.class)).thenReturn(true);
when(parameter.getParameterType()).thenReturn((Class) Pageable.class);
assertTrue(resolver.supportsParameter(parameter));
@@ -36,14 +36,14 @@ void testSupportsParameterWithPageAnnotation() {
@Test
void testSupportsParameterWithoutPageAnnotation() {
- when(parameter.hasParameterAnnotation(Page.class)).thenReturn(false);
+ when(parameter.hasParameterAnnotation(Pagination.class)).thenReturn(false);
assertFalse(resolver.supportsParameter(parameter));
}
@Test
void testSupportsParameterWithWrongType() {
- when(parameter.hasParameterAnnotation(Page.class)).thenReturn(true);
+ when(parameter.hasParameterAnnotation(Pagination.class)).thenReturn(true);
when(parameter.getParameterType()).thenReturn((Class) String.class);
assertFalse(resolver.supportsParameter(parameter));
@@ -51,9 +51,9 @@ void testSupportsParameterWithWrongType() {
@Test
void testResolveArgumentWithDefaults() throws Exception {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn(null);
when(webRequest.getParameter("size")).thenReturn(null);
when(webRequest.getParameter("sort")).thenReturn(null);
@@ -68,9 +68,9 @@ void testResolveArgumentWithDefaults() throws Exception {
@Test
void testResolveArgumentWithCustomPageAndSize() throws Exception {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("2");
when(webRequest.getParameter("size")).thenReturn("50");
when(webRequest.getParameter("sort")).thenReturn(null);
@@ -85,9 +85,9 @@ void testResolveArgumentWithCustomPageAndSize() throws Exception {
@Test
void testResolveArgumentWithSort() throws Exception {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("0");
when(webRequest.getParameter("size")).thenReturn("20");
when(webRequest.getParameter("sort")).thenReturn("name");
@@ -106,9 +106,9 @@ void testResolveArgumentWithSort() throws Exception {
@Test
void testResolveArgumentWithDescendingSort() throws Exception {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("1");
when(webRequest.getParameter("size")).thenReturn("10");
when(webRequest.getParameter("sort")).thenReturn("-createdAt");
@@ -127,9 +127,9 @@ void testResolveArgumentWithDescendingSort() throws Exception {
@Test
void testResolveArgumentWithMultipleSortFields() throws Exception {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("0");
when(webRequest.getParameter("size")).thenReturn("20");
when(webRequest.getParameter("sort")).thenReturn("-year,name");
@@ -151,9 +151,9 @@ void testResolveArgumentWithMultipleSortFields() throws Exception {
@Test
void testResolveArgumentWithCustomParameterNames() throws Exception {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"p", "s", "order", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("p")).thenReturn("3");
when(webRequest.getParameter("s")).thenReturn("15");
when(webRequest.getParameter("order")).thenReturn("name");
@@ -168,9 +168,9 @@ void testResolveArgumentWithCustomParameterNames() throws Exception {
@Test
void testResolveArgumentThrowsOnNegativePage() {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("-1");
assertThrows(IllegalArgumentException.class,
@@ -179,9 +179,9 @@ void testResolveArgumentThrowsOnNegativePage() {
@Test
void testResolveArgumentThrowsOnZeroSize() {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("0");
when(webRequest.getParameter("size")).thenReturn("0");
@@ -191,9 +191,9 @@ void testResolveArgumentThrowsOnZeroSize() {
@Test
void testResolveArgumentThrowsOnNegativeSize() {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("0");
when(webRequest.getParameter("size")).thenReturn("-10");
@@ -203,9 +203,9 @@ void testResolveArgumentThrowsOnNegativeSize() {
@Test
void testResolveArgumentThrowsOnSizeExceedingMax() {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("0");
when(webRequest.getParameter("size")).thenReturn("200");
@@ -215,9 +215,9 @@ void testResolveArgumentThrowsOnSizeExceedingMax() {
@Test
void testResolveArgumentThrowsOnInvalidPageNumber() {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("invalid");
assertThrows(IllegalArgumentException.class,
@@ -226,9 +226,9 @@ void testResolveArgumentThrowsOnInvalidPageNumber() {
@Test
void testResolveArgumentThrowsOnInvalidSize() {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("0");
when(webRequest.getParameter("size")).thenReturn("invalid");
@@ -238,9 +238,9 @@ void testResolveArgumentThrowsOnInvalidSize() {
@Test
void testResolveArgumentWithSortDisabled() throws Exception {
- Page pageAnnotation = createPageAnnotation(
+ Pagination pageAnnotation = createPageAnnotation(
"page", "size", "sort", 0, 20, 100, 10, false);
- when(parameter.getParameterAnnotation(Page.class)).thenReturn(pageAnnotation);
+ when(parameter.getParameterAnnotation(Pagination.class)).thenReturn(pageAnnotation);
when(webRequest.getParameter("page")).thenReturn("1");
when(webRequest.getParameter("size")).thenReturn("10");
when(webRequest.getParameter("sort")).thenReturn("name");
@@ -253,20 +253,20 @@ void testResolveArgumentWithSortDisabled() throws Exception {
assertFalse(result.getSort().isSorted());
}
- private Page createPageAnnotation(
+ private Pagination createPageAnnotation(
String pageParam, String sizeParam, String sortParam,
int defaultPage, int defaultSize, int maxSize, int sortMaxFields) {
return createPageAnnotation(pageParam, sizeParam, sortParam,
defaultPage, defaultSize, maxSize, sortMaxFields, true);
}
- private Page createPageAnnotation(
+ private Pagination createPageAnnotation(
String pageParam, String sizeParam, String sortParam,
int defaultPage, int defaultSize, int maxSize, int sortMaxFields, boolean enableSort) {
- return new Page() {
+ return new Pagination() {
@Override
- public Class annotationType() {
- return Page.class;
+ public Class annotationType() {
+ return Pagination.class;
}
@Override