From 3f47f73012ea5bf62afc8b939dff2b9009533173 Mon Sep 17 00:00:00 2001 From: Jan Wedding Date: Tue, 14 Jan 2025 16:44:00 +0100 Subject: [PATCH] try generating a RangeFilter supporting custom filter --- generators/server/support/build-specification-mapper.ts | 2 ++ generators/spring-boot/generator.ts | 4 ++++ .../service/criteria/_entityClass_Criteria.java.ejs | 9 +++++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/generators/server/support/build-specification-mapper.ts b/generators/server/support/build-specification-mapper.ts index 269a9a94ae16..baded7214986 100644 --- a/generators/server/support/build-specification-mapper.ts +++ b/generators/server/support/build-specification-mapper.ts @@ -12,6 +12,7 @@ const { ZONED_DATE_TIME: TYPE_ZONED_DATE_TIME, INSTANT: TYPE_INSTANT, DURATION: TYPE_DURATION, + LOCAL_TIME: TYPE_LOCAL_TIME, } = fieldTypes.CommonDBTypes; /** @@ -30,6 +31,7 @@ export const getSpecificationBuildForType = (fieldType: FieldType) => { TYPE_ZONED_DATE_TIME, TYPE_INSTANT, TYPE_DURATION, + TYPE_LOCAL_TIME, ].includes(fieldType) ) { return 'buildRangeSpecification'; diff --git a/generators/spring-boot/generator.ts b/generators/spring-boot/generator.ts index 8ffe091f742a..bab435c6f208 100644 --- a/generators/spring-boot/generator.ts +++ b/generators/spring-boot/generator.ts @@ -382,6 +382,10 @@ public void set${javaBeanCase(propertyName)}(${propertyType} ${propertyName}) { field.fieldTypeBoolean ) { field.propertyJavaFilterType = `${fieldType}Filter`; + } else if (field.fieldTypeLocalTime) { + const filterType = `${fieldType}Filter`; + field.propertyJavaFilterType = filterType; + field.propertyJavaCustomFilter = { type: filterType, superType: `RangeFilter<${fieldType}>`, fieldType }; } else { field.propertyJavaFilterType = `Filter<${fieldType}>`; } diff --git a/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/criteria/_entityClass_Criteria.java.ejs b/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/criteria/_entityClass_Criteria.java.ejs index e864ee46380a..2acc6209e03a 100644 --- a/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/criteria/_entityClass_Criteria.java.ejs +++ b/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/criteria/_entityClass_Criteria.java.ejs @@ -7,9 +7,14 @@ import java.util.function.BiFunction; import org.springdoc.core.annotations.ParameterObject; import tech.jhipster.service.Criteria; -<%_ for (const field of fields) { if (field.fieldIsEnum === true) { _%> +<%_ for (const field of fields) { _%> +<%_ if (field.fieldIsEnum === true) { _%> import <%- entityAbsolutePackage %>.domain.enumeration.<%- field.fieldType %>; -<%_ } } _%> +<%_ } _%> +<%_ } _%> +<%_ if (anyFieldIsLocalTime) { _%> +import java.time.LocalTime; +<%_ } _%> import tech.jhipster.service.filter.*; /**