mirror of
https://github.com/dalbodeule/snap-admin.git
synced 2025-06-09 05:48:20 +00:00
Better error handling of null values in faceted search
This commit is contained in:
parent
bb3f9e7bcb
commit
83e9766eb0
@ -153,11 +153,14 @@ public class CustomJpaRepository extends SimpleJpaRepository {
|
|||||||
String fieldName = dbField.getJavaName();
|
String fieldName = dbField.getJavaName();
|
||||||
String v = filter.getValue();
|
String v = filter.getValue();
|
||||||
|
|
||||||
Object value;
|
Object value = null;
|
||||||
try {
|
|
||||||
value = dbField.getType().parseValue(v);
|
if (!v.isBlank()) {
|
||||||
} catch (Exception e) {
|
try {
|
||||||
throw new DbAdminException("Invalid value `" + v + "` specified for field `" + dbField.getName() + "`");
|
value = dbField.getType().parseValue(v);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new DbAdminException("Invalid value `" + v + "` specified for field `" + dbField.getName() + "`");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (op == CompareOperator.STRING_EQ) {
|
if (op == CompareOperator.STRING_EQ) {
|
||||||
@ -166,21 +169,24 @@ public class CustomJpaRepository extends SimpleJpaRepository {
|
|||||||
else
|
else
|
||||||
finalPredicates.add(cb.equal(cb.lower(cb.toString(root.get(fieldName))), value.toString().toLowerCase()));
|
finalPredicates.add(cb.equal(cb.lower(cb.toString(root.get(fieldName))), value.toString().toLowerCase()));
|
||||||
} else if (op == CompareOperator.CONTAINS) {
|
} else if (op == CompareOperator.CONTAINS) {
|
||||||
finalPredicates.add(
|
if (value != null)
|
||||||
cb.like(cb.lower(cb.toString(root.get(fieldName))), "%" + value.toString().toLowerCase() + "%")
|
finalPredicates.add(
|
||||||
);
|
cb.like(cb.lower(cb.toString(root.get(fieldName))), "%" + value.toString().toLowerCase() + "%")
|
||||||
|
);
|
||||||
} else if (op == CompareOperator.EQ) {
|
} else if (op == CompareOperator.EQ) {
|
||||||
finalPredicates.add(
|
finalPredicates.add(
|
||||||
cb.equal(root.get(fieldName), value)
|
cb.equal(root.get(fieldName), value)
|
||||||
);
|
);
|
||||||
} else if (op == CompareOperator.GT) {
|
} else if (op == CompareOperator.GT) {
|
||||||
finalPredicates.add(
|
if (value != null)
|
||||||
cb.greaterThan(root.get(fieldName), value.toString())
|
finalPredicates.add(
|
||||||
);
|
cb.greaterThan(root.get(fieldName), value.toString())
|
||||||
|
);
|
||||||
} else if (op == CompareOperator.LT) {
|
} else if (op == CompareOperator.LT) {
|
||||||
finalPredicates.add(
|
if (value != null)
|
||||||
cb.lessThan(root.get(fieldName), value.toString())
|
finalPredicates.add(
|
||||||
);
|
cb.lessThan(root.get(fieldName), value.toString())
|
||||||
|
);
|
||||||
} else if (op == CompareOperator.AFTER) {
|
} else if (op == CompareOperator.AFTER) {
|
||||||
if (value instanceof LocalDate)
|
if (value instanceof LocalDate)
|
||||||
finalPredicates.add(
|
finalPredicates.add(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user