Skip to content

Commit 0cceb58

Browse files
committed
fix use of raw types in StrategySelector stuff
1 parent 07e04c4 commit 0cceb58

File tree

10 files changed

+55
-54
lines changed

10 files changed

+55
-54
lines changed

hibernate-agroal/src/main/java/org/hibernate/agroal/internal/StrategyRegistrationProviderImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import org.hibernate.boot.registry.selector.StrategyRegistrationProvider;
1212
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
1313

14+
import static java.util.Collections.singleton;
15+
1416
/**
1517
* Provides the {@link AgroalConnectionProvider} to the
1618
* {@link org.hibernate.boot.registry.selector.spi.StrategySelector} service.
@@ -20,16 +22,15 @@
2022
public final class StrategyRegistrationProviderImpl implements StrategyRegistrationProvider {
2123

2224
@Override
23-
public Iterable<StrategyRegistration> getStrategyRegistrations() {
24-
final SimpleStrategyRegistrationImpl<ConnectionProvider> strategyRegistration = new SimpleStrategyRegistrationImpl<>(
25+
public Iterable<StrategyRegistration<?>> getStrategyRegistrations() {
26+
return singleton( new SimpleStrategyRegistrationImpl<>(
2527
ConnectionProvider.class,
2628
AgroalConnectionProvider.class,
2729
AgroalConnectionProvider.class.getSimpleName(),
2830
"agroal",
2931
"Agroal",
3032
// for consistency's sake
3133
"org.hibernate.connection.AgroalConnectionProvider"
32-
);
33-
return Collections.singleton( strategyRegistration );
34+
) );
3435
}
3536
}

hibernate-c3p0/src/main/java/org/hibernate/c3p0/internal/StrategyRegistrationProviderImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import org.hibernate.boot.registry.selector.StrategyRegistrationProvider;
1212
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
1313

14+
import static java.util.Collections.singleton;
15+
1416
/**
1517
* Provides the {@link C3P0ConnectionProvider} to the
1618
* {@link org.hibernate.boot.registry.selector.spi.StrategySelector} service.
@@ -20,8 +22,8 @@
2022
public final class StrategyRegistrationProviderImpl implements StrategyRegistrationProvider {
2123

2224
@Override
23-
public Iterable<StrategyRegistration> getStrategyRegistrations() {
24-
final SimpleStrategyRegistrationImpl<ConnectionProvider> c3p0 = new SimpleStrategyRegistrationImpl<>(
25+
public Iterable<StrategyRegistration<?>> getStrategyRegistrations() {
26+
return singleton( new SimpleStrategyRegistrationImpl<>(
2527
ConnectionProvider.class,
2628
C3P0ConnectionProvider.class,
2729
"c3p0",
@@ -30,7 +32,6 @@ public Iterable<StrategyRegistration> getStrategyRegistrations() {
3032
"org.hibernate.connection.C3P0ConnectionProvider",
3133
// legacy
3234
"org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider"
33-
);
34-
return Collections.singleton( c3p0 );
35+
) );
3536
}
3637
}

hibernate-core/src/main/java/org/hibernate/boot/registry/selector/StrategyRegistrationProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ public interface StrategyRegistrationProvider {
2727
*
2828
* @return All {@link StrategyRegistration}s
2929
*/
30-
Iterable<StrategyRegistration> getStrategyRegistrations();
30+
Iterable<StrategyRegistration<?>> getStrategyRegistrations();
3131
}

hibernate-core/src/main/java/org/hibernate/boot/registry/selector/internal/StrategySelectorBuilder.java

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,15 @@ public <T> void addExplicitStrategyRegistration(Class<T> strategy, Class<? exten
8585
* compatible.
8686
*/
8787
public <T> void addExplicitStrategyRegistration(StrategyRegistration<T> strategyRegistration) {
88-
if ( BOOT_LOGGER.isTraceEnabled() && !strategyRegistration.getStrategyRole().isInterface() ) {
89-
BOOT_LOGGER.registeringNonInterfaceStrategy(
90-
strategyRegistration.getStrategyRole().getName()
91-
);
88+
final var strategyRole = strategyRegistration.getStrategyRole();
89+
if ( BOOT_LOGGER.isTraceEnabled() && !strategyRole.isInterface() ) {
90+
BOOT_LOGGER.registeringNonInterfaceStrategy( strategyRole.getName() );
9291
}
93-
94-
if ( !strategyRegistration.getStrategyRole()
95-
.isAssignableFrom( strategyRegistration.getStrategyImplementation() ) ) {
92+
if ( !strategyRole.isAssignableFrom( strategyRegistration.getStrategyImplementation() ) ) {
9693
throw new StrategySelectionException(
9794
"Implementation class [" + strategyRegistration.getStrategyImplementation().getName()
98-
+ "] does not implement strategy interface ["
99-
+ strategyRegistration.getStrategyRole().getName() + "]"
95+
+ "] does not implement strategy interface ["
96+
+ strategyRole.getName() + "]"
10097
);
10198
}
10299
explicitStrategyRegistrations.add( strategyRegistration );
@@ -111,13 +108,11 @@ public <T> void addExplicitStrategyRegistration(StrategyRegistration<T> strategy
111108
* @return The selector.
112109
*/
113110
public StrategySelector buildSelector(ClassLoaderService classLoaderService) {
114-
final StrategySelectorImpl strategySelector = new StrategySelectorImpl( classLoaderService );
111+
final var strategySelector = new StrategySelectorImpl( classLoaderService );
115112

116113
// build the baseline...
117-
strategySelector.registerStrategyLazily(
118-
Dialect.class,
119-
new AggregatedDialectSelector( classLoaderService.loadJavaServices( DialectSelector.class ) )
120-
);
114+
strategySelector.registerStrategyLazily( Dialect.class,
115+
new AggregatedDialectSelector( classLoaderService.loadJavaServices( DialectSelector.class ) ) );
121116
strategySelector.registerStrategyLazily( JtaPlatform.class, new DefaultJtaPlatformSelector() );
122117
addTransactionCoordinatorBuilders( strategySelector );
123118
addSqmMultiTableInsertStrategies( strategySelector );
@@ -129,14 +124,14 @@ public StrategySelector buildSelector(ClassLoaderService classLoaderService) {
129124
addXmlFormatMappers( strategySelector );
130125

131126
// apply auto-discovered registrations
132-
for ( StrategyRegistrationProvider provider : classLoaderService.loadJavaServices( StrategyRegistrationProvider.class ) ) {
133-
for ( StrategyRegistration<?> discoveredStrategyRegistration : provider.getStrategyRegistrations() ) {
127+
for ( var provider : classLoaderService.loadJavaServices( StrategyRegistrationProvider.class ) ) {
128+
for ( var discoveredStrategyRegistration : provider.getStrategyRegistrations() ) {
134129
applyFromStrategyRegistration( strategySelector, discoveredStrategyRegistration );
135130
}
136131
}
137132

138133
// apply customizations
139-
for ( StrategyRegistration<?> explicitStrategyRegistration : explicitStrategyRegistrations ) {
134+
for ( var explicitStrategyRegistration : explicitStrategyRegistrations ) {
140135
applyFromStrategyRegistration( strategySelector, explicitStrategyRegistration );
141136
}
142137

hibernate-core/src/main/java/org/hibernate/boot/registry/selector/internal/StrategySelectorImpl.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.hibernate.boot.registry.selector.spi.NamedStrategyContributions;
2222
import org.hibernate.boot.registry.selector.spi.NamedStrategyContributor;
2323

24+
import static java.util.Collections.emptySet;
2425
import static org.hibernate.boot.BootLogging.BOOT_LOGGER;
2526

2627
/**
@@ -48,8 +49,7 @@ public class StrategySelectorImpl implements StrategySelector {
4849
*/
4950
public StrategySelectorImpl(ClassLoaderService classLoaderService) {
5051
this.classLoaderService = classLoaderService;
51-
52-
this.contributors = classLoaderService.loadJavaServices( NamedStrategyContributor.class );
52+
contributors = classLoaderService.loadJavaServices( NamedStrategyContributor.class );
5353
for ( var contributor : contributors ) {
5454
contributor.contributeStrategyImplementations( new StartupContributions() );
5555
}
@@ -130,10 +130,12 @@ public <T> Collection<Class<? extends T>> getRegisteredStrategyImplementors(Clas
130130
}
131131
final var registrations = namedStrategyImplementorByStrategyMap.get( strategy );
132132
if ( registrations == null ) {
133-
return Collections.emptySet();
133+
return emptySet();
134+
}
135+
else {
136+
//noinspection unchecked,rawtypes
137+
return (Collection) new HashSet<>( registrations.values() );
134138
}
135-
//noinspection unchecked,rawtypes
136-
return (Collection) new HashSet<>( registrations.values() );
137139
}
138140

139141
@SuppressWarnings("unchecked")
@@ -198,7 +200,7 @@ private <T> void contributeImplementation(Class<T> strategy, Class<? extends T>
198200
final var namedStrategyImplementorMap =
199201
namedStrategyImplementorByStrategyMap.computeIfAbsent( strategy, clazz -> new ConcurrentHashMap<>() );
200202
for ( String name : names ) {
201-
final Class<?> old = namedStrategyImplementorMap.put( name, implementation );
203+
final var old = namedStrategyImplementorMap.put( name, implementation );
202204
if ( BOOT_LOGGER.isTraceEnabled() ) {
203205
if ( old == null ) {
204206
BOOT_LOGGER.strategySelectorMapping(

hibernate-envers/src/main/java/org/hibernate/envers/boot/internal/AuditStrategyRegistrationProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
*/
2424
public class AuditStrategyRegistrationProvider implements StrategyRegistrationProvider {
2525

26-
private static final List<StrategyRegistration> STRATEGIES = new ArrayList<>();
26+
private static final List<StrategyRegistration<?>> STRATEGIES = new ArrayList<>();
2727

2828
static {
2929
STRATEGIES.add(
30-
new SimpleStrategyRegistrationImpl(
30+
new SimpleStrategyRegistrationImpl<>(
3131
AuditStrategy.class,
3232
DefaultAuditStrategy.class,
3333
"default",
@@ -37,7 +37,7 @@ public class AuditStrategyRegistrationProvider implements StrategyRegistrationPr
3737
)
3838
);
3939
STRATEGIES.add(
40-
new SimpleStrategyRegistrationImpl(
40+
new SimpleStrategyRegistrationImpl<>(
4141
AuditStrategy.class,
4242
ValidityAuditStrategy.class,
4343
"validity",
@@ -49,7 +49,7 @@ public class AuditStrategyRegistrationProvider implements StrategyRegistrationPr
4949
}
5050

5151
@Override
52-
public Iterable<StrategyRegistration> getStrategyRegistrations() {
52+
public Iterable<StrategyRegistration<?>> getStrategyRegistrations() {
5353
return STRATEGIES;
5454
}
5555
}

hibernate-envers/src/main/java/org/hibernate/envers/boot/internal/ModifiedColumnNamingStrategyRegistrationProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,19 @@
1919
*/
2020
public class ModifiedColumnNamingStrategyRegistrationProvider implements StrategyRegistrationProvider {
2121
@Override
22-
public Iterable<StrategyRegistration> getStrategyRegistrations() {
23-
final List<StrategyRegistration> registrations = new ArrayList<>();
22+
public Iterable<StrategyRegistration<?>> getStrategyRegistrations() {
23+
final List<StrategyRegistration<?>> registrations = new ArrayList<>();
2424

2525
registrations.add(
26-
new SimpleStrategyRegistrationImpl(
26+
new SimpleStrategyRegistrationImpl<>(
2727
ModifiedColumnNamingStrategy.class,
2828
LegacyModifiedColumnNamingStrategy.class,
2929
"default", "legacy"
3030
)
3131
);
3232

3333
registrations.add(
34-
new SimpleStrategyRegistrationImpl(
34+
new SimpleStrategyRegistrationImpl<>(
3535
ModifiedColumnNamingStrategy.class,
3636
ImprovedModifiedColumnNamingStrategy.class,
3737
"improved"

hibernate-hikaricp/src/main/java/org/hibernate/hikaricp/internal/StrategyRegistrationProviderImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import org.hibernate.boot.registry.selector.StrategyRegistrationProvider;
1212
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
1313

14+
import static java.util.Collections.singleton;
15+
1416
/**
1517
* Provides the {@link HikariCPConnectionProvider} to the
1618
* {@link org.hibernate.boot.registry.selector.spi.StrategySelector} service.
@@ -20,16 +22,15 @@
2022
public final class StrategyRegistrationProviderImpl implements StrategyRegistrationProvider {
2123

2224
@Override
23-
public Iterable<StrategyRegistration> getStrategyRegistrations() {
24-
final SimpleStrategyRegistrationImpl<ConnectionProvider> strategyRegistration = new SimpleStrategyRegistrationImpl<>(
25+
public Iterable<StrategyRegistration<?>> getStrategyRegistrations() {
26+
return singleton( new SimpleStrategyRegistrationImpl<>(
2527
ConnectionProvider.class,
2628
HikariCPConnectionProvider.class,
2729
"hikari",
2830
"hikaricp",
2931
HikariCPConnectionProvider.class.getSimpleName(),
3032
// for consistency's sake
3133
"org.hibernate.connection.HikariCPConnectionProvider"
32-
);
33-
return Collections.singleton( strategyRegistration );
34+
) );
3435
}
3536
}

hibernate-jcache/src/main/java/org/hibernate/cache/jcache/internal/StrategyRegistrationProviderImpl.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import org.hibernate.cache.jcache.ConfigSettings;
1313
import org.hibernate.cache.spi.RegionFactory;
1414

15+
import static java.util.Collections.singleton;
16+
1517
/**
1618
* Makes the JCache RegionFactory available to the Hibernate
1719
* {@link org.hibernate.boot.registry.selector.spi.StrategySelector} service
@@ -22,18 +24,16 @@
2224
public final class StrategyRegistrationProviderImpl implements StrategyRegistrationProvider {
2325

2426
@Override
25-
@SuppressWarnings("unchecked")
26-
public Iterable<StrategyRegistration> getStrategyRegistrations() {
27-
final SimpleStrategyRegistrationImpl simpleStrategyRegistration = new SimpleStrategyRegistrationImpl(
27+
public Iterable<StrategyRegistration<?>> getStrategyRegistrations() {
28+
29+
return singleton( new SimpleStrategyRegistrationImpl<>(
2830
RegionFactory.class,
2931
JCacheRegionFactory.class,
3032
ConfigSettings.SIMPLE_FACTORY_NAME,
3133
JCacheRegionFactory.class.getName(),
3234
JCacheRegionFactory.class.getSimpleName(),
3335
// legacy impl class name
3436
"org.hibernate.cache.jcache.JCacheRegionFactory"
35-
);
36-
37-
return Collections.singleton( simpleStrategyRegistration );
37+
) );
3838
}
3939
}

hibernate-testing/src/main/java/org/hibernate/testing/cache/StrategyRegistrationProviderImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import org.hibernate.boot.registry.selector.StrategyRegistrationProvider;
1212
import org.hibernate.cache.spi.RegionFactory;
1313

14+
import static java.util.Collections.singletonList;
15+
1416
/**
1517
* Makes the JCache RegionFactory available to the Hibernate
1618
* {@link org.hibernate.boot.registry.selector.spi.StrategySelector} service
@@ -20,10 +22,9 @@
2022
*/
2123
public class StrategyRegistrationProviderImpl implements StrategyRegistrationProvider {
2224
@Override
23-
@SuppressWarnings("unchecked")
24-
public Iterable<StrategyRegistration> getStrategyRegistrations() {
25-
return Collections.singletonList(
26-
new SimpleStrategyRegistrationImpl(
25+
public Iterable<StrategyRegistration<?>> getStrategyRegistrations() {
26+
return singletonList(
27+
new SimpleStrategyRegistrationImpl<>(
2728
RegionFactory.class,
2829
CachingRegionFactory.class,
2930
"testing",

0 commit comments

Comments
 (0)