Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 97a06bf

Browse files
committed
Cleanup Code
- Remove redundancy
1 parent 822e66f commit 97a06bf

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

grails-datastore-gorm-hibernate5/src/main/groovy/org/grails/orm/hibernate/query/GrailsHibernateQueryUtils.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.grails.orm.hibernate.query;
22

3+
import org.grails.datastore.mapping.config.Property;
34
import org.grails.datastore.mapping.reflect.ClassUtils;
45
import org.grails.orm.hibernate.cfg.AbstractGrailsDomainBinder;
56
import org.grails.orm.hibernate.cfg.Mapping;
@@ -274,24 +275,20 @@ private static void addOrderPossiblyNested(CriteriaQuery query,
274275
boolean ignoreCase) {
275276
int firstDotPos = sort.indexOf(".");
276277
if (firstDotPos == -1) {
277-
PersistentProperty property = entity.getPropertyByName(sort);
278-
if (ignoreCase && property != null && property.getType() != String.class) {
279-
ignoreCase = false;
280-
}
278+
final PersistentProperty<? extends Property> property = entity.getPropertyByName(sort);
279+
ignoreCase = isIgnoreCaseProperty(ignoreCase, property);
281280
addOrder(entity, query, queryRoot, criteriaBuilder, sort, order, ignoreCase);
282281
} else { // nested property
283282
String sortHead = sort.substring(0, firstDotPos);
284283
String sortTail = sort.substring(firstDotPos + 1);
285-
PersistentProperty property = entity.getPropertyByName(sortHead);
284+
final PersistentProperty<? extends Property> property = entity.getPropertyByName(sortHead);
286285
if (property instanceof Embedded) {
287286
// embedded objects cannot reference entities (at time of writing), so no more recursion needed
288-
PersistentProperty associatedProperty = ((Embedded<?>) property).getAssociatedEntity().getPropertyByName(sortTail);
289-
if (ignoreCase && associatedProperty != null && associatedProperty.getType() != String.class) {
290-
ignoreCase = false;
291-
}
287+
final PersistentProperty<? extends Property> associatedProperty = ((Embedded<?>) property).getAssociatedEntity().getPropertyByName(sortTail);
288+
ignoreCase = isIgnoreCaseProperty(ignoreCase, associatedProperty);
292289
addOrder(entity, query, queryRoot, criteriaBuilder, sort, order, ignoreCase);
293290
} else if (property instanceof Association) {
294-
Association a = (Association) property;
291+
final Association<? extends Property> a = (Association<? extends Property>) property;
295292
final Join join = queryRoot.join(sortHead);
296293
PersistentEntity associatedEntity = a.getAssociatedEntity();
297294
Class<?> propertyTargetClass = associatedEntity.getJavaClass();
@@ -300,6 +297,13 @@ private static void addOrderPossiblyNested(CriteriaQuery query,
300297
}
301298
}
302299

300+
private static boolean isIgnoreCaseProperty(boolean ignoreCase, PersistentProperty<? extends Property> persistentProperty) {
301+
if (ignoreCase && persistentProperty != null && persistentProperty.getType() != String.class) {
302+
ignoreCase = false;
303+
}
304+
return ignoreCase;
305+
}
306+
303307
/**
304308
* Add order directly to criteria.
305309
*/

0 commit comments

Comments
 (0)