@@ -118,8 +118,7 @@ private static List<Predicate> getPredicates(CriteriaQuery<?> query, CriteriaBui
118
118
} else if (Comparable .class .isAssignableFrom (attribute .getJavaType ())) {
119
119
predicate = cb .greaterThan (exprPath , (Comparable ) attributeValue );
120
120
} else {
121
- throw new IllegalArgumentException ("field should be Number or Comparable: " +
122
- singularExpression );
121
+ throw new IllegalArgumentException ("field should be Number or Comparable: " + singularExpression );
123
122
}
124
123
break ;
125
124
case $gte :
@@ -128,8 +127,7 @@ private static List<Predicate> getPredicates(CriteriaQuery<?> query, CriteriaBui
128
127
} else if (Comparable .class .isAssignableFrom (attribute .getJavaType ())) {
129
128
predicate = cb .greaterThanOrEqualTo (exprPath , (Comparable ) attributeValue );
130
129
} else {
131
- throw new IllegalArgumentException ("field should be Number or Comparable: " +
132
- singularExpression );
130
+ throw new IllegalArgumentException ("field should be Number or Comparable: " + singularExpression );
133
131
}
134
132
break ;
135
133
case $lt :
@@ -138,8 +136,7 @@ private static List<Predicate> getPredicates(CriteriaQuery<?> query, CriteriaBui
138
136
} else if (Comparable .class .isAssignableFrom (attribute .getJavaType ())) {
139
137
predicate = cb .lessThan (exprPath , (Comparable ) attributeValue );
140
138
} else {
141
- throw new IllegalArgumentException ("field should be Number or Comparable: " +
142
- singularExpression );
139
+ throw new IllegalArgumentException ("field should be Number or Comparable: " + singularExpression );
143
140
}
144
141
break ;
145
142
case $lte :
@@ -148,8 +145,7 @@ private static List<Predicate> getPredicates(CriteriaQuery<?> query, CriteriaBui
148
145
} else if (Comparable .class .isAssignableFrom (attribute .getJavaType ())) {
149
146
predicate = cb .lessThanOrEqualTo (exprPath , (Comparable ) attributeValue );
150
147
} else {
151
- throw new IllegalArgumentException ("field should be Number or Comparable: " +
152
- singularExpression );
148
+ throw new IllegalArgumentException ("field should be Number or Comparable: " + singularExpression );
153
149
}
154
150
break ;
155
151
// like
@@ -214,9 +210,7 @@ private static List<Predicate> getPredicates(CriteriaQuery<?> query, CriteriaBui
214
210
List <Object > attributeValues = convertValueToAttributeType (listExpression .values , attribute .getJavaType ());
215
211
216
212
Predicate predicate ;
217
-
218
213
switch (listExpression .operator ) {
219
-
220
214
// in
221
215
case $in :
222
216
CriteriaBuilder .In in = cb .in (exprPath );
@@ -233,7 +227,6 @@ private static List<Predicate> getPredicates(CriteriaQuery<?> query, CriteriaBui
233
227
}
234
228
predicates .add (predicate );
235
229
236
-
237
230
} else if (expression instanceof OrExpression ) {
238
231
predicates .add (cb .or (
239
232
getPredicates (query , cb , from , type ,
@@ -281,8 +274,8 @@ private static ManagedType<?> extractSubFieldType(Attribute<?, ?> attribute) {
281
274
282
275
private static String extractField (String field ) {
283
276
return field .contains ("." ) ? field .split ("\\ ." )[0 ]
284
- .replaceAll ("^[<>]+" , "" ) // remove '<' and '>' at start
285
- .replaceAll ("\\ ?$" , "" ) // remove '?' at end
277
+ .replaceAll ("^[<>]+" , "" ) // remove '<' and '>' at start (left/right join indicators)
278
+ .replaceAll ("\\ ?$" , "" ) // remove '?' at end (left join indicators - optional chaining operator)
286
279
: field ;
287
280
}
288
281
@@ -293,7 +286,7 @@ private static SubField extractSubField(String field) {
293
286
294
287
JoinType joinType = mainField .startsWith ("<" ) || mainField .endsWith ("?" ) ? JoinType .LEFT // <abc or abc?
295
288
: mainField .startsWith (">" ) ? JoinType .RIGHT // >abc
296
- : JoinType .INNER ; //// abc
289
+ : JoinType .INNER ; // abc
297
290
return new SubField (subField , joinType );
298
291
}
299
292
0 commit comments