Skip to content

Commit 7af1fc0

Browse files
gavinkingDavideD
authored andcommitted
fix up some unchecked casts and other warnings
1 parent 9b6289d commit 7af1fc0

File tree

6 files changed

+81
-66
lines changed

6 files changed

+81
-66
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveAbstractPersisterDelegate.java

+47-31
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.hibernate.generator.values.GeneratedValues;
2525
import org.hibernate.id.IdentityGenerator;
2626
import org.hibernate.loader.ast.spi.BatchLoaderFactory;
27+
import org.hibernate.loader.ast.spi.EntityBatchLoader;
2728
import org.hibernate.loader.ast.spi.MultiIdLoadOptions;
2829
import org.hibernate.mapping.PersistentClass;
2930
import org.hibernate.mapping.Property;
@@ -80,11 +81,11 @@ public class ReactiveAbstractPersisterDelegate {
8081

8182
private static final Log LOG = LoggerFactory.make( Log.class, MethodHandles.lookup() );
8283

83-
private final Supplier<ReactiveSingleIdEntityLoader<Object>> singleIdEntityLoaderSupplier;
84-
private final Supplier<ReactiveMultiIdEntityLoader<Object>> multiIdEntityLoaderSupplier;
84+
private final Supplier<ReactiveSingleIdEntityLoader<?>> singleIdEntityLoaderSupplier;
85+
private final Supplier<ReactiveMultiIdEntityLoader<?>> multiIdEntityLoaderSupplier;
8586

86-
private ReactiveSingleIdEntityLoader<Object> singleIdEntityLoader;
87-
private ReactiveMultiIdEntityLoader<Object> multiIdEntityLoader;
87+
private ReactiveSingleIdEntityLoader<?> singleIdEntityLoader;
88+
private ReactiveMultiIdEntityLoader<?> multiIdEntityLoader;
8889

8990
private final EntityPersister entityDescriptor;
9091

@@ -100,12 +101,12 @@ public ReactiveAbstractPersisterDelegate(
100101
entityDescriptor = entityPersister;
101102
}
102103

103-
public ReactiveSingleIdEntityLoader<Object> buildSingleIdEntityLoader() {
104+
public ReactiveSingleIdEntityLoader<?> buildSingleIdEntityLoader() {
104105
singleIdEntityLoader = singleIdEntityLoaderSupplier.get();
105106
return singleIdEntityLoader;
106107
}
107108

108-
public ReactiveMultiIdEntityLoader<Object> buildMultiIdEntityLoader() {
109+
public ReactiveMultiIdEntityLoader<?> buildMultiIdEntityLoader() {
109110
multiIdEntityLoader = multiIdEntityLoaderSupplier.get();
110111
return multiIdEntityLoader;
111112
}
@@ -134,45 +135,58 @@ private static ReactiveMultiIdEntityLoader<Object> buildMultiIdEntityLoader(
134135
PersistentClass persistentClass,
135136
SessionFactoryImplementor factory) {
136137
return entityDescriptor.getIdentifierType() instanceof BasicType
137-
&& supportsSqlArrayType( factory.getJdbcServices().getDialect() )
138+
&& supportsSqlArrayType( factory.getJdbcServices().getDialect() )
138139
? new ReactiveMultiIdEntityLoaderArrayParam<>( entityDescriptor, factory )
139140
: new ReactiveMultiIdEntityLoaderStandard<>( entityDescriptor, persistentClass, factory );
140141
}
141142

142-
private static ReactiveSingleIdEntityLoader<Object> buildSingleIdEntityLoader(
143+
private static ReactiveSingleIdEntityLoader<?> buildSingleIdEntityLoader(
143144
EntityPersister entityDescriptor,
144145
PersistentClass bootDescriptor,
145146
RuntimeModelCreationContext creationContext,
146147
SessionFactoryImplementor factory,
147148
String entityName) {
148149
if ( bootDescriptor.getLoaderName() != null ) {
149150
// We must resolve the named query on-demand through the boot model because it isn't initialized yet
150-
final NamedQueryMemento namedQueryMemento = factory.getQueryEngine().getNamedObjectRepository()
151-
.resolve( factory, creationContext.getBootModel(), bootDescriptor.getLoaderName() );
152-
if ( namedQueryMemento == null ) {
153-
throw new IllegalArgumentException( "Could not resolve named load-query [" + entityName + "] : " + bootDescriptor.getLoaderName() );
154-
}
151+
final NamedQueryMemento<?> namedQueryMemento =
152+
getNamedQueryMemento( bootDescriptor, creationContext, factory, entityName );
155153
return new ReactiveSingleIdEntityLoaderProvidedQueryImpl<>( entityDescriptor, namedQueryMemento );
156154
}
157-
158-
LoadQueryInfluencers loadQueryInfluencers = new LoadQueryInfluencers( factory );
159-
if ( loadQueryInfluencers.effectivelyBatchLoadable( entityDescriptor ) ) {
160-
final int batchSize = loadQueryInfluencers.effectiveBatchSize( entityDescriptor );
161-
if ( batchSize > 1 ) {
155+
else {
156+
final LoadQueryInfluencers loadQueryInfluencers = new LoadQueryInfluencers( factory );
157+
if ( loadQueryInfluencers.effectivelyBatchLoadable( entityDescriptor ) ) {
158+
final int batchSize = loadQueryInfluencers.effectiveBatchSize( entityDescriptor );
162159
return createBatchingIdEntityLoader( entityDescriptor, batchSize, factory );
163160
}
161+
else {
162+
return new ReactiveSingleIdEntityLoaderStandardImpl<>( entityDescriptor, loadQueryInfluencers );
163+
}
164164
}
165+
}
165166

166-
return new ReactiveSingleIdEntityLoaderStandardImpl<>( entityDescriptor, new LoadQueryInfluencers( factory ) );
167+
private static NamedQueryMemento<?> getNamedQueryMemento(
168+
PersistentClass bootDescriptor,
169+
RuntimeModelCreationContext creationContext,
170+
SessionFactoryImplementor factory,
171+
String entityName) {
172+
final NamedQueryMemento<?> namedQueryMemento =
173+
factory.getQueryEngine().getNamedObjectRepository()
174+
.resolve(factory, creationContext.getBootModel(), bootDescriptor.getLoaderName() );
175+
if ( namedQueryMemento == null ) {
176+
throw new IllegalArgumentException( "Could not resolve named query '" + bootDescriptor.getLoaderName()
177+
+ "' for loading entity '" + entityName + "'" );
178+
}
179+
return namedQueryMemento;
167180
}
168181

169-
private static ReactiveSingleIdEntityLoader<Object> createBatchingIdEntityLoader(
182+
private static <T> ReactiveSingleIdEntityLoader<?> createBatchingIdEntityLoader(
170183
EntityMappingType entityDescriptor,
171184
int domainBatchSize,
172185
SessionFactoryImplementor factory) {
173-
return (ReactiveSingleIdEntityLoader) factory.getServiceRegistry()
174-
.getService( BatchLoaderFactory.class )
175-
.createEntityBatchLoader( domainBatchSize, entityDescriptor, factory );
186+
final EntityBatchLoader<?> batchLoader =
187+
factory.getServiceRegistry().requireService( BatchLoaderFactory.class )
188+
.createEntityBatchLoader( domainBatchSize, entityDescriptor, factory );
189+
return (ReactiveSingleIdEntityLoader<?>) batchLoader;
176190
}
177191

178192
public CompletionStage<Void> processInsertGeneratedProperties(
@@ -235,7 +249,7 @@ protected ReactiveSingleUniqueKeyEntityLoader<Object> getReactiveUniqueKeyLoader
235249
);
236250
}
237251

238-
public CompletionStage<Object> load(
252+
public CompletionStage<?> load(
239253
EntityPersister persister,
240254
Object id,
241255
Object optionalObject,
@@ -254,7 +268,7 @@ public Generator reactive(Generator generator) {
254268
return generator instanceof IdentityGenerator ? new ReactiveIdentityGenerator() : generator;
255269
}
256270

257-
public CompletionStage<Object> loadEntityIdByNaturalId(
271+
public CompletionStage<?> loadEntityIdByNaturalId(
258272
Object[] orderedNaturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
259273
if ( LOG.isTraceEnabled() ) {
260274
LOG.tracef( "Resolving natural-id [%s] to id : %s ",
@@ -263,7 +277,7 @@ public CompletionStage<Object> loadEntityIdByNaturalId(
263277
);
264278
}
265279

266-
return ( (ReactiveNaturalIdLoader) entityDescriptor.getNaturalIdLoader() )
280+
return ( (ReactiveNaturalIdLoader<?>) entityDescriptor.getNaturalIdLoader() )
267281
.resolveNaturalIdToId( orderedNaturalIdValues, session );
268282
}
269283

@@ -322,13 +336,15 @@ public AttributeMapping buildPluralAttributeMapping(
322336
}
323337

324338
public EntityIdentifierMapping convertEntityIdentifierMapping(EntityIdentifierMapping entityIdentifierMapping) {
325-
if ( entityIdentifierMapping instanceof NonAggregatedIdentifierMappingImpl ) {
326-
return new ReactiveNonAggregatedIdentifierMappingImpl( (NonAggregatedIdentifierMappingImpl) entityIdentifierMapping );
339+
if ( entityIdentifierMapping instanceof NonAggregatedIdentifierMappingImpl nonAggregatedIdentifierMapping ) {
340+
return new ReactiveNonAggregatedIdentifierMappingImpl(nonAggregatedIdentifierMapping);
341+
}
342+
else if ( entityIdentifierMapping instanceof EmbeddedIdentifierMappingImpl embeddedIdentifierMapping ) {
343+
return new ReactiveEmbeddedIdentifierMappingImpl(embeddedIdentifierMapping);
327344
}
328-
if ( entityIdentifierMapping instanceof EmbeddedIdentifierMappingImpl ) {
329-
return new ReactiveEmbeddedIdentifierMappingImpl( (EmbeddedIdentifierMappingImpl) entityIdentifierMapping );
345+
else {
346+
return entityIdentifierMapping;
330347
}
331-
return entityIdentifierMapping;
332348
}
333349

334350
private static class ReactiveNonAggregatedIdentifierMappingImpl extends NonAggregatedIdentifierMappingImpl {

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveEntityPersister.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -94,37 +94,37 @@ <K> CompletionStage<? extends List<?>> reactiveMultiLoad(
9494
SharedSessionContractImplementor session,
9595
MultiIdLoadOptions loadOptions);
9696

97-
CompletionStage<Object> reactiveLoad(
97+
CompletionStage<?> reactiveLoad(
9898
Object id,
9999
Object optionalObject,
100100
LockMode lockMode,
101101
SharedSessionContractImplementor session);
102102

103-
CompletionStage<Object> reactiveLoad(
103+
CompletionStage<?> reactiveLoad(
104104
Object id,
105105
Object optionalObject,
106106
LockOptions lockOptions,
107107
SharedSessionContractImplementor session);
108108

109-
CompletionStage<Object> reactiveLoad(
109+
CompletionStage<?> reactiveLoad(
110110
Object id,
111111
Object optionalObject,
112112
LockOptions lockOptions,
113113
SharedSessionContractImplementor session,
114114
Boolean readOnly);
115115

116-
CompletionStage<Object> reactiveLoadByUniqueKey(
116+
CompletionStage<?> reactiveLoadByUniqueKey(
117117
String propertyName,
118118
Object uniqueKey,
119119
SharedSessionContractImplementor session);
120120

121-
CompletionStage<Object> reactiveLoadByUniqueKey(
121+
CompletionStage<?> reactiveLoadByUniqueKey(
122122
String propertyName,
123123
Object uniqueKey,
124124
Boolean readOnly,
125125
SharedSessionContractImplementor session);
126126

127-
CompletionStage<Object> reactiveLoadEntityIdByNaturalId(
127+
CompletionStage<?> reactiveLoadEntityIdByNaturalId(
128128
Object[] naturalIdValues,
129129
LockOptions lockOptions,
130130
SharedSessionContractImplementor session);

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveJoinedSubclassEntityPersister.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ protected SingleIdEntityLoader<?> buildSingleIdEntityLoader() {
8282
}
8383

8484
@Override
85-
protected MultiIdEntityLoader<Object> buildMultiIdLoader() {
85+
protected MultiIdEntityLoader<?> buildMultiIdLoader() {
8686
return reactiveDelegate.buildMultiIdEntityLoader();
8787
}
8888

@@ -312,7 +312,7 @@ protected Object initializeLazyPropertiesFromDatastore(Object entity, Object id,
312312
}
313313

314314
@Override
315-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockMode lockMode, SharedSessionContractImplementor session) {
315+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockMode lockMode, SharedSessionContractImplementor session) {
316316
return reactiveLoad( id, optionalObject, new LockOptions().setLockMode( lockMode ), session );
317317
}
318318

@@ -322,7 +322,7 @@ public Object load(Object id, Object optionalObject, LockOptions lockOptions, Sh
322322
}
323323

324324
@Override
325-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session) {
325+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session) {
326326
return doReactiveLoad( id, optionalObject, lockOptions, null, session );
327327
}
328328

@@ -332,11 +332,11 @@ public Object load(Object id, Object optionalObject, LockOptions lockOptions, Sh
332332
}
333333

334334
@Override
335-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly) {
335+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly) {
336336
return doReactiveLoad( id, optionalObject, lockOptions, readOnly, session );
337337
}
338338

339-
private CompletionStage<Object> doReactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session) {
339+
private CompletionStage<?> doReactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session) {
340340
return reactiveDelegate.load( this, id, optionalObject, lockOptions, readOnly, session );
341341
}
342342

@@ -370,7 +370,7 @@ public CompletionStage<Object> reactiveLoadByUniqueKey(String propertyName, Obje
370370
* @see AbstractEntityPersister#loadEntityIdByNaturalId(Object[], LockOptions, SharedSessionContractImplementor)
371371
*/
372372
@Override
373-
public CompletionStage<Object> reactiveLoadEntityIdByNaturalId(Object[] orderedNaturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
373+
public CompletionStage<?> reactiveLoadEntityIdByNaturalId(Object[] orderedNaturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
374374
verifyHasNaturalId();
375375
return reactiveDelegate.loadEntityIdByNaturalId( orderedNaturalIdValues, lockOptions, session );
376376
}

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveSingleTableEntityPersister.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public class ReactiveSingleTableEntityPersister extends SingleTableEntityPersist
6969

7070
private static final Log LOG = make( Log.class, lookup() );
7171

72-
private ReactiveAbstractPersisterDelegate reactiveDelegate;
72+
private final ReactiveAbstractPersisterDelegate reactiveDelegate;
7373

7474
public ReactiveSingleTableEntityPersister(
7575
final PersistentClass persistentClass,
@@ -101,7 +101,7 @@ protected SingleIdEntityLoader<?> buildSingleIdEntityLoader() {
101101
}
102102

103103
@Override
104-
protected MultiIdEntityLoader<Object> buildMultiIdLoader() {
104+
protected MultiIdEntityLoader<?> buildMultiIdLoader() {
105105
return reactiveDelegate.buildMultiIdEntityLoader();
106106
}
107107

@@ -301,13 +301,13 @@ public CompletionStage<Void> reactiveProcessUpdateGenerated(Object id, Object en
301301
* @see AbstractEntityPersister#loadEntityIdByNaturalId(Object[], LockOptions, SharedSessionContractImplementor)
302302
*/
303303
@Override
304-
public CompletionStage<Object> reactiveLoadEntityIdByNaturalId(Object[] orderedNaturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
304+
public CompletionStage<?> reactiveLoadEntityIdByNaturalId(Object[] orderedNaturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
305305
verifyHasNaturalId();
306306
return reactiveDelegate.loadEntityIdByNaturalId( orderedNaturalIdValues, lockOptions, session );
307307
}
308308

309309
@Override
310-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockMode lockMode, SharedSessionContractImplementor session) {
310+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockMode lockMode, SharedSessionContractImplementor session) {
311311
return reactiveLoad( id, optionalObject, new LockOptions().setLockMode( lockMode ), session );
312312
}
313313

@@ -317,7 +317,7 @@ public Object load(Object id, Object optionalObject, LockOptions lockOptions, Sh
317317
}
318318

319319
@Override
320-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session) {
320+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session) {
321321
return doReactiveLoad( id, optionalObject, lockOptions, null, session );
322322
}
323323

@@ -327,11 +327,11 @@ public Object load(Object id, Object optionalObject, LockOptions lockOptions, Sh
327327
}
328328

329329
@Override
330-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly) {
330+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly) {
331331
return doReactiveLoad( id, optionalObject, lockOptions, readOnly, session );
332332
}
333333

334-
private CompletionStage<Object> doReactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session) {
334+
private CompletionStage<?> doReactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session) {
335335
return reactiveDelegate.load( this, id, optionalObject, lockOptions, readOnly, session );
336336
}
337337

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveUnionSubclassEntityPersister.java

+13-14
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ protected SingleIdEntityLoader<?> buildSingleIdEntityLoader() {
8282
}
8383

8484
@Override
85-
protected MultiIdEntityLoader<Object> buildMultiIdLoader() {
85+
protected MultiIdEntityLoader<?> buildMultiIdLoader() {
8686
return reactiveDelegate.buildMultiIdEntityLoader();
8787
}
8888

@@ -148,14 +148,6 @@ public NaturalIdMapping generateNaturalIdMapping(MappingModelCreationProcess cre
148148
return ReactiveAbstractEntityPersister.super.generateNaturalIdMapping(creationProcess, bootEntityDescriptor);
149149
}
150150

151-
152-
@Override
153-
protected void validateGenerator() {
154-
if ( super.getGenerator() instanceof IdentityGenerator ) {
155-
throw new MappingException( "Cannot use identity column key generation with <union-subclass> mapping for: " + getEntityName() );
156-
}
157-
}
158-
159151
@Override
160152
protected InsertCoordinator buildInsertCoordinator() {
161153
return ReactiveCoordinatorFactory.buildInsertCoordinator( this, getFactory() );
@@ -180,6 +172,13 @@ public <T> DomainResult<T> createDomainResult(
180172
return reactiveDelegate.createDomainResult( this, navigablePath, tableGroup, resultVariable, creationState );
181173
}
182174

175+
@Override
176+
protected void validateGenerator() {
177+
if ( super.getGenerator() instanceof IdentityGenerator) {
178+
throw new MappingException( "Cannot use identity column key generation with <union-subclass> mapping for: " + getEntityName() );
179+
}
180+
}
181+
183182
@Override
184183
public Generator getGenerator() throws HibernateException {
185184
return reactiveDelegate.reactive( super.getGenerator() );
@@ -279,7 +278,7 @@ protected Object initializeLazyPropertiesFromDatastore(Object entity, Object id,
279278
}
280279

281280
@Override
282-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockMode lockMode, SharedSessionContractImplementor session) {
281+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockMode lockMode, SharedSessionContractImplementor session) {
283282
return reactiveLoad( id, optionalObject, new LockOptions().setLockMode( lockMode ), session );
284283
}
285284

@@ -289,7 +288,7 @@ public Object load(Object id, Object optionalObject, LockOptions lockOptions, Sh
289288
}
290289

291290
@Override
292-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session) {
291+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session) {
293292
return doReactiveLoad( id, optionalObject, lockOptions, null, session );
294293
}
295294

@@ -299,11 +298,11 @@ public Object load(Object id, Object optionalObject, LockOptions lockOptions, Sh
299298
}
300299

301300
@Override
302-
public CompletionStage<Object> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly) {
301+
public CompletionStage<?> reactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, SharedSessionContractImplementor session, Boolean readOnly) {
303302
return doReactiveLoad( id, optionalObject, lockOptions, readOnly, session );
304303
}
305304

306-
private CompletionStage<Object> doReactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session) {
305+
private CompletionStage<?> doReactiveLoad(Object id, Object optionalObject, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session) {
307306
return reactiveDelegate.load( this, id, optionalObject, lockOptions, readOnly, session );
308307
}
309308

@@ -372,7 +371,7 @@ public <K> CompletionStage<? extends List<?>> reactiveMultiLoad(K[] ids, SharedS
372371
* @see AbstractEntityPersister#loadEntityIdByNaturalId(Object[], LockOptions, SharedSessionContractImplementor)
373372
*/
374373
@Override
375-
public CompletionStage<Object> reactiveLoadEntityIdByNaturalId(Object[] orderedNaturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
374+
public CompletionStage<?> reactiveLoadEntityIdByNaturalId(Object[] orderedNaturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
376375
verifyHasNaturalId();
377376
return reactiveDelegate.loadEntityIdByNaturalId( orderedNaturalIdValues, lockOptions, session );
378377
}

0 commit comments

Comments
 (0)