diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSource.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSource.java index 3cd13c78c..82d8db7c1 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSource.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSource.java @@ -35,13 +35,8 @@ import org.springframework.jdbc.core.namedparam.AbstractSqlParameterSource; */ class SqlIdentifierParameterSource extends AbstractSqlParameterSource { - private final Set identifiers; - private final Map namesToValues; - - SqlIdentifierParameterSource() { - this.identifiers = new HashSet<>(); - this.namesToValues = new HashMap<>(); - } + private final Set identifiers = new HashSet<>(); + private final Map namesToValues = new HashMap<>(); @Override public boolean hasValue(String paramName) { diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlParametersFactory.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlParametersFactory.java index 04c3942c7..752de5476 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlParametersFactory.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlParametersFactory.java @@ -30,7 +30,6 @@ import org.springframework.data.relational.core.dialect.Dialect; import org.springframework.data.relational.core.mapping.RelationalMappingContext; import org.springframework.data.relational.core.mapping.RelationalPersistentEntity; import org.springframework.data.relational.core.mapping.RelationalPersistentProperty; -import org.springframework.data.relational.core.sql.IdentifierProcessing; import org.springframework.data.relational.core.sql.SqlIdentifier; import org.springframework.jdbc.support.JdbcUtils; import org.springframework.lang.Nullable; @@ -49,11 +48,17 @@ public class SqlParametersFactory { private final RelationalMappingContext context; private final JdbcConverter converter; - @Deprecated + /** + * @deprecated use {@link SqlParametersFactory(RelationalMappingContext, JdbcConverter)} instead. + */ + @Deprecated(since = "3.1", forRemoval = true) public SqlParametersFactory(RelationalMappingContext context, JdbcConverter converter, Dialect dialect) { this(context, converter); } + /** + * @since 3.1 + */ public SqlParametersFactory(RelationalMappingContext context, JdbcConverter converter) { this.context = context; this.converter = converter; diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java index 288c517fd..4b6b78459 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java @@ -87,7 +87,6 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy { JdbcConverter converter, NamedParameterJdbcOperations operations, SqlSession sqlSession, NamespaceStrategy namespaceStrategy, Dialect dialect) { - SqlGeneratorSource sqlGeneratorSource = new SqlGeneratorSource(context, converter, dialect); SqlParametersFactory sqlParametersFactory = new SqlParametersFactory(context, converter); InsertStrategyFactory insertStrategyFactory = new InsertStrategyFactory(operations, @@ -126,15 +125,17 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy { * to create such a {@link DataAccessStrategy}. * * @param sqlSession Must be non {@literal null}. - * - * @deprecated because identifierProcessing now will not be considered in the process of applying it to {@link SqlIdentifier}, - * use {@link MyBatisDataAccessStrategy(SqlSession)} constructor instead + * @deprecated because identifierProcessing now will not be considered in the process of applying it to + * {@link SqlIdentifier}, use {@link MyBatisDataAccessStrategy(SqlSession)} constructor instead */ - @Deprecated + @Deprecated(since = "3.1", forRemoval = true) public MyBatisDataAccessStrategy(SqlSession sqlSession, IdentifierProcessing identifierProcessing) { this(sqlSession); } + /** + * @since 3.1 + */ public MyBatisDataAccessStrategy(SqlSession sqlSession) { this.sqlSession = sqlSession; } diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategyUnitTests.java index 5b968fe6a..f578e2524 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategyUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategyUnitTests.java @@ -73,8 +73,7 @@ class DefaultDataAccessStrategyUnitTests { relationResolver.setDelegate(accessStrategy); - when(sqlParametersFactory.forInsert(any(), any(), any(), any())) - .thenReturn(new SqlIdentifierParameterSource()); + when(sqlParametersFactory.forInsert(any(), any(), any(), any())).thenReturn(new SqlIdentifierParameterSource()); when(insertStrategyFactory.insertStrategy(any(), any())).thenReturn(mock(InsertStrategy.class)); when(insertStrategyFactory.batchInsertStrategy(any(), any())).thenReturn(mock(BatchInsertStrategy.class)); } diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/IdGeneratingBatchInsertStrategyTest.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/IdGeneratingBatchInsertStrategyTest.java index ab0a5346a..aab7b18ff 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/IdGeneratingBatchInsertStrategyTest.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/IdGeneratingBatchInsertStrategyTest.java @@ -44,7 +44,7 @@ class IdGeneratingBatchInsertStrategyTest { BatchJdbcOperations batchJdbcOperations = mock(BatchJdbcOperations.class); InsertStrategy insertStrategy = mock(InsertStrategy.class); String sql = "some sql"; - SqlParameterSource[] sqlParameterSources = new SqlParameterSource[] {new SqlIdentifierParameterSource() }; + SqlParameterSource[] sqlParameterSources = new SqlParameterSource[] { new SqlIdentifierParameterSource() }; @Test void insertsSequentially_whenIdGenerationForBatchOperationsNotSupported() { diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/InsertStrategyFactoryTest.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/InsertStrategyFactoryTest.java index 50e239182..73fadb463 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/InsertStrategyFactoryTest.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/InsertStrategyFactoryTest.java @@ -21,7 +21,6 @@ import static org.mockito.Mockito.*; import org.junit.jupiter.api.Test; import org.springframework.data.relational.core.conversion.IdValueSource; import org.springframework.data.relational.core.dialect.AnsiDialect; -import org.springframework.data.relational.core.sql.IdentifierProcessing; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations; import org.springframework.jdbc.core.namedparam.SqlParameterSource; diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSourceUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSourceUnitTests.java index 01277fc33..74f6fae51 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSourceUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSourceUnitTests.java @@ -18,11 +18,8 @@ package org.springframework.data.jdbc.core.convert; import static org.assertj.core.api.SoftAssertions.*; import org.junit.jupiter.api.Test; -import org.springframework.data.relational.core.sql.IdentifierProcessing; import org.springframework.data.relational.core.sql.SqlIdentifier; -import java.util.Arrays; - /** * Tests for {@link SqlIdentifierParameterSource}. * diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlParametersFactoryTest.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlParametersFactoryTest.java index 35f96bc30..d3843c76c 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlParametersFactoryTest.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlParametersFactoryTest.java @@ -151,10 +151,10 @@ class SqlParametersFactoryTest { @Test // GH-1405 void parameterNamesGetSanitized() { - WithIllegalCharacters entity = new WithIllegalCharacters(23L,"aValue"); + WithIllegalCharacters entity = new WithIllegalCharacters(23L, "aValue"); - SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, WithIllegalCharacters.class, - Identifier.empty(), IdValueSource.PROVIDED); + SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, + WithIllegalCharacters.class, Identifier.empty(), IdValueSource.PROVIDED); assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); assertThat(sqlParameterSource.getValue("value")).isEqualTo("aValue"); @@ -234,8 +234,7 @@ class SqlParametersFactoryTest { @Column("i.d") @Id Long id; - @Column("val&ue") - String value; + @Column("val&ue") String value; } private SqlParametersFactory createSqlParametersFactoryWithConverters(List converters) { diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java index e9f494d4f..2ae89eaae 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java @@ -32,22 +32,12 @@ import java.util.List; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.stubbing.Answer; - import org.springframework.context.ApplicationEventPublisher; import org.springframework.data.annotation.Id; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; -import org.springframework.data.jdbc.core.convert.BasicJdbcConverter; -import org.springframework.data.jdbc.core.convert.BatchJdbcOperations; -import org.springframework.data.jdbc.core.convert.DefaultDataAccessStrategy; -import org.springframework.data.jdbc.core.convert.DefaultJdbcTypeFactory; -import org.springframework.data.jdbc.core.convert.DelegatingDataAccessStrategy; -import org.springframework.data.jdbc.core.convert.InsertStrategyFactory; -import org.springframework.data.jdbc.core.convert.JdbcConverter; -import org.springframework.data.jdbc.core.convert.JdbcCustomConversions; -import org.springframework.data.jdbc.core.convert.SqlGeneratorSource; -import org.springframework.data.jdbc.core.convert.SqlParametersFactory; +import org.springframework.data.jdbc.core.convert.*; import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory; import org.springframework.data.jdbc.repository.support.SimpleJdbcRepository; diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java index c5c60f7e0..99f075a9c 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java @@ -80,10 +80,14 @@ public class EnableJdbcRepositoriesIntegrationTests { @Autowired JdbcRepositoryFactoryBean factoryBean; @Autowired DummyRepository repository; - @Autowired @Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations defaultOperations; - @Autowired @Qualifier("defaultDataAccessStrategy") DataAccessStrategy defaultDataAccessStrategy; - @Autowired @Qualifier("qualifierJdbcOperations") NamedParameterJdbcOperations qualifierJdbcOperations; - @Autowired @Qualifier("qualifierDataAccessStrategy") DataAccessStrategy qualifierDataAccessStrategy; + @Autowired + @Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations defaultOperations; + @Autowired + @Qualifier("defaultDataAccessStrategy") DataAccessStrategy defaultDataAccessStrategy; + @Autowired + @Qualifier("qualifierJdbcOperations") NamedParameterJdbcOperations qualifierJdbcOperations; + @Autowired + @Qualifier("qualifierDataAccessStrategy") DataAccessStrategy qualifierDataAccessStrategy; @BeforeAll public static void setup() { diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java index e4c77ac49..4b0692179 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java @@ -33,7 +33,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.data.convert.CustomConversions; import org.springframework.data.jdbc.core.convert.*; -import org.springframework.data.jdbc.core.convert.JdbcArrayColumns; import org.springframework.data.jdbc.core.dialect.JdbcDialect; import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.core.mapping.JdbcSimpleTypes; @@ -68,19 +67,16 @@ import org.springframework.transaction.PlatformTransactionManager; @ComponentScan // To pick up configuration classes (per activated profile) public class TestConfiguration { - @Autowired - DataSource dataSource; - @Autowired - BeanFactory beanFactory; + @Autowired DataSource dataSource; + @Autowired BeanFactory beanFactory; @Autowired ApplicationEventPublisher publisher; - @Autowired(required = false) - SqlSessionFactory sqlSessionFactory; + @Autowired(required = false) SqlSessionFactory sqlSessionFactory; @Bean JdbcRepositoryFactory jdbcRepositoryFactory( - @Qualifier("defaultDataAccessStrategy") DataAccessStrategy dataAccessStrategy, - RelationalMappingContext context, Dialect dialect, JdbcConverter converter, - Optional> namedQueries, List evaulationContextExtensions) { + @Qualifier("defaultDataAccessStrategy") DataAccessStrategy dataAccessStrategy, RelationalMappingContext context, + Dialect dialect, JdbcConverter converter, Optional> namedQueries, + List evaulationContextExtensions) { JdbcRepositoryFactory factory = new JdbcRepositoryFactory(dataAccessStrategy, context, converter, dialect, publisher, namedParameterJdbcTemplate()); @@ -91,7 +87,6 @@ public class TestConfiguration { return factory; } - @Bean NamedParameterJdbcOperations namedParameterJdbcTemplate() { return new NamedParameterJdbcTemplate(dataSource); @@ -104,8 +99,8 @@ public class TestConfiguration { @Bean DataAccessStrategy defaultDataAccessStrategy( - @Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations template, - RelationalMappingContext context, JdbcConverter converter, Dialect dialect) { + @Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations template, RelationalMappingContext context, + JdbcConverter converter, Dialect dialect) { return new DefaultDataAccessStrategy(new SqlGeneratorSource(context, converter, dialect), context, converter, template, new SqlParametersFactory(context, converter), @@ -140,8 +135,8 @@ public class TestConfiguration { @Bean JdbcConverter relationalConverter(RelationalMappingContext mappingContext, @Lazy RelationResolver relationResolver, - CustomConversions conversions, - @Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations template, Dialect dialect) { + CustomConversions conversions, @Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations template, + Dialect dialect) { JdbcArrayColumns arrayColumns = dialect instanceof JdbcDialect ? ((JdbcDialect) dialect).getArraySupport() : JdbcArrayColumns.DefaultSupport.INSTANCE;