diff --git a/build.gradle b/build.gradle index e9ca27a56..ee1cba98c 100644 --- a/build.gradle +++ b/build.gradle @@ -73,7 +73,7 @@ subprojects { ext.publishScript = rootProject.rootDir.absolutePath + '/publish.gradle' - tasks.withType( JavaCompile ) { + tasks.withType( JavaCompile ).configureEach { options.encoding = 'UTF-8' } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/engine/impl/Cascade.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/engine/impl/Cascade.java index 36466b556..a13426966 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/engine/impl/Cascade.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/engine/impl/Cascade.java @@ -235,10 +235,7 @@ else if ( action.performOnLazyProperty() && type.isEntityType() ) { false ) ); } - else { - // Nothing to do, so just skip cascading to this lazy attribute. - continue; - } + // Nothing to do, so just skip cascading to this lazy attribute. } else { Object child = persister.getValue( parent, i ); @@ -447,7 +444,7 @@ private static CompletionStage cascadeLogicalOneToOneOrphanRemoval( * * @param type The type representing the attribute metadata * - * @return True if the attribute represents a logical one to one association + * @return True if the attribute represents a logical one-to-one association */ private static boolean isLogicalOneToOne(Type type) { return type.isEntityType() && ( (EntityType) type ).isLogicalOneToOne(); diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/AbstractReactiveFlushingEventListener.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/AbstractReactiveFlushingEventListener.java index b257229b2..9e4ac049d 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/AbstractReactiveFlushingEventListener.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/AbstractReactiveFlushingEventListener.java @@ -74,7 +74,7 @@ private ReactiveActionQueue actionQueue(EventSource session) { /** * Coordinates the processing necessary to get things ready for executions - * as db calls by preping the session caches and moving the appropriate + * as db calls by prepping the session caches and moving the appropriate * entities and collections to their respective execution queues. * * @param event The flush event. diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/BlockingIdentifierGenerator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/BlockingIdentifierGenerator.java index 224410853..c820f513f 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/BlockingIdentifierGenerator.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/BlockingIdentifierGenerator.java @@ -5,19 +5,19 @@ */ package org.hibernate.reactive.id.impl; +import java.util.Objects; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.hibernate.reactive.id.ReactiveIdentifierGenerator; +import org.hibernate.reactive.session.ReactiveConnectionSupplier; + import io.vertx.core.Context; import io.vertx.core.Vertx; import io.vertx.core.net.impl.pool.CombinerExecutor; import io.vertx.core.net.impl.pool.Executor; import io.vertx.core.net.impl.pool.Task; -import org.hibernate.reactive.id.ReactiveIdentifierGenerator; -import org.hibernate.reactive.session.ReactiveConnectionSupplier; - -import java.util.Objects; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionStage; - import static org.hibernate.reactive.util.impl.CompletionStages.completedFuture; /** @@ -51,7 +51,7 @@ public abstract class BlockingIdentifierGenerator implements ReactiveIdentifierG */ protected abstract CompletionStage nextHiValue(ReactiveConnectionSupplier session); - //Not strictly necessary to put these fields into a dedicated class, but it help + //Not strictly necessary to put these fields into a dedicated class, but it helps //to reason about what the current state is and what the CombinerExecutor is //supposed to work on. private static class GeneratorState { @@ -138,7 +138,6 @@ public Task execute(GeneratorState state) { // value in the table, so just increment the lo // value and return the next id in the block completedFuture( local ).whenComplete( this::acceptAsReturnValue ); - return null; } else { nextHiValue( connectionSupplier ) @@ -155,8 +154,8 @@ public Task execute(GeneratorState state) { } ); } } ); - return null; } + return null; } private void acceptAsReturnValue(final Long aLong, final Throwable throwable) { diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/EmulatedSequenceReactiveIdentifierGenerator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/EmulatedSequenceReactiveIdentifierGenerator.java index dd9702c69..b973c869b 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/EmulatedSequenceReactiveIdentifierGenerator.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/EmulatedSequenceReactiveIdentifierGenerator.java @@ -19,7 +19,6 @@ import java.util.Properties; -import static org.hibernate.internal.util.config.ConfigurationHelper.getInt; import static org.hibernate.internal.util.config.ConfigurationHelper.getString; /** @@ -71,16 +70,6 @@ protected String determineSegmentValue(Properties params) { return null; } - @Override - protected int determineInitialValue(Properties params) { - return getInt( SequenceStyleGenerator.INITIAL_PARAM, params, SequenceStyleGenerator.DEFAULT_INITIAL_VALUE ); - } - - @Override - protected int determineIncrement(Properties params) { - return getInt( SequenceStyleGenerator.INCREMENT_PARAM, params, SequenceStyleGenerator.DEFAULT_INCREMENT_SIZE ); - } - @Override protected Object[] updateParameters(long currentValue, long updatedValue) { return new Object[] { updatedValue, currentValue }; diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/TableReactiveIdentifierGenerator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/TableReactiveIdentifierGenerator.java index 79fb63aa6..21a863b0b 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/TableReactiveIdentifierGenerator.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/id/impl/TableReactiveIdentifierGenerator.java @@ -12,8 +12,6 @@ import org.hibernate.HibernateException; import org.hibernate.LockMode; import org.hibernate.LockOptions; -import org.hibernate.boot.model.relational.Database; -import org.hibernate.boot.model.relational.SqlStringGenerationContext; import org.hibernate.dialect.CockroachDialect; import org.hibernate.dialect.Dialect; import org.hibernate.dialect.OracleDialect; @@ -189,14 +187,6 @@ protected CompletionStage nextHiValue(ReactiveConnectionSupplier session) } ); } - @Override - public void registerExportables(Database database) { - } - - @Override - public void initialize(SqlStringGenerationContext context) { - } - @Override public Object generate(SharedSessionContractImplementor session, Object object) throws HibernateException { throw new UnsupportedOperationException(); diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveMultiIdEntityLoaderArrayParam.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveMultiIdEntityLoaderArrayParam.java index fa0b1885d..8495d115b 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveMultiIdEntityLoaderArrayParam.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveMultiIdEntityLoaderArrayParam.java @@ -65,7 +65,6 @@ public ReactiveMultiIdEntityLoaderArrayParam( EntityMappingType entityDescriptor, SessionFactoryImplementor sessionFactory) { super( entityDescriptor, sessionFactory ); - final Class arrayClass = createTypedArray( 0 ).getClass(); final Class idClass = getIdentifierMapping().getJavaType().getJavaTypeClass(); arrayJdbcMapping = resolveArrayJdbcMapping( getIdentifierMapping().getJdbcMapping(), diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdEntityLoaderProvidedQueryImpl.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdEntityLoaderProvidedQueryImpl.java index 6b849d346..b2ec82649 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdEntityLoaderProvidedQueryImpl.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdEntityLoaderProvidedQueryImpl.java @@ -46,7 +46,7 @@ public EntityMappingType getLoadable() { public CompletionStage load(Object pkValue, LockOptions lockOptions, Boolean readOnly, SharedSessionContractImplementor session) { // noinspection unchecked final QueryImplementor query = namedQueryMemento - .toQuery( session, (Class) entityDescriptor.getMappedJavaType().getJavaTypeClass() ); + .toQuery( session, entityDescriptor.getMappedJavaType().getJavaTypeClass() ); //noinspection unchecked query.setParameter( (Parameter) query.getParameters().iterator().next(), pkValue ); diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdLoadPlan.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdLoadPlan.java index 83c3292f5..458cdf518 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdLoadPlan.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdLoadPlan.java @@ -81,7 +81,7 @@ public CompletionStage load(Object restrictedValue, Object entityInstance, Bo } ); } - private void invokeAfterLoadActions(Callback callback, SharedSessionContractImplementor session, T entity) { + private void invokeAfterLoadActions(Callback callback, SharedSessionContractImplementor session, G entity) { if ( entity != null && getLoadable() != null) { callback.invokeAfterLoadActions( entity, (EntityMappingType) getLoadable(), session ); } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveEntityPersister.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveEntityPersister.java index ba365a463..ee35d9fca 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveEntityPersister.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveEntityPersister.java @@ -16,6 +16,7 @@ import org.hibernate.generator.values.GeneratedValues; import org.hibernate.loader.ast.spi.MultiIdLoadOptions; import org.hibernate.persister.entity.EntityPersister; +import org.hibernate.reactive.persister.entity.mutation.ReactiveInsertCoordinator; import jakarta.persistence.metamodel.Attribute; @@ -33,7 +34,7 @@ public interface ReactiveEntityPersister extends EntityPersister { * @see EntityPersister#insert(Object, Object[], Object, SharedSessionContractImplementor) */ default CompletionStage insertReactive(Object id, Object[] fields, Object object, SharedSessionContractImplementor session) { - return insertReactive( id, fields, object, session ); + return ( (ReactiveInsertCoordinator) getInsertCoordinator() ).reactiveInsert( object, id, fields, session ); }; /** diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/mutation/ReactiveInsertCoordinatorStandard.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/mutation/ReactiveInsertCoordinatorStandard.java index db2671be9..3fa811b99 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/mutation/ReactiveInsertCoordinatorStandard.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/mutation/ReactiveInsertCoordinatorStandard.java @@ -435,14 +435,12 @@ protected void breakDownJdbcValue( final String tableName = tableDetails.getTableName(); tableDetails.getKeyMapping().breakDownKeyJdbcValues( id, - (jdbcValue, columnMapping) -> { - jdbcValueBindings.bindValue( - jdbcValue, - tableName, - columnMapping.getColumnName(), - ParameterUsage.SET - ); - }, + (jdbcValue, columnMapping) -> jdbcValueBindings.bindValue( + jdbcValue, + tableName, + columnMapping.getColumnName(), + ParameterUsage.SET + ), session ); } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPool.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPool.java index 35c3980e0..67476f71e 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPool.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPool.java @@ -37,7 +37,6 @@ import io.vertx.sqlclient.spi.Driver; import static java.util.Collections.singletonList; -import static java.util.stream.Collectors.toList; /** * A pool of reactive connections backed by a Vert.x {@link Pool}. @@ -128,7 +127,7 @@ public void injectServices(ServiceRegistryImplementor serviceRegistry) { } @Override - public void configure(Map configuration) { + public void configure(Map configuration) { uri = jdbcUrl( configuration ); } @@ -247,7 +246,7 @@ private Driver findDriver(URI uri, ServiceConfigurationError originalError) { if ( selected.size() > 1 ) { List driverClasses = selected.stream() .map( driver -> driver.getClass().getCanonicalName() ) - .collect( toList() ); + .toList(); throw new ConfigurationException( "Multiple drivers found matching for URI scheme \"" + scheme + "\". Please, pick one: " + driverClasses, originalError ); } return selected.get( 0 ); diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPoolConfiguration.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPoolConfiguration.java index b60600bb8..e0613b78c 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPoolConfiguration.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/DefaultSqlClientPoolConfiguration.java @@ -232,15 +232,15 @@ private int oraclePort(URI uri) { if ( s.indexOf( '/' ) != -1 ) { // Example: 1234/ s = s.substring( 0, s.indexOf( '/' ) ); - return Integer.valueOf( s ); + return Integer.parseInt( s ); } if ( s.indexOf( '?' ) != -1 ) { // Example: 1234?param=value s = s.substring( 0, s.indexOf( '?' ) ); - return Integer.valueOf( s ); + return Integer.parseInt( s ); } // Example: 1234 - return Integer.valueOf( s ); + return Integer.parseInt( s ); } return -1; } @@ -330,7 +330,7 @@ private int extractPort(URI uri) { if ( startOfPort == -1 ) { return -1; } - return Integer.valueOf( hostPortString.substring( startOfPort + 1 ) ); + return Integer.parseInt( hostPortString.substring( startOfPort + 1 ) ); } private String findHost(URI uri, String scheme) { @@ -348,7 +348,7 @@ private String findHost(URI uri, String scheme) { } private int findPort(URI uri, String scheme) { - int port = -1; + int port; if ( "oracle".equals( scheme ) ) { port = oraclePort( uri ); } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ExternalSqlClientPool.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ExternalSqlClientPool.java index 602ecd7b0..86067882a 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ExternalSqlClientPool.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ExternalSqlClientPool.java @@ -59,7 +59,7 @@ public final class ExternalSqlClientPool extends SqlClientPool { private final Pool pool; private final SqlStatementLogger sqlStatementLogger; - private SqlExceptionHelper sqlExceptionHelper; + private final SqlExceptionHelper sqlExceptionHelper; public ExternalSqlClientPool(Pool pool, SqlStatementLogger sqlStatementLogger, SqlExceptionHelper sqlExceptionHelper) { this.pool = pool; diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/impl/ReactiveIntegrator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/impl/ReactiveIntegrator.java index 5607d5935..c1fb0deb9 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/impl/ReactiveIntegrator.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/impl/ReactiveIntegrator.java @@ -28,7 +28,6 @@ import org.hibernate.reactive.logging.impl.Log; import org.hibernate.reactive.logging.impl.LoggerFactory; import org.hibernate.service.ServiceRegistry; -import org.hibernate.service.spi.SessionFactoryServiceRegistry; /** * Integrates Hibernate Reactive with Hibernate ORM by @@ -47,10 +46,6 @@ public void integrate(Metadata metadata, BootstrapContext bootstrapContext, Sess attachEventContextManagingListenersIfRequired( sessionFactory.getServiceRegistry() ); } - @Override - public void disintegrate(SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { - } - private void attachEventContextManagingListenersIfRequired(ServiceRegistry serviceRegistry) { if ( ReactiveModeCheck.isReactiveRegistry( serviceRegistry ) ) { LOG.startHibernateReactive(); diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/AbstractReactiveInformationSchemaBasedExtractorImpl.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/AbstractReactiveInformationSchemaBasedExtractorImpl.java index 61a5534b4..e1846d1bf 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/AbstractReactiveInformationSchemaBasedExtractorImpl.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/AbstractReactiveInformationSchemaBasedExtractorImpl.java @@ -192,7 +192,7 @@ protected boolean appendClauseAndParameterIfNotNullOrEmpty( StringBuilder sb, List parameters) { - if ( parameter != null && ( ! String.class.isInstance( parameter ) || ! ( (String) parameter ).isEmpty() ) ) { + if ( parameter != null && ( !( parameter instanceof String string ) || !string.isEmpty() ) ) { parameters.add( parameter ); sb.append( clause ); sb.append( parameterMarker( parameters.size() ) ); @@ -351,7 +351,7 @@ protected String getDatabaseCatalogColumnName(String catalogColumnName, String s * used for storing the schema name, or , if there * is no valid column containing the schema name. *

- * MySQL, for example, does not have a valid column in + * MySQL, for example, does not have a valid column * in the information_schema to store the schema name. * (@see MySqlReactiveInformationExtractorImpl) * diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/MySqlReactiveInformationExtractorImpl.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/MySqlReactiveInformationExtractorImpl.java index 6cc016dda..0504e44ee 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/MySqlReactiveInformationExtractorImpl.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/MySqlReactiveInformationExtractorImpl.java @@ -46,11 +46,6 @@ protected int dataTypeCode(String typeName) { } } - @Override - protected String getResultSetTableTypesPhysicalTableConstant() { - return "BASE TABLE"; - } - protected String getDatabaseCatalogColumnName(String catalogColumnName, String schemaColumnName ) { return schemaColumnName; } @@ -64,7 +59,7 @@ protected T processPrimaryKeysResultSet( String catalogFilter, String schemaFilter, Identifier tableName, - ExtractionContext.ResultSetProcessor processor) throws SQLException { + ExtractionContext.ResultSetProcessor processor) { // This functionality is not used by ORM. throw new UnsupportedOperationException(); } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/PostgreSqlReactiveInformationExtractorImpl.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/PostgreSqlReactiveInformationExtractorImpl.java index ee4a012fe..62fff7ecc 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/PostgreSqlReactiveInformationExtractorImpl.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/PostgreSqlReactiveInformationExtractorImpl.java @@ -32,17 +32,12 @@ public PostgreSqlReactiveInformationExtractorImpl(ExtractionContext extractionCo super( extractionContext ); } - @Override - protected String getResultSetTableTypesPhysicalTableConstant() { - return "BASE TABLE"; - } - @Override protected T processPrimaryKeysResultSet( String catalogFilter, String schemaFilter, Identifier tableName, - ExtractionContext.ResultSetProcessor processor) throws SQLException { + ExtractionContext.ResultSetProcessor processor) { // This functionality is not used by ORM. throw new UnsupportedOperationException(); } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/SqlServerReactiveInformationExtractorImpl.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/SqlServerReactiveInformationExtractorImpl.java index 2cec39ce7..eea7fc477 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/SqlServerReactiveInformationExtractorImpl.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/SqlServerReactiveInformationExtractorImpl.java @@ -158,7 +158,7 @@ protected T processPrimaryKeysResultSet( String catalogFilter, String schemaFilter, Identifier tableName, - ExtractionContext.ResultSetProcessor processor) throws SQLException { + ExtractionContext.ResultSetProcessor processor) { throw new UnsupportedOperationException(); } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableInsertStrategy.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableInsertStrategy.java index ce76569ce..2f7f7bb37 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableInsertStrategy.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableInsertStrategy.java @@ -84,14 +84,4 @@ public boolean isDropIdTables() { public void setDropIdTables(boolean dropIdTables) { this.dropIdTables = dropIdTables; } - - @Override - public CompletionStage getDropTableActionStage() { - return tableDroppedStage; - } - - @Override - public CompletionStage getCreateTableActionStage() { - return tableCreatedStage; - } } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableMutationStrategy.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableMutationStrategy.java index 15c2bd293..66b001520 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableMutationStrategy.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableMutationStrategy.java @@ -81,16 +81,6 @@ public CompletionStage reactiveExecuteDelete( ).reactiveExecute( context ) ); } - @Override - public CompletionStage getDropTableActionStage() { - return tableDroppedStage; - } - - @Override - public CompletionStage getCreateTableActionStage() { - return tableCreatedStage; - } - @Override public boolean isPrepared() { return prepared; diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableStrategy.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableStrategy.java index d0204ffff..7a396753c 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableStrategy.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/query/sqm/mutation/internal/temptable/ReactiveGlobalTemporaryTableStrategy.java @@ -41,10 +41,6 @@ static String sessionIdentifier(SharedSessionContractImplementor session) { TemporaryTable getTemporaryTable(); - CompletionStage getDropTableActionStage(); - - CompletionStage getCreateTableActionStage(); - SessionFactoryImplementor getSessionFactory(); default void prepare(MappingModelCreationProcess mappingModelCreationProcess, JdbcConnectionAccess connectionAccess, CompletableFuture tableCreatedStage) { diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/exec/internal/ReactiveStandardMutationExecutorService.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/exec/internal/ReactiveStandardMutationExecutorService.java index c02fc0551..46fffd02b 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/exec/internal/ReactiveStandardMutationExecutorService.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/exec/internal/ReactiveStandardMutationExecutorService.java @@ -72,9 +72,8 @@ public MutationExecutor createExecutor( } private static GeneratedValuesMutationDelegate generatedValuesDelegate(MutationOperationGroup operationGroup) { - GeneratedValuesMutationDelegate generatedValuesMutationDelegate = operationGroup.asEntityMutationOperationGroup() != null + return operationGroup.asEntityMutationOperationGroup() != null ? operationGroup.asEntityMutationOperationGroup().getMutationDelegate() : null; - return generatedValuesMutationDelegate; } } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/graph/entity/internal/ReactiveEntitySelectFetchInitializerBuilder.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/graph/entity/internal/ReactiveEntitySelectFetchInitializerBuilder.java index c4cb87838..a3b7d46f1 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/graph/entity/internal/ReactiveEntitySelectFetchInitializerBuilder.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/graph/entity/internal/ReactiveEntitySelectFetchInitializerBuilder.java @@ -100,7 +100,7 @@ public static EntityInitializer createInitializer( throw new IllegalStateException( "Should be unreachable" ); } - // FIXME: Use the one in ORM + // FIXME: Use the one in ORM: EntitySelectFetchInitializerBuilder#determineBatchMode public static BatchMode determineBatchMode( EntityPersister entityPersister, InitializerParent parent, diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/internal/ReactiveInitializersList.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/internal/ReactiveInitializersList.java index 312f510f5..49c7deda4 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/internal/ReactiveInitializersList.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/internal/ReactiveInitializersList.java @@ -87,7 +87,7 @@ ReactiveInitializersList build(final Map> initiali } private Initializer[] toArray(final ArrayList> initializers) { - return initializers.toArray( new Initializer[initializers.size()] ); + return initializers.toArray( new Initializer[0] ); } } } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/spi/ReactiveListResultsConsumer.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/spi/ReactiveListResultsConsumer.java index 7c23bc739..9c9008eb0 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/spi/ReactiveListResultsConsumer.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/spi/ReactiveListResultsConsumer.java @@ -284,8 +284,7 @@ public boolean addUnique(R result) { } public boolean add(R result) { - results.add( result ); - return true; + return results.add( result ); } public List getResults() { diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncCloseable.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncCloseable.java index 806c38a96..d32b32146 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncCloseable.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncCloseable.java @@ -17,7 +17,7 @@ *

* Examples of such resources are manually managed memory, open file handles, socket descriptors * etc. While similar to {@link AutoCloseable}, this interface should be used when the resource - * release operation may possibly be async. For example, if an object is thread-safe and has many + * release operation may be async. For example, if an object is thread-safe and has many * consumers, an implementation may require all current ongoing operations to complete before * resources are relinquished. * diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncIterator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncIterator.java index 2680f56f8..0786e311e 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncIterator.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncIterator.java @@ -51,7 +51,7 @@ * below. The difference is that the parallelization in that case is from producing values in * parallel, not consuming values in parallel. * - *

To implement an AsyncIterator you must only implement the {@link #nextStage()} method- + *

To implement an AsyncIterator you must only implement the {@link #nextStage()} method - * however, it is recommended that users avoid actually using nextStage to consume the results of * iteration. It is less expressive and it can also be error prone; it is easy to cause a stack * overflow by incorrectly recursing on calls to nextStage. You should prefer to use the other diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncTrampoline.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncTrampoline.java index cc2ef5702..b8feee8c6 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncTrampoline.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/async/impl/AsyncTrampoline.java @@ -174,7 +174,7 @@ T poll() { * *

* Effectively produces {@code fn(seed).thenCompose(fn).thenCompose(fn)... .thenCompose(fn)} until - * an value fails the predicate. Note that predicate will be applied on seed (like a while loop, + * a value fails the predicate. Note that predicate will be applied on seed (like a while loop, * the initial value is tested). If the predicate or fn throw an exception, * or the {@link CompletionStage} returned by fn completes exceptionally, iteration will stop and * an exceptional stage will be returned. diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/impl/CompletionStages.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/impl/CompletionStages.java index bb168d8f7..eb311aba6 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/impl/CompletionStages.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/util/impl/CompletionStages.java @@ -301,7 +301,7 @@ public R getResult() throws T { if ( throwable == null ) { return result; } - throw (T) throwable; + throw throwable; } public CompletionStage getResultAsCompletionStage() { @@ -467,7 +467,7 @@ public static CompletionStage loop(int start, int end, IntPredicate filter } public static CompletionStage whileLoop(Supplier> loopSupplier) { - return asyncWhile( loopSupplier::get ); + return asyncWhile( loopSupplier ); } public static CompletionStage whileLoop(Supplier whileCondition, Supplier> loopSupplier) { diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/BatchingConnectionTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/BatchingConnectionTest.java index 1cdc423f0..0ce3d2e9d 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/BatchingConnectionTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/BatchingConnectionTest.java @@ -41,7 +41,7 @@ protected Configuration constructConfiguration() { configuration.setProperty( AvailableSettings.STATEMENT_BATCH_SIZE, "5"); // Construct a tracker that collects query statements via the SqlStatementLogger framework. - // Pass in configuration properties to hand-off any actual logging properties + // Pass in configuration properties to hand off any actual logging properties sqlTracker = new SqlStatementTracker( BatchingConnectionTest::filter, configuration.getProperties() ); return configuration; } diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/EagerElementCollectionForBasicTypeSetTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/EagerElementCollectionForBasicTypeSetTest.java index ba183b406..176e30c37 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/EagerElementCollectionForBasicTypeSetTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/EagerElementCollectionForBasicTypeSetTest.java @@ -442,7 +442,7 @@ private static void assertPhones(VertxTestContext context, Person person, String assertNotNull( person ); String[] sortedExpected = Arrays.stream( expectedPhones ).sorted() .sorted( String.CASE_INSENSITIVE_ORDER ) - .collect( Collectors.toList() ) + .toList() .toArray( new String[expectedPhones.length] ); List sortedActual = person.getPhones().stream() .sorted( String.CASE_INSENSITIVE_ORDER ) diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGenerationWithBatchingTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGenerationWithBatchingTest.java index acad8feba..3492532c1 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGenerationWithBatchingTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGenerationWithBatchingTest.java @@ -63,7 +63,7 @@ public void test(VertxTestContext context) { } private Book[] asBooks(String[] titles) { - return Arrays.asList( titles ).stream().map( Book::new ).toArray( Book[]::new ); + return Arrays.stream( titles ).map( Book::new ).toArray( Book[]::new ); } @Entity(name = "Book") diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorDynamicInsertTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorDynamicInsertTest.java index 2454de0d3..9be6f748a 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorDynamicInsertTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorDynamicInsertTest.java @@ -70,7 +70,7 @@ private CompletionStage populateDb() { return getSessionFactory() .withTransaction( (session, tx) -> session.persist( identities.toArray() ) ) .thenAccept( ignore -> { - Long assignedId = 0L; + long assignedId = 0L; for ( EntityWithIdentity identity : identities ) { assertNotNull( identity.id ); assertTrue( identity.id > assignedId ); diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorTest.java index 61cc6c503..1d9a6c8b3 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorTest.java @@ -68,7 +68,7 @@ private CompletionStage populateDb() { return getSessionFactory() .withTransaction( (session, tx) -> session.persist( identities.toArray() ) ) .thenAccept( ignore -> { - Long assignedId = 0L; + long assignedId = 0L; for ( EntityWithIdentity identity : identities ) { assertNotNull( identity.id ); assertTrue( identity.id > assignedId ); diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorWithColumnTransformerTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorWithColumnTransformerTest.java index 3982e0c6b..a4d584719 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorWithColumnTransformerTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/IdentityGeneratorWithColumnTransformerTest.java @@ -72,7 +72,7 @@ private CompletionStage populateDb() { return getSessionFactory() .withTransaction( (session, tx) -> session.persist( identities.toArray() ) ) .thenAccept( ignore -> { - Long assignedId = 0L; + long assignedId = 0L; for ( EntityWithIdentity identity : identities ) { assertNotNull( identity.id ); assertTrue( identity.id > assignedId ); diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/MultithreadedInsertionTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/MultithreadedInsertionTest.java index 9e31c20be..bd2a36d1e 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/MultithreadedInsertionTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/MultithreadedInsertionTest.java @@ -37,6 +37,7 @@ import jakarta.persistence.Table; import static java.util.concurrent.TimeUnit.MINUTES; +import static org.assertj.core.api.Assertions.fail; import static org.hibernate.cfg.AvailableSettings.SHOW_SQL; import static org.hibernate.reactive.BaseReactiveTest.setDefaultProperties; import static org.hibernate.reactive.provider.Settings.POOL_CONNECT_TIMEOUT; @@ -233,11 +234,16 @@ public void reached() { public void waitForEveryone() { try { - countDownLatch.await( TIMEOUT_MINUTES, TimeUnit.MINUTES ); - prettyOut( "Everyone has now breached '" + label + "'" ); + boolean reachedZero = countDownLatch.await( TIMEOUT_MINUTES, MINUTES ); + if ( reachedZero ) { + prettyOut( "Everyone has now breached '" + label + "'" ); + } + else { + fail( "Time out reached" ); + } } catch ( InterruptedException e ) { - e.printStackTrace(); + fail( e ); } } } diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyArrayMergeTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyArrayMergeTest.java index e2eb826d9..8553f1624 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyArrayMergeTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyArrayMergeTest.java @@ -111,9 +111,7 @@ public User(Long id, String firstname, String lastname, Role... roles) { this.firstname = firstname; this.lastname = lastname; this.roles = new Role[roles.length]; - for ( int i = 0; i < roles.length; i++ ) { - this.roles[i] = roles[i]; - } + System.arraycopy( roles, 0, this.roles, 0, roles.length ); } public Long getId() { diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyTest.java index c3bec53b1..f0242ed71 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/OneToManyTest.java @@ -45,9 +45,6 @@ public void testPersistAll(VertxTestContext context) { Author author = new Author( "Iain M Banks" ); author.books.add( book1 ); author.books.add( book2 ); - final Book[] bookArray = new Book[2]; - bookArray[0] = book1; - bookArray[1] = book2; test( context, getMutinySessionFactory() .withTransaction( session -> session.persistAll( book1, book2, author ) ) @@ -67,9 +64,6 @@ public void testFetchJoinQueryGetSingleResult(VertxTestContext context) { Author author = new Author( "Iain M Banks" ); author.books.add( book1 ); author.books.add( book2 ); - final Book[] bookArray = new Book[2]; - bookArray[0] = book1; - bookArray[1] = book2; test( context, getMutinySessionFactory() .withTransaction( session -> session.persistAll( book1, book2, author ) ) diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/QueryTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/QueryTest.java index d6146b2e5..c65c79ee4 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/QueryTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/QueryTest.java @@ -138,7 +138,7 @@ public void testCriteriaEntityQuery(VertxTestContext context) { update.set( b.get( "title" ), "XXX" ); CriteriaDelete delete = builder.createCriteriaDelete( Book.class ); - b = delete.from( Book.class ); + delete.from( Book.class ); test( context, diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/SoftDeleteTest.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/SoftDeleteTest.java index 4ba2e844e..f77d86f61 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/SoftDeleteTest.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/SoftDeleteTest.java @@ -172,7 +172,7 @@ private void testSoftDelete( } ) ) // Delete an entity - .call( deleteEntity::get ) + .call( deleteEntity ) // Test select all .call( () -> getMutinySessionFactory().withTransaction( s -> s .createSelectionQuery( "from " + entityClass.getSimpleName() + " order by id", Object.class ) diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/containers/CockroachDBDatabase.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/containers/CockroachDBDatabase.java index 103723127..ae4d34d39 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/containers/CockroachDBDatabase.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/containers/CockroachDBDatabase.java @@ -63,7 +63,7 @@ private static String disableSslMode(String url) { } /** - * Temporary tables support is experimental but we need it when updating entities in a hierarchy + * We need temporary tables when updating entities in a hierarchy */ private static void enableTemporaryTables() { runSql( "SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';" ); diff --git a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/types/Json.java b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/types/Json.java index 2df6f008a..9af3a2b76 100644 --- a/hibernate-reactive-core/src/test/java/org/hibernate/reactive/types/Json.java +++ b/hibernate-reactive-core/src/test/java/org/hibernate/reactive/types/Json.java @@ -61,7 +61,7 @@ public void nullSafeSet(PreparedStatement st, JsonObject value, int index, Share @Override public JsonObject deepCopy(JsonObject value) { - return value == null ? null : ( (JsonObject) value ).copy(); + return value == null ? null : value.copy(); } @Override diff --git a/lgtm.yml b/lgtm.yml deleted file mode 100644 index 8c608f1f0..000000000 --- a/lgtm.yml +++ /dev/null @@ -1,8 +0,0 @@ -##################################################### -# LGTM.com configuration file -##################################################### - -extraction: - java: - index: - java_version: 11