diff --git a/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoCrudService.java b/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoCrudService.java index 160fe94d89..d9e5c7bfdc 100644 --- a/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoCrudService.java +++ b/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoCrudService.java @@ -25,7 +25,7 @@ public ProductDtoCrudService(ProductRepository productRepository, JpaFilterConve } @Override - public List list(Pageable pageable, Filter filter) { + public List list(Pageable pageable, @Nullable Filter filter) { // Basic list implementation that only covers pagination, // but not sorting or filtering Page products = productRepository.findAll(pageable); diff --git a/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoListService.java b/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoListService.java index a6b9555ff1..adb5de6e57 100644 --- a/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoListService.java +++ b/src/main/java/com/vaadin/demo/fusion/crud/ProductDtoListService.java @@ -2,6 +2,7 @@ import com.vaadin.flow.server.auth.AnonymousAllowed; import dev.hilla.BrowserCallable; +import dev.hilla.Nullable; import dev.hilla.crud.JpaFilterConverter; import dev.hilla.crud.ListService; import dev.hilla.crud.filter.Filter; @@ -24,9 +25,11 @@ public ProductDtoListService(ProductRepository productRepository, JpaFilterConve } @Override - public List list(Pageable pageable, Filter filter) { + public List list(Pageable pageable, @Nullable Filter filter) { // Use the Hilla JpaFilterConverter to create a JPA specification from the filter - Specification spec = jpaFilterConverter.toSpec(filter, Product.class); + Specification spec = filter != null + ? jpaFilterConverter.toSpec(filter, Product.class) + : Specification.anyOf(); // Query the JPA repository Page products = productRepository.findAll(spec, pageable); // Map entities to DTOs and return result