Skip to content

Commit 14e0f12

Browse files
committed
deal with more casts
Signed-off-by: Gavin King <[email protected]>
1 parent dd03602 commit 14e0f12

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

hibernate-core/src/main/java/org/hibernate/query/sqm/internal/QuerySqmImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@
6363
import org.hibernate.query.spi.QueryParameterBindings;
6464
import org.hibernate.query.spi.ScrollableResultsImplementor;
6565
import org.hibernate.query.spi.SelectQueryPlan;
66-
import org.hibernate.query.sqm.SqmPathSource;
6766
import org.hibernate.query.sqm.internal.SqmInterpretationsKey.InterpretationsKeySource;
6867
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy;
6968
import org.hibernate.query.sqm.spi.NamedSqmQueryMemento;

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmSelectStatement.java

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package org.hibernate.query.sqm.tree.select;
66

7-
import java.util.Collections;
87
import java.util.LinkedHashSet;
98
import java.util.List;
109
import java.util.Map;
@@ -40,6 +39,8 @@
4039
import jakarta.persistence.criteria.Selection;
4140
import jakarta.persistence.metamodel.EntityType;
4241

42+
import static java.util.Collections.emptySet;
43+
import static java.util.Collections.unmodifiableSet;
4344
import static org.hibernate.query.sqm.spi.SqmCreationHelper.combinePredicates;
4445
import static org.hibernate.query.sqm.SqmQuerySource.CRITERIA;
4546
import static org.hibernate.query.sqm.tree.SqmCopyContext.noParamCopyContext;
@@ -168,8 +169,8 @@ public SqmQuerySource getQuerySource() {
168169
public SqmQuerySpec<T> getQuerySpec() {
169170
if ( querySource == CRITERIA ) {
170171
final SqmQueryPart<T> queryPart = getQueryPart();
171-
if ( queryPart instanceof SqmQuerySpec<?> ) {
172-
return (SqmQuerySpec<T>) queryPart;
172+
if ( queryPart instanceof SqmQuerySpec<T> querySpec ) {
173+
return querySpec;
173174
}
174175
throw new IllegalStateException(
175176
"Query group can't be treated as query spec. Use JpaSelectCriteria#getQueryPart to access query group details"
@@ -185,8 +186,8 @@ public boolean producesUniqueResults() {
185186
}
186187

187188
private boolean producesUniqueResults(SqmQueryPart<?> queryPart) {
188-
if ( queryPart instanceof SqmQuerySpec<?> ) {
189-
return ( (SqmQuerySpec<?>) queryPart ).producesUniqueResults();
189+
if ( queryPart instanceof SqmQuerySpec<?> querySpec ) {
190+
return querySpec.producesUniqueResults();
190191
}
191192
else {
192193
// For query groups we have to assume that duplicates are possible
@@ -199,29 +200,33 @@ public boolean containsCollectionFetches() {
199200
}
200201

201202
private boolean containsCollectionFetches(SqmQueryPart<?> queryPart) {
202-
if ( queryPart instanceof SqmQuerySpec<?> ) {
203-
return ( (SqmQuerySpec<?>) queryPart ).containsCollectionFetches();
203+
if ( queryPart instanceof SqmQuerySpec<?> querySpec ) {
204+
return querySpec.containsCollectionFetches();
204205
}
205-
else {
206+
else if ( queryPart instanceof SqmQueryGroup<?> queryGroup ) {
206207
// We only have to check the first one
207-
final SqmQueryGroup<?> queryGroup = (SqmQueryGroup<?>) queryPart;
208208
return containsCollectionFetches( queryGroup.getQueryParts().get( 0 ) );
209209
}
210+
else {
211+
throw new IllegalStateException("No SqmQueryPart");
212+
}
210213
}
211214

212215
public boolean usesDistinct() {
213216
return usesDistinct( getQueryPart() );
214217
}
215218

216219
private boolean usesDistinct(SqmQueryPart<?> queryPart) {
217-
if ( queryPart instanceof SqmQuerySpec<?> ) {
218-
return ( (SqmQuerySpec<?>) queryPart ).getSelectClause().isDistinct();
220+
if ( queryPart instanceof SqmQuerySpec<?> querySpec ) {
221+
return querySpec.getSelectClause().isDistinct();
219222
}
220-
else {
223+
else if ( queryPart instanceof SqmQueryGroup<?> queryGroup ) {
221224
// We only have to check the first one
222-
final SqmQueryGroup<?> queryGroup = (SqmQueryGroup<?>) queryPart;
223225
return usesDistinct( queryGroup.getQueryParts().get( 0 ) );
224226
}
227+
else {
228+
throw new IllegalStateException("No SqmQueryPart");
229+
}
225230
}
226231

227232
@Override
@@ -230,8 +235,9 @@ public Set<SqmParameter<?>> getSqmParameters() {
230235
assert parameters == null : "SqmSelectStatement (as Criteria) should not have collected parameters";
231236
return collectParameters( this );
232237
}
233-
234-
return parameters == null ? Collections.emptySet() : Collections.unmodifiableSet( parameters );
238+
else {
239+
return parameters == null ? emptySet() : unmodifiableSet( parameters );
240+
}
235241
}
236242

237243
@Override
@@ -249,7 +255,6 @@ public void addParameter(SqmParameter<?> parameter) {
249255
if ( parameters == null ) {
250256
parameters = new LinkedHashSet<>();
251257
}
252-
253258
parameters.add( parameter );
254259
}
255260

@@ -269,7 +274,8 @@ protected <X> JpaCteCriteria<X> withInternal(
269274
String name,
270275
AbstractQuery<X> baseCriteria,
271276
boolean unionDistinct,
272-
Function<JpaCteCriteria<X>, AbstractQuery<X>> recursiveCriteriaProducer) {
277+
Function<JpaCteCriteria<X>,
278+
AbstractQuery<X>> recursiveCriteriaProducer) {
273279
if ( baseCriteria instanceof SqmSubQuery<?> ) {
274280
throw new IllegalArgumentException(
275281
"Invalid query type provided to root query 'with' method, " +

0 commit comments

Comments
 (0)