From 6a60c53602a4c834cc7b55faf7390936ed0f8ae5 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 11 Oct 2018 16:13:25 +0200 Subject: [PATCH] DATAJDBC-272 - Split Spring Data JDBC project into modules. --- pom.xml | 130 +---------- spring-data-jdbc/pom.xml | 207 ++++++++++++++++++ .../core/CascadingDataAccessStrategy.java | 0 .../data/jdbc/core/DataAccessStrategy.java | 0 .../jdbc/core/DefaultDataAccessStrategy.java | 0 .../jdbc/core/DefaultJdbcInterpreter.java | 0 .../core/DelegatingDataAccessStrategy.java | 0 .../data/jdbc/core/EntityRowMapper.java | 0 .../data/jdbc/core/FunctionCollector.java | 0 .../core/IterableOfEntryToMapConverter.java | 0 .../jdbc/core/JdbcAggregateOperations.java | 0 .../data/jdbc/core/JdbcAggregateTemplate.java | 0 .../data/jdbc/core/MapEntityRowMapper.java | 0 .../data/jdbc/core/SelectBuilder.java | 0 .../data/jdbc/core/SqlGenerator.java | 0 .../data/jdbc/core/SqlGeneratorSource.java | 0 .../data/jdbc/core/UnableToSetId.java | 0 .../jdbc/core/convert/BasicJdbcConverter.java | 109 +++++++++ .../core/convert/JdbcCustomConversions.java | 0 .../jdbc/core/mapping/AggregateReference.java | 0 .../mapping/BasicJdbcPersistentProperty.java | 54 +++++ .../jdbc/core/mapping/JdbcMappingContext.java | 68 ++++++ .../jdbc/core/mapping/JdbcSimpleTypes.java | 0 .../data/jdbc/core/package-info.java | 0 .../data/jdbc/mybatis/MyBatisContext.java | 0 .../mybatis/MyBatisDataAccessStrategy.java | 0 .../data/jdbc/mybatis/NamespaceStrategy.java | 0 .../data/jdbc/mybatis/package-info.java | 0 .../data/jdbc/repository/RowMapperMap.java | 0 .../config/ConfigurableRowMapperMap.java | 0 .../repository/config/EnableJdbcAuditing.java | 0 .../config/EnableJdbcRepositories.java | 0 .../config/JdbcAuditingRegistrar.java | 0 .../repository/config/JdbcConfiguration.java | 8 +- .../config/JdbcRepositoriesRegistrar.java | 0 .../config/JdbcRepositoryConfigExtension.java | 0 .../jdbc/repository/config/package-info.java | 0 .../data/jdbc/repository/package-info.java | 0 .../data/jdbc/repository/query/Modifying.java | 0 .../data/jdbc/repository/query/Query.java | 0 .../jdbc/repository/query/package-info.java | 0 .../support/JdbcQueryLookupStrategy.java | 0 .../repository/support/JdbcQueryMethod.java | 0 .../support/JdbcRepositoryFactory.java | 0 .../support/JdbcRepositoryFactoryBean.java | 0 .../support/JdbcRepositoryQuery.java | 0 .../support/SimpleJdbcRepository.java | 0 .../jdbc/repository/support/package-info.java | 0 .../data/jdbc/support/JdbcUtil.java | 0 .../AggregateTemplateIntegrationTests.java | 0 .../CascadingDataAccessStrategyUnitTests.java | 0 .../DefaultDataAccessStrategyUnitTests.java | 3 +- .../core/DefaultJdbcInterpreterUnitTests.java | 3 +- .../jdbc/core/EntityRowMapperUnitTests.java | 3 +- ...AggregateTemplateHsqlIntegrationTests.java | 0 ...terableOfEntryToMapConverterUnitTests.java | 0 .../MyBatisDataAccessStrategyUnitTests.java | 3 +- .../data/jdbc/core/PropertyPathUtils.java | 0 .../jdbc/core/SelectBuilderUnitTests.java | 0 ...orContextBasedNamingStrategyUnitTests.java | 5 +- ...GeneratorFixedNamingStrategyUnitTests.java | 8 +- .../data/jdbc/core/SqlGeneratorUnitTests.java | 5 +- ...lConverterAggregateReferenceUnitTests.java | 14 +- .../BasicJdbcPersistentPropertyUnitTests.java | 163 ++++++++++++++ .../PersistentPropertyPathTestUtils.java | 0 .../data/jdbc/degraph/DependencyTests.java | 0 .../model/NamingStrategyUnitTests.java | 4 +- .../data/jdbc/mybatis/DummyEntity.java | 1 + .../data/jdbc/mybatis/DummyEntityMapper.java | 0 ...tomizingNamespaceHsqlIntegrationTests.java | 0 .../mybatis/MyBatisHsqlIntegrationTests.java | 0 ...oryCrossAggregateHsqlIntegrationTests.java | 0 ...epositoryIdGenerationIntegrationTests.java | 2 +- .../JdbcRepositoryIntegrationTests.java | 0 ...ryManipulateDbActionsIntegrationTests.java | 1 - ...oryPropertyConversionIntegrationTests.java | 0 ...anuallyAssignedIdHsqlIntegrationTests.java | 1 - ...sitoryWithCollectionsIntegrationTests.java | 0 ...bcRepositoryWithListsIntegrationTests.java | 13 +- ...dbcRepositoryWithMapsIntegrationTests.java | 0 .../SimpleJdbcRepositoryEventsUnitTests.java | 5 +- .../ConfigurableRowMapperMapUnitTests.java | 0 ...nableJdbcAuditingHsqlIntegrationTests.java | 0 ...nableJdbcRepositoriesIntegrationTests.java | 0 .../QueryAnnotationHsqlIntegrationTests.java | 3 +- .../JdbcQueryLookupStrategyUnitTests.java | 0 .../support/JdbcQueryMethodUnitTests.java | 2 +- .../JdbcRepositoryFactoryBeanUnitTests.java | 3 +- .../support/JdbcRepositoryQueryUnitTests.java | 5 +- .../SimpleJdbcRepositoryUnitTests.java | 2 +- .../jdbc/testing/DataSourceConfiguration.java | 0 .../testing/HsqlDataSourceConfiguration.java | 0 .../MariaDBDataSourceConfiguration.java | 0 .../testing/MySqlDataSourceConfiguration.java | 0 .../PostgresDataSourceConfiguration.java | 0 .../data/jdbc/testing/TestConfiguration.java | 12 +- .../data/jdbc/testing/TestUtils.java | 0 .../src}/test/resources/logback.xml | 0 .../src}/test/resources/mysql.cnf | 0 ...AggregateTemplateIntegrationTests-hsql.sql | 0 ...regateTemplateIntegrationTests-mariadb.sql | 0 ...ggregateTemplateIntegrationTests-mysql.sql | 0 ...egateTemplateIntegrationTests-postgres.sql | 0 ...egateTemplateHsqlIntegrationTests-hsql.sql | 0 ...zingNamespaceHsqlIntegrationTests-hsql.sql | 0 .../MyBatisHsqlIntegrationTests-hsql.sql | 0 ...eJdbcAuditingHsqlIntegrationTests-hsql.sql | 0 ...eJdbcRepositoriesIntegrationTests-hsql.sql | 0 ...bcRepositoriesIntegrationTests-mariadb.sql | 0 ...JdbcRepositoriesIntegrationTests-mysql.sql | 0 ...cRepositoriesIntegrationTests-postgres.sql | 0 ...eryAnnotationHsqlIntegrationTests-hsql.sql | 0 ...rossAggregateHsqlIntegrationTests-hsql.sql | 0 ...itoryIdGenerationIntegrationTests-hsql.sql | 0 ...ryIdGenerationIntegrationTests-mariadb.sql | 0 ...toryIdGenerationIntegrationTests-mysql.sql | 0 ...yIdGenerationIntegrationTests-postgres.sql | 0 .../JdbcRepositoryIntegrationTests-hsql.sql | 0 ...JdbcRepositoryIntegrationTests-mariadb.sql | 0 .../JdbcRepositoryIntegrationTests-mysql.sql | 0 ...dbcRepositoryIntegrationTests-postgres.sql | 0 ...nipulateDbActionsIntegrationTests-hsql.sql | 0 ...ulateDbActionsIntegrationTests-mariadb.sql | 0 ...ipulateDbActionsIntegrationTests-mysql.sql | 0 ...lateDbActionsIntegrationTests-postgres.sql | 0 ...ropertyConversionIntegrationTests-hsql.sql | 0 ...ertyConversionIntegrationTests-mariadb.sql | 0 ...opertyConversionIntegrationTests-mysql.sql | 0 ...rtyConversionIntegrationTests-postgres.sql | 0 ...llyAssignedIdHsqlIntegrationTests-hsql.sql | 0 ...ryWithCollectionsIntegrationTests-hsql.sql | 0 ...ithCollectionsIntegrationTests-mariadb.sql | 0 ...yWithCollectionsIntegrationTests-mysql.sql | 0 ...thCollectionsIntegrationTests-postgres.sql | 0 ...ollectionsNoIdIntegrationTests-mariadb.sql | 0 ...hCollectionsNoIdIntegrationTests-mysql.sql | 0 ...llectionsNoIdIntegrationTests-postgres.sql | 0 ...positoryWithListsIntegrationTests-hsql.sql | 0 ...itoryWithListsIntegrationTests-mariadb.sql | 0 ...ositoryWithListsIntegrationTests-mysql.sql | 0 ...toryWithListsIntegrationTests-postgres.sql | 0 ...epositoryWithMapsIntegrationTests-hsql.sql | 0 ...sitoryWithMapsIntegrationTests-mariadb.sql | 0 ...positoryWithMapsIntegrationTests-mysql.sql | 0 ...itoryWithMapsIntegrationTests-postgres.sql | 0 .../data/jdbc/mybatis/DummyEntityMapper.xml | 0 .../jdbc/mybatis/mapper/DummyEntityMapper.xml | 0 spring-data-r2dbc/pom.xml | 166 ++++++++++++++ .../data/r2dbc/repository/query/Query.java | 41 ++++ .../src/test/resources/logback.xml | 18 ++ spring-data-relational/pom.xml | 74 +++++++ .../core/conversion/AggregateChange.java | 0 .../conversion/BasicRelationalConverter.java | 17 +- .../relational/core/conversion/DbAction.java | 0 .../DbActionExecutionException.java | 0 .../core/conversion/Interpreter.java | 0 .../core/conversion/RelationalConverter.java | 0 .../RelationalEntityDeleteWriter.java | 0 .../conversion/RelationalEntityWriter.java | 0 .../conversion/RelationalPropertyPath.java | 0 .../core/conversion/package-info.java | 0 .../BasicRelationalPersistentProperty.java | 8 +- .../data/relational/core/mapping/Column.java | 0 .../core/mapping/NamingStrategy.java | 0 .../mapping/RelationalMappingContext.java | 9 +- .../mapping/RelationalPersistentEntity.java | 0 .../RelationalPersistentEntityImpl.java | 0 .../mapping/RelationalPersistentProperty.java | 0 .../data/relational/core/mapping/Table.java | 0 .../core/mapping/event/AfterDeleteEvent.java | 0 .../core/mapping/event/AfterLoadEvent.java | 0 .../core/mapping/event/AfterSaveEvent.java | 0 .../core/mapping/event/BeforeDeleteEvent.java | 0 .../core/mapping/event/BeforeSaveEvent.java | 0 .../core/mapping/event/Identifier.java | 0 .../core/mapping/event/RelationalEvent.java | 0 .../event/RelationalEventWithEntity.java | 0 .../mapping/event/RelationalEventWithId.java | 0 .../event/RelationalEventWithIdAndEntity.java | 0 .../mapping/event/SimpleRelationalEvent.java | 0 .../mapping/event/SpecifiedIdentifier.java | 0 .../relational/core/mapping/event/Unset.java | 0 .../core/mapping/event/WithEntity.java | 0 .../relational/core/mapping/event/WithId.java | 0 .../core/mapping/event/package-info.java | 0 .../relational/core/mapping/package-info.java | 0 .../RelationalAuditingEventListener.java | 1 - .../domain/support/package-info.java | 0 .../conversion/AggregateChangeUnitTests.java | 0 .../BasicRelationalConverterUnitTests.java | 0 .../DbActionExecutionExceptionTest.java | 0 .../core/conversion/DbActionUnitTests.java | 0 ...RelationalEntityDeleteWriterUnitTests.java | 0 .../RelationalEntityWriterUnitTests.java | 0 ...RelationalPersistentPropertyUnitTests.java | 19 +- .../core/mapping/NamingStrategyUnitTests.java | 0 .../RelationalMappingContextUnitTests.java | 9 + ...lationalPersistentEntityImplUnitTests.java | 0 .../core/mapping/event/IdentifierTest.java | 0 199 files changed, 989 insertions(+), 210 deletions(-) create mode 100644 spring-data-jdbc/pom.xml rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/FunctionCollector.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/SelectBuilder.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/SqlGenerator.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/UnableToSetId.java (100%) create mode 100644 spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java (100%) create mode 100644 spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentProperty.java create mode 100644 spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcMappingContext.java rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/core/package-info.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/mybatis/package-info.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java (88%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/config/package-info.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/package-info.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/query/Modifying.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/query/Query.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/query/package-info.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/repository/support/package-info.java (100%) rename {src => spring-data-jdbc/src}/main/java/org/springframework/data/jdbc/support/JdbcUtil.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java (97%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java (96%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java (98%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java (98%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java (97%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java (97%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java (97%) rename {src/test/java/org/springframework/data/relational/core/conversion => spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert}/BasicRelationalConverterAggregateReferenceUnitTests.java (83%) create mode 100644 spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentPropertyUnitTests.java rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java (94%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java (99%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java (99%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java (99%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java (99%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java (98%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java (99%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java (98%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java (96%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java (96%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java (97%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java (100%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java (88%) rename {src => spring-data-jdbc/src}/test/java/org/springframework/data/jdbc/testing/TestUtils.java (100%) rename {src => spring-data-jdbc/src}/test/resources/logback.xml (100%) rename {src => spring-data-jdbc/src}/test/resources/mysql.cnf (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql (100%) rename {src => spring-data-jdbc/src}/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml (100%) rename {src => spring-data-jdbc/src}/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml (100%) create mode 100644 spring-data-r2dbc/pom.xml create mode 100644 spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/Query.java create mode 100644 spring-data-r2dbc/src/test/resources/logback.xml create mode 100644 spring-data-relational/pom.xml rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java (95%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/DbAction.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/Interpreter.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/conversion/package-info.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java (94%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/Column.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java (87%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/Table.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/Unset.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/WithId.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/event/package-info.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/core/mapping/package-info.java (100%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java (95%) rename {src => spring-data-relational/src}/main/java/org/springframework/data/relational/domain/support/package-info.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java (87%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java (83%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java (100%) rename {src => spring-data-relational/src}/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java (100%) diff --git a/pom.xml b/pom.xml index deedf29b..c3028412 100644 --- a/pom.xml +++ b/pom.xml @@ -5,11 +5,12 @@ 4.0.0 org.springframework.data - spring-data-jdbc + spring-data-relational-parent 1.1.0.BUILD-SNAPSHOT + pom - Spring Data JDBC - Spring Data module for JDBC repositories. + Spring Data Relational + Spring Data module for Relational repositories. http://projects.spring.io/spring-data-jdbc @@ -40,6 +41,11 @@ 2017 + + spring-data-relational + spring-data-jdbc + + schauder @@ -167,124 +173,6 @@ - - - - ${project.groupId} - spring-data-commons - ${springdata.commons} - - - - org.springframework - spring-tx - - - - org.springframework - spring-context - - - - org.springframework - spring-beans - - - - org.springframework - spring-jdbc - - - - org.springframework - spring-core - - - - org.mybatis - mybatis-spring - ${mybatis-spring.version} - true - - - - org.mybatis - mybatis - ${mybatis.version} - true - - - - org.hsqldb - hsqldb - ${hsqldb.version} - test - - - - org.assertj - assertj-core - ${assertj-core.version} - test - - - - mysql - mysql-connector-java - ${mysql-connector-java.version} - test - - - - org.postgresql - postgresql - ${postgresql.version} - test - - - - org.mariadb.jdbc - mariadb-java-client - ${mariadb-java-client.version} - test - - - - de.schauderhaft.degraph - degraph-check - ${degraph-check.version} - test - - - - org.testcontainers - mysql - ${testcontainers.version} - test - - - org.slf4j - jcl-over-slf4j - - - - - - org.testcontainers - postgresql - ${testcontainers.version} - test - - - - org.testcontainers - mariadb - ${testcontainers.version} - test - - - - diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml new file mode 100644 index 00000000..f3261b5e --- /dev/null +++ b/spring-data-jdbc/pom.xml @@ -0,0 +1,207 @@ + + + + 4.0.0 + + spring-data-jdbc + 1.1.0.BUILD-SNAPSHOT + + Spring Data JDBC + Spring Data module for JDBC repositories. + http://projects.spring.io/spring-data-jdbc + + + org.springframework.data + spring-data-relational-parent + 1.1.0.BUILD-SNAPSHOT + + + + + DATAJDBC + + 2.2.0.BUILD-SNAPSHOT + spring.data.jdbc + 2.2.8 + 3.4.6 + 1.3.2 + 5.1.41 + 42.0.0 + 2.2.3 + + + 2017 + + + + schauder + Jens Schauder + jschauder(at)pivotal.io + Pivotal Software, Inc. + https://pivotal.io + + Project Lead + + +1 + + + gregturn + Greg L. Turnquist + gturnquist(at)pivotal.io + Pivotal Software, Inc. + https://pivotal.io + + Project Contributor + + -6 + + + ogierke + Oliver Gierke + ogierke(at)pivotal.io + Pivotal Software, Inc. + https://pivotal.io + + Project Contributor + + +1 + + + mpaluch + Mark Paluch + mpaluch(at)pivotal.io + Pivotal Software, Inc. + https://pivotal.io + + Project Contributor + + +1 + + + + + + + ${project.groupId} + spring-data-relational + ${project.version} + + + + ${project.groupId} + spring-data-commons + ${springdata.commons} + + + + org.springframework + spring-tx + + + + org.springframework + spring-context + + + + org.springframework + spring-beans + + + + org.springframework + spring-jdbc + + + + org.springframework + spring-core + + + + org.mybatis + mybatis-spring + ${mybatis-spring.version} + true + + + + org.mybatis + mybatis + ${mybatis.version} + true + + + + org.hsqldb + hsqldb + ${hsqldb.version} + test + + + + org.assertj + assertj-core + ${assertj-core.version} + test + + + + mysql + mysql-connector-java + ${mysql-connector-java.version} + test + + + + org.postgresql + postgresql + ${postgresql.version} + test + + + + org.mariadb.jdbc + mariadb-java-client + ${mariadb-java-client.version} + test + + + + de.schauderhaft.degraph + degraph-check + ${degraph-check.version} + test + + + + org.testcontainers + mysql + ${testcontainers.version} + test + + + org.slf4j + jcl-over-slf4j + + + + + + org.testcontainers + postgresql + ${testcontainers.version} + test + + + + org.testcontainers + mariadb + ${testcontainers.version} + test + + + + + diff --git a/src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategy.java diff --git a/src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DataAccessStrategy.java diff --git a/src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategy.java diff --git a/src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreter.java diff --git a/src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/DelegatingDataAccessStrategy.java diff --git a/src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/EntityRowMapper.java diff --git a/src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/FunctionCollector.java diff --git a/src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverter.java diff --git a/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateOperations.java diff --git a/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java diff --git a/src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/MapEntityRowMapper.java diff --git a/src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SelectBuilder.java diff --git a/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGenerator.java diff --git a/src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/SqlGeneratorSource.java diff --git a/src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/UnableToSetId.java diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java new file mode 100644 index 00000000..423f47b2 --- /dev/null +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java @@ -0,0 +1,109 @@ +/* + * Copyright 2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.jdbc.core.convert; + +import org.springframework.data.convert.CustomConversions; +import org.springframework.data.jdbc.core.mapping.AggregateReference; +import org.springframework.data.mapping.context.MappingContext; +import org.springframework.data.mapping.model.SimpleTypeHolder; +import org.springframework.data.relational.core.conversion.BasicRelationalConverter; +import org.springframework.data.relational.core.conversion.RelationalConverter; +import org.springframework.data.relational.core.mapping.RelationalPersistentEntity; +import org.springframework.data.relational.core.mapping.RelationalPersistentProperty; +import org.springframework.data.util.TypeInformation; +import org.springframework.lang.Nullable; + +/** + * {@link RelationalConverter} that uses a {@link MappingContext} to apply basic conversion of relational values to + * property values. + *

+ * Conversion is configurable by providing a customized {@link CustomConversions}. + * + * @author Mark Paluch + * @author Jens Schauder + * @see MappingContext + * @see SimpleTypeHolder + * @see CustomConversions + */ +public class BasicJdbcConverter extends BasicRelationalConverter { + + /** + * Creates a new {@link BasicRelationalConverter} given {@link MappingContext}. + * + * @param context must not be {@literal null}. org.springframework.data.jdbc.core.DefaultDataAccessStrategyUnitTests + */ + public BasicJdbcConverter( + MappingContext, ? extends RelationalPersistentProperty> context) { + super(context); + } + + /** + * Creates a new {@link BasicRelationalConverter} given {@link MappingContext} and {@link CustomConversions}. + * + * @param context must not be {@literal null}. + * @param conversions must not be {@literal null}. + */ + public BasicJdbcConverter( + MappingContext, ? extends RelationalPersistentProperty> context, + CustomConversions conversions) { + super(context, conversions); + } + + /* + * (non-Javadoc) + * @see org.springframework.data.relational.core.conversion.RelationalConverter#readValue(java.lang.Object, org.springframework.data.util.TypeInformation) + */ + @Override + @Nullable + public Object readValue(@Nullable Object value, TypeInformation type) { + + if (null == value) { + return null; + } + + if (getConversions().hasCustomReadTarget(value.getClass(), type.getType())) { + return getConversionService().convert(value, type.getType()); + } + + if (AggregateReference.class.isAssignableFrom(type.getType())) { + + TypeInformation idType = type.getSuperTypeInformation(AggregateReference.class).getTypeArguments().get(1); + + return AggregateReference.to(readValue(value, idType)); + } + + return super.readValue(value, type); + } + + /* + * (non-Javadoc) + * @see org.springframework.data.relational.core.conversion.RelationalConverter#writeValue(java.lang.Object, org.springframework.data.util.TypeInformation) + */ + @Override + @Nullable + public Object writeValue(@Nullable Object value, TypeInformation type) { + + if (value == null) { + return null; + } + + if (AggregateReference.class.isAssignableFrom(value.getClass())) { + return writeValue(((AggregateReference) value).getId(), type); + } + + return super.writeValue(value, type); + } +} diff --git a/src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/JdbcCustomConversions.java diff --git a/src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/AggregateReference.java diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentProperty.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentProperty.java new file mode 100644 index 00000000..b738c08b --- /dev/null +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentProperty.java @@ -0,0 +1,54 @@ +/* + * Copyright 2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.jdbc.core.mapping; + +import org.springframework.data.jdbc.support.JdbcUtil; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.model.Property; +import org.springframework.data.mapping.model.SimpleTypeHolder; +import org.springframework.data.relational.core.mapping.BasicRelationalPersistentProperty; +import org.springframework.data.relational.core.mapping.RelationalMappingContext; +import org.springframework.data.relational.core.mapping.RelationalPersistentProperty; + +/** + * @author Mark Paluch + */ +public class BasicJdbcPersistentProperty extends BasicRelationalPersistentProperty { + + /** + * Creates a new {@link BasicJdbcPersistentProperty}. + * + * @param property must not be {@literal null}. + * @param owner must not be {@literal null}. + * @param simpleTypeHolder must not be {@literal null}. + * @param context must not be {@literal null} + */ + public BasicJdbcPersistentProperty(Property property, PersistentEntity owner, + SimpleTypeHolder simpleTypeHolder, RelationalMappingContext context) { + super(property, owner, simpleTypeHolder, context); + } + + @Override + public int getSqlType() { + return JdbcUtil.sqlTypeFor(getColumnType()); + } + + @Override + public boolean isReference() { + return AggregateReference.class.isAssignableFrom(getRawType()); + } + +} diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcMappingContext.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcMappingContext.java new file mode 100644 index 00000000..6dad9022 --- /dev/null +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcMappingContext.java @@ -0,0 +1,68 @@ +/* + * Copyright 2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.jdbc.core.mapping; + +import org.springframework.data.mapping.context.MappingContext; +import org.springframework.data.mapping.model.Property; +import org.springframework.data.mapping.model.SimpleTypeHolder; +import org.springframework.data.relational.core.mapping.NamingStrategy; +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.util.TypeInformation; + +/** + * {@link MappingContext} implementation for JDBC. + * + * @author Jens Schauder + * @author Greg Turnquist + * @author Kazuki Shimizu + * @author Oliver Gierke + * @author Mark Paluch + */ +public class JdbcMappingContext extends RelationalMappingContext { + + /** + * Creates a new {@link JdbcMappingContext}. + */ + public JdbcMappingContext() { + super(); + } + + /** + * Creates a new {@link JdbcMappingContext} using the given {@link NamingStrategy}. + * + * @param namingStrategy must not be {@literal null}. + */ + public JdbcMappingContext(NamingStrategy namingStrategy) { + super(namingStrategy); + } + + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.context.AbstractMappingContext#createPersistentProperty(org.springframework.data.mapping.model.Property, org.springframework.data.mapping.model.MutablePersistentEntity, org.springframework.data.mapping.model.SimpleTypeHolder) + */ + @Override + protected RelationalPersistentProperty createPersistentProperty(Property property, + RelationalPersistentEntity owner, SimpleTypeHolder simpleTypeHolder) { + return new BasicJdbcPersistentProperty(property, owner, simpleTypeHolder, this); + } + + @Override + protected boolean shouldCreatePersistentEntityFor(TypeInformation type) { + return super.shouldCreatePersistentEntityFor(type) && !AggregateReference.class.isAssignableFrom(type.getType()); + } +} diff --git a/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/JdbcSimpleTypes.java diff --git a/src/main/java/org/springframework/data/jdbc/core/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/core/package-info.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/package-info.java diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/NamespaceStrategy.java diff --git a/src/main/java/org/springframework/data/jdbc/mybatis/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/mybatis/package-info.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/package-info.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/RowMapperMap.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMap.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditing.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositories.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcAuditingRegistrar.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java similarity index 88% rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java index 8244c61c..fdd5771f 100644 --- a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcConfiguration.java @@ -20,7 +20,9 @@ import java.util.Optional; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.converter.Converter; +import org.springframework.data.jdbc.core.convert.BasicJdbcConverter; import org.springframework.data.jdbc.core.convert.JdbcCustomConversions; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.relational.core.conversion.BasicRelationalConverter; import org.springframework.data.relational.core.conversion.RelationalConverter; import org.springframework.data.relational.core.mapping.NamingStrategy; @@ -45,9 +47,9 @@ public class JdbcConfiguration { * @return must not be {@literal null}. */ @Bean - protected RelationalMappingContext jdbcMappingContext(Optional namingStrategy) { + protected JdbcMappingContext jdbcMappingContext(Optional namingStrategy) { - RelationalMappingContext mappingContext = new RelationalMappingContext( + JdbcMappingContext mappingContext = new JdbcMappingContext( namingStrategy.orElse(NamingStrategy.INSTANCE)); mappingContext.setSimpleTypeHolder(jdbcCustomConversions().getSimpleTypeHolder()); @@ -64,7 +66,7 @@ public class JdbcConfiguration { */ @Bean protected RelationalConverter relationalConverter(RelationalMappingContext mappingContext) { - return new BasicRelationalConverter(mappingContext, jdbcCustomConversions()); + return new BasicJdbcConverter(mappingContext, jdbcCustomConversions()); } /** diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoriesRegistrar.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/config/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/config/package-info.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/package-info.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/package-info.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/package-info.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Modifying.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/query/Query.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Query.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/query/Query.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/Query.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/query/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/query/package-info.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/package-info.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategy.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethod.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactory.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQuery.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepository.java diff --git a/src/main/java/org/springframework/data/jdbc/repository/support/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/repository/support/package-info.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/package-info.java diff --git a/src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java similarity index 100% rename from src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java rename to spring-data-jdbc/src/main/java/org/springframework/data/jdbc/support/JdbcUtil.java diff --git a/src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/AggregateTemplateIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/CascadingDataAccessStrategyUnitTests.java diff --git a/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java index c9155825..e81da13a 100644 --- a/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultDataAccessStrategyUnitTests.java @@ -33,6 +33,7 @@ import org.springframework.data.annotation.Id; import org.springframework.data.convert.ReadingConverter; import org.springframework.data.convert.WritingConverter; import org.springframework.data.jdbc.core.convert.JdbcCustomConversions; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.relational.core.conversion.BasicRelationalConverter; import org.springframework.data.relational.core.conversion.RelationalConverter; import org.springframework.data.relational.core.mapping.RelationalMappingContext; @@ -52,7 +53,7 @@ public class DefaultDataAccessStrategyUnitTests { public static final long ORIGINAL_ID = 4711L; NamedParameterJdbcOperations jdbcOperations = mock(NamedParameterJdbcOperations.class); - RelationalMappingContext context = new RelationalMappingContext(); + RelationalMappingContext context = new JdbcMappingContext(); RelationalConverter converter = new BasicRelationalConverter(context, new JdbcCustomConversions()); HashMap additionalParameters = new HashMap<>(); ArgumentCaptor paramSourceCaptor = ArgumentCaptor.forClass(SqlParameterSource.class); diff --git a/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java index 022d53c8..b4b605c9 100644 --- a/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/DefaultJdbcInterpreterUnitTests.java @@ -25,6 +25,7 @@ import java.util.Map; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.springframework.data.annotation.Id; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.relational.core.conversion.DbAction.Insert; import org.springframework.data.relational.core.conversion.DbAction.InsertRoot; import org.springframework.data.relational.core.mapping.NamingStrategy; @@ -41,7 +42,7 @@ public class DefaultJdbcInterpreterUnitTests { static final long CONTAINER_ID = 23L; static final String BACK_REFERENCE = "back-reference"; - RelationalMappingContext context = new RelationalMappingContext(new NamingStrategy() { + RelationalMappingContext context = new JdbcMappingContext(new NamingStrategy() { @Override public String getReverseColumnName(RelationalPersistentProperty property) { return BACK_REFERENCE; diff --git a/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java index b1bfb3ef..201506db 100644 --- a/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/EntityRowMapperUnitTests.java @@ -42,6 +42,7 @@ import org.mockito.stubbing.Answer; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.PersistenceConstructor; import org.springframework.data.jdbc.core.convert.JdbcCustomConversions; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.relational.core.conversion.BasicRelationalConverter; import org.springframework.data.relational.core.conversion.RelationalConverter; import org.springframework.data.relational.core.mapping.NamingStrategy; @@ -207,7 +208,7 @@ public class EntityRowMapperUnitTests { private EntityRowMapper createRowMapper(Class type, NamingStrategy namingStrategy) { - RelationalMappingContext context = new RelationalMappingContext(namingStrategy); + RelationalMappingContext context = new JdbcMappingContext(namingStrategy); DataAccessStrategy accessStrategy = mock(DataAccessStrategy.class); diff --git a/src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/ImmutableAggregateTemplateHsqlIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/IterableOfEntryToMapConverterUnitTests.java diff --git a/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java index 7d52275d..3248b8a0 100644 --- a/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/MyBatisDataAccessStrategyUnitTests.java @@ -26,6 +26,7 @@ import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.mybatis.MyBatisContext; import org.springframework.data.jdbc.mybatis.MyBatisDataAccessStrategy; import org.springframework.data.mapping.PersistentPropertyPath; @@ -39,7 +40,7 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentProp */ public class MyBatisDataAccessStrategyUnitTests { - RelationalMappingContext context = new RelationalMappingContext(); + RelationalMappingContext context = new JdbcMappingContext(); SqlSession session = mock(SqlSession.class); ArgumentCaptor captor = ArgumentCaptor.forClass(MyBatisContext.class); diff --git a/src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/PropertyPathUtils.java diff --git a/src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SelectBuilderUnitTests.java diff --git a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java index 9099a8d4..d40081e1 100644 --- a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorContextBasedNamingStrategyUnitTests.java @@ -25,6 +25,7 @@ import java.util.function.Consumer; import org.assertj.core.api.SoftAssertions; import org.junit.Test; import org.springframework.data.annotation.Id; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.core.mapping.PersistentPropertyPathTestUtils; import org.springframework.data.mapping.PersistentPropertyPath; import org.springframework.data.relational.core.mapping.NamingStrategy; @@ -41,7 +42,7 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentProp */ public class SqlGeneratorContextBasedNamingStrategyUnitTests { - RelationalMappingContext context = new RelationalMappingContext(); + RelationalMappingContext context = new JdbcMappingContext(); ThreadLocal userHandler = new ThreadLocal<>(); /** @@ -207,7 +208,7 @@ public class SqlGeneratorContextBasedNamingStrategyUnitTests { */ private SqlGenerator configureSqlGenerator(NamingStrategy namingStrategy) { - RelationalMappingContext context = new RelationalMappingContext(namingStrategy); + RelationalMappingContext context = new JdbcMappingContext(namingStrategy); RelationalPersistentEntity persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class); return new SqlGenerator(context, persistentEntity, new SqlGeneratorSource(context)); diff --git a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java index e25e5582..7a8105d5 100644 --- a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorFixedNamingStrategyUnitTests.java @@ -20,13 +20,13 @@ import static org.assertj.core.api.Assertions.*; import org.assertj.core.api.SoftAssertions; import org.junit.Test; import org.springframework.data.annotation.Id; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.core.mapping.PersistentPropertyPathTestUtils; import org.springframework.data.mapping.PersistentPropertyPath; -import org.springframework.data.mapping.PropertyPath; +import org.springframework.data.relational.core.mapping.NamingStrategy; 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.mapping.NamingStrategy; /** * Unit tests the {@link SqlGenerator} with a fixed {@link NamingStrategy} implementation containing a hard wired @@ -67,7 +67,7 @@ public class SqlGeneratorFixedNamingStrategyUnitTests { } }; - private RelationalMappingContext context = new RelationalMappingContext(); + private RelationalMappingContext context = new JdbcMappingContext(); @Test // DATAJDBC-107 public void findOneWithOverriddenFixedTableName() { @@ -187,7 +187,7 @@ public class SqlGeneratorFixedNamingStrategyUnitTests { */ private SqlGenerator configureSqlGenerator(NamingStrategy namingStrategy) { - RelationalMappingContext context = new RelationalMappingContext(namingStrategy); + RelationalMappingContext context = new JdbcMappingContext(namingStrategy); RelationalPersistentEntity persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class); return new SqlGenerator(context, persistentEntity, new SqlGeneratorSource(context)); } diff --git a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java index 9578d6c7..97d97827 100644 --- a/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/SqlGeneratorUnitTests.java @@ -26,6 +26,7 @@ import org.junit.Before; import org.junit.Test; import org.springframework.data.annotation.Id; import org.springframework.data.jdbc.core.mapping.AggregateReference; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.core.mapping.PersistentPropertyPathTestUtils; import org.springframework.data.mapping.PersistentPropertyPath; import org.springframework.data.relational.core.mapping.NamingStrategy; @@ -42,7 +43,7 @@ import org.springframework.data.relational.core.mapping.RelationalPersistentProp public class SqlGeneratorUnitTests { private SqlGenerator sqlGenerator; - private RelationalMappingContext context = new RelationalMappingContext(); + private RelationalMappingContext context = new JdbcMappingContext(); @Before public void setUp() { @@ -53,7 +54,7 @@ public class SqlGeneratorUnitTests { SqlGenerator createSqlGenerator(Class type) { NamingStrategy namingStrategy = new PrefixingNamingStrategy(); - RelationalMappingContext context = new RelationalMappingContext(namingStrategy); + RelationalMappingContext context = new JdbcMappingContext(namingStrategy); RelationalPersistentEntity persistentEntity = context.getRequiredPersistentEntity(type); return new SqlGenerator(context, persistentEntity, new SqlGeneratorSource(context)); diff --git a/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterAggregateReferenceUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/BasicRelationalConverterAggregateReferenceUnitTests.java similarity index 83% rename from src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterAggregateReferenceUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/BasicRelationalConverterAggregateReferenceUnitTests.java index bd46c2df..572d9e5c 100644 --- a/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterAggregateReferenceUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/BasicRelationalConverterAggregateReferenceUnitTests.java @@ -13,17 +13,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.relational.core.conversion; +package org.springframework.data.jdbc.core.convert; import static org.assertj.core.api.Assertions.*; +import org.assertj.core.api.Assertions; import org.assertj.core.api.SoftAssertions; import org.junit.Test; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.data.annotation.Id; import org.springframework.data.jdbc.core.mapping.AggregateReference; -import org.springframework.data.relational.core.mapping.RelationalMappingContext; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; +import org.springframework.data.relational.core.conversion.RelationalConverter; import org.springframework.data.relational.core.mapping.RelationalPersistentEntity; import org.springframework.data.relational.core.mapping.RelationalPersistentProperty; import org.springframework.data.util.ClassTypeInformation; @@ -40,8 +42,8 @@ public class BasicRelationalConverterAggregateReferenceUnitTests { ConversionService conversionService = new DefaultConversionService(); - RelationalMappingContext context = new RelationalMappingContext(); - RelationalConverter converter = new BasicRelationalConverter(context); + JdbcMappingContext context = new JdbcMappingContext(); + RelationalConverter converter = new BasicJdbcConverter(context); RelationalPersistentEntity entity = context.getRequiredPersistentEntity(DummyEntity.class); @@ -52,7 +54,7 @@ public class BasicRelationalConverterAggregateReferenceUnitTests { Object readValue = converter.readValue(23, property.getTypeInformation()); - assertThat(readValue).isInstanceOf(AggregateReference.class); + Assertions.assertThat(readValue).isInstanceOf(AggregateReference.class); assertThat(((AggregateReference) readValue).getId()).isEqualTo(23L); } @@ -65,7 +67,7 @@ public class BasicRelationalConverterAggregateReferenceUnitTests { Object writeValue = converter.writeValue(reference, ClassTypeInformation.from(property.getColumnType())); - assertThat(writeValue).isEqualTo(23L); + Assertions.assertThat(writeValue).isEqualTo(23L); } private static class DummyEntity { diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentPropertyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentPropertyUnitTests.java new file mode 100644 index 00000000..f634447c --- /dev/null +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/BasicJdbcPersistentPropertyUnitTests.java @@ -0,0 +1,163 @@ +/* + * Copyright 2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.jdbc.core.mapping; + +import static org.assertj.core.api.Assertions.*; + +import lombok.Data; + +import java.time.LocalDateTime; +import java.time.ZonedDateTime; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +import org.assertj.core.api.SoftAssertions; +import org.junit.Test; +import org.springframework.data.annotation.Id; +import org.springframework.data.mapping.PropertyHandler; +import org.springframework.data.relational.core.mapping.BasicRelationalPersistentProperty; +import org.springframework.data.relational.core.mapping.Column; +import org.springframework.data.relational.core.mapping.RelationalMappingContext; +import org.springframework.data.relational.core.mapping.RelationalPersistentEntity; +import org.springframework.data.relational.core.mapping.RelationalPersistentProperty; + +/** + * Unit tests for the {@link BasicRelationalPersistentProperty}. + * + * @author Jens Schauder + * @author Oliver Gierke + * @author Florian Lüdiger + */ +public class BasicJdbcPersistentPropertyUnitTests { + + RelationalMappingContext context = new JdbcMappingContext(); + RelationalPersistentEntity entity = context.getRequiredPersistentEntity(DummyEntity.class); + + @Test // DATAJDBC-104 + public void enumGetsStoredAsString() { + + RelationalPersistentEntity persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class); + + entity.doWithProperties((PropertyHandler) p -> { + switch (p.getName()) { + case "someEnum": + assertThat(p.getColumnType()).isEqualTo(String.class); + break; + case "localDateTime": + assertThat(p.getColumnType()).isEqualTo(Date.class); + break; + case "zonedDateTime": + assertThat(p.getColumnType()).isEqualTo(String.class); + break; + default: + } + }); + } + + @Test // DATAJDBC-104, DATAJDBC-1384 + public void testTargetTypesForPropertyType() { + + SoftAssertions softly = new SoftAssertions(); + + RelationalPersistentEntity persistentEntity = context.getRequiredPersistentEntity(DummyEntity.class); + + checkTargetType(softly, persistentEntity, "someEnum", String.class); + checkTargetType(softly, persistentEntity, "localDateTime", Date.class); + checkTargetType(softly, persistentEntity, "zonedDateTime", String.class); + checkTargetType(softly, persistentEntity, "uuid", UUID.class); + + softly.assertAll(); + } + + @Test // DATAJDBC-106 + public void detectsAnnotatedColumnName() { + + RelationalPersistentEntity entity = context.getRequiredPersistentEntity(DummyEntity.class); + + assertThat(entity.getRequiredPersistentProperty("name").getColumnName()).isEqualTo("dummy_name"); + assertThat(entity.getRequiredPersistentProperty("localDateTime").getColumnName()) + .isEqualTo("dummy_last_updated_at"); + } + + @Test // DATAJDBC-218 + public void detectsAnnotatedColumnAndKeyName() { + + RelationalPersistentProperty listProperty = context // + .getRequiredPersistentEntity(DummyEntity.class) // + .getRequiredPersistentProperty("someList"); + + assertThat(listProperty.getReverseColumnName()).isEqualTo("dummy_column_name"); + assertThat(listProperty.getKeyColumn()).isEqualTo("dummy_key_column_name"); + } + + @Test // DATAJDBC-221 + public void referencesAreNotEntitiesAndGetStoredAsTheirId() { + + SoftAssertions softly = new SoftAssertions(); + + RelationalPersistentProperty reference = entity.getRequiredPersistentProperty("reference"); + + softly.assertThat(reference.isEntity()).isFalse(); + softly.assertThat(reference.getColumnType()).isEqualTo(Long.class); + + softly.assertAll(); + } + + private void checkTargetType(SoftAssertions softly, RelationalPersistentEntity persistentEntity, + String propertyName, Class expected) { + + RelationalPersistentProperty property = persistentEntity.getRequiredPersistentProperty(propertyName); + + softly.assertThat(property.getColumnType()).describedAs(propertyName).isEqualTo(expected); + } + + @Data + @SuppressWarnings("unused") + private static class DummyEntity { + + @Id private final Long id; + private final SomeEnum someEnum; + private final LocalDateTime localDateTime; + private final ZonedDateTime zonedDateTime; + private final AggregateReference reference; + private final List listField; + private final UUID uuid; + + @Column(value = "dummy_column_name", keyColumn = "dummy_key_column_name") private List someList; + + // DATACMNS-106 + private @Column("dummy_name") String name; + + @Column("dummy_last_updated_at") + public LocalDateTime getLocalDateTime() { + return localDateTime; + } + + public void setListSetter(Integer integer) { + + } + + public List getListGetter() { + return null; + } + } + + @SuppressWarnings("unused") + private enum SomeEnum { + ALPHA + } +} diff --git a/src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/mapping/PersistentPropertyPathTestUtils.java diff --git a/src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/degraph/DependencyTests.java diff --git a/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java similarity index 94% rename from src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java index 35a5dc3e..6d4a1044 100644 --- a/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mapping/model/NamingStrategyUnitTests.java @@ -24,8 +24,8 @@ import java.util.List; import org.junit.Test; import org.springframework.data.annotation.Id; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.relational.core.mapping.NamingStrategy; -import org.springframework.data.relational.core.mapping.RelationalMappingContext; import org.springframework.data.relational.core.mapping.RelationalPersistentEntity; /** @@ -40,7 +40,7 @@ public class NamingStrategyUnitTests { private final NamingStrategy target = NamingStrategy.INSTANCE; private final RelationalPersistentEntity persistentEntity = // - new RelationalMappingContext(target).getRequiredPersistentEntity(DummyEntity.class); + new JdbcMappingContext(target).getRequiredPersistentEntity(DummyEntity.class); @Test // DATAJDBC-184 public void getTableName() { diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java similarity index 99% rename from src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java index 8b08a36c..18dc5309 100644 --- a/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntity.java @@ -16,6 +16,7 @@ package org.springframework.data.jdbc.mybatis; import lombok.experimental.Wither; + import org.apache.ibatis.type.Alias; import org.springframework.data.annotation.Id; diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/DummyEntityMapper.java diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java index 070bacc6..3db4c2cc 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java @@ -19,8 +19,8 @@ import static org.assertj.core.api.Assertions.*; import lombok.Data; import lombok.Value; - import lombok.experimental.FieldDefaults; + import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java similarity index 99% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java index 90ba98f0..cfa69822 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java @@ -28,7 +28,6 @@ import java.util.List; import java.util.Random; import org.junit.ClassRule; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryPropertyConversionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java similarity index 99% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java index 312bade9..484787a6 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests.java @@ -24,7 +24,6 @@ import lombok.RequiredArgsConstructor; import java.util.HashMap; import java.util.HashSet; import java.util.Set; -import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import org.junit.ClassRule; diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithCollectionsIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java similarity index 99% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java index 8c5c72e9..ca05f350 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithListsIntegrationTests.java @@ -15,9 +15,16 @@ */ package org.springframework.data.jdbc.repository; +import static org.assertj.core.api.Assertions.*; + import junit.framework.AssertionFailedError; import lombok.Data; import lombok.RequiredArgsConstructor; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; @@ -35,12 +42,6 @@ import org.springframework.test.context.junit4.rules.SpringClassRule; import org.springframework.test.context.junit4.rules.SpringMethodRule; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import static org.assertj.core.api.Assertions.*; - /** * Very simple use cases for creation and usage of JdbcRepositories for Entities that contain {@link List}s. * diff --git a/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryWithMapsIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java index 9cf4fce3..4a2df163 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java @@ -25,12 +25,12 @@ import static org.mockito.Mockito.*; import junit.framework.AssertionFailedError; import lombok.RequiredArgsConstructor; import lombok.Value; +import lombok.experimental.Wither; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import lombok.experimental.Wither; import org.assertj.core.groups.Tuple; import org.junit.Before; import org.junit.Test; @@ -40,6 +40,7 @@ import org.springframework.data.annotation.Id; import org.springframework.data.jdbc.core.DefaultDataAccessStrategy; import org.springframework.data.jdbc.core.SqlGeneratorSource; import org.springframework.data.jdbc.core.convert.JdbcCustomConversions; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory; import org.springframework.data.jdbc.repository.support.SimpleJdbcRepository; import org.springframework.data.relational.core.conversion.BasicRelationalConverter; @@ -74,7 +75,7 @@ public class SimpleJdbcRepositoryEventsUnitTests { @Before public void before() { - RelationalMappingContext context = new RelationalMappingContext(); + RelationalMappingContext context = new JdbcMappingContext(); RelationalConverter converter = new BasicRelationalConverter(context, new JdbcCustomConversions()); NamedParameterJdbcOperations operations = createIdGeneratingOperations(); diff --git a/src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/ConfigurableRowMapperMapUnitTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java diff --git a/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 similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java similarity index 99% rename from src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java index bec15dd5..c69bbb75 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java @@ -17,6 +17,8 @@ package org.springframework.data.jdbc.repository.query; import static org.assertj.core.api.Assertions.*; +import lombok.Value; + import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.Date; @@ -24,7 +26,6 @@ import java.util.List; import java.util.Optional; import java.util.stream.Stream; -import lombok.Value; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryLookupStrategyUnitTests.java diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java similarity index 98% rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java index 0b5f1ece..3f023f10 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcQueryMethodUnitTests.java @@ -16,7 +16,7 @@ package org.springframework.data.jdbc.repository.support; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; import java.lang.reflect.Method; diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java index 1df85c73..d8026901 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java @@ -28,6 +28,7 @@ import org.springframework.context.ApplicationEventPublisher; import org.springframework.data.annotation.Id; import org.springframework.data.jdbc.core.DataAccessStrategy; import org.springframework.data.jdbc.core.DefaultDataAccessStrategy; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.repository.RowMapperMap; import org.springframework.data.relational.core.conversion.BasicRelationalConverter; import org.springframework.data.relational.core.mapping.RelationalMappingContext; @@ -56,7 +57,7 @@ public class JdbcRepositoryFactoryBeanUnitTests { @Before public void setUp() { - this.mappingContext = new RelationalMappingContext(); + this.mappingContext = new JdbcMappingContext(); // Setup standard configuration factoryBean = new JdbcRepositoryFactoryBean<>(DummyEntityRepository.class); diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java similarity index 96% rename from src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java index 6a86e70b..2b70a0b5 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryQueryUnitTests.java @@ -15,7 +15,10 @@ */ package org.springframework.data.jdbc.repository.support; -import static org.mockito.ArgumentMatchers.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.*; import java.sql.ResultSet; diff --git a/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java similarity index 97% rename from src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java index 0328209c..3fd62839 100644 --- a/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/support/SimpleJdbcRepositoryUnitTests.java @@ -16,7 +16,7 @@ package org.springframework.data.jdbc.repository.support; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; import org.junit.Test; diff --git a/src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/DataSourceConfiguration.java diff --git a/src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/HsqlDataSourceConfiguration.java diff --git a/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MariaDBDataSourceConfiguration.java diff --git a/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java diff --git a/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java diff --git a/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java similarity index 88% rename from src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java index 1afdfbc2..9211fb1b 100644 --- a/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java @@ -29,9 +29,10 @@ import org.springframework.data.convert.CustomConversions; import org.springframework.data.jdbc.core.DataAccessStrategy; import org.springframework.data.jdbc.core.DefaultDataAccessStrategy; import org.springframework.data.jdbc.core.SqlGeneratorSource; +import org.springframework.data.jdbc.core.convert.BasicJdbcConverter; import org.springframework.data.jdbc.core.convert.JdbcCustomConversions; +import org.springframework.data.jdbc.core.mapping.JdbcMappingContext; import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory; -import org.springframework.data.relational.core.conversion.BasicRelationalConverter; import org.springframework.data.relational.core.conversion.RelationalConverter; import org.springframework.data.relational.core.mapping.NamingStrategy; import org.springframework.data.relational.core.mapping.RelationalMappingContext; @@ -78,11 +79,10 @@ public class TestConfiguration { } @Bean - RelationalMappingContext jdbcMappingContext(NamedParameterJdbcOperations template, - Optional namingStrategy, CustomConversions conversions) { + JdbcMappingContext jdbcMappingContext(NamedParameterJdbcOperations template, Optional namingStrategy, + CustomConversions conversions) { - RelationalMappingContext mappingContext = new RelationalMappingContext( - namingStrategy.orElse(NamingStrategy.INSTANCE)); + JdbcMappingContext mappingContext = new JdbcMappingContext(namingStrategy.orElse(NamingStrategy.INSTANCE)); mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder()); return mappingContext; } @@ -94,6 +94,6 @@ public class TestConfiguration { @Bean RelationalConverter relationalConverter(RelationalMappingContext mappingContext, CustomConversions conversions) { - return new BasicRelationalConverter(mappingContext, conversions); + return new BasicJdbcConverter(mappingContext, conversions); } } diff --git a/src/test/java/org/springframework/data/jdbc/testing/TestUtils.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestUtils.java similarity index 100% rename from src/test/java/org/springframework/data/jdbc/testing/TestUtils.java rename to spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/TestUtils.java diff --git a/src/test/resources/logback.xml b/spring-data-jdbc/src/test/resources/logback.xml similarity index 100% rename from src/test/resources/logback.xml rename to spring-data-jdbc/src/test/resources/logback.xml diff --git a/src/test/resources/mysql.cnf b/spring-data-jdbc/src/test/resources/mysql.cnf similarity index 100% rename from src/test/resources/mysql.cnf rename to spring-data-jdbc/src/test/resources/mysql.cnf diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/AggregateTemplateIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.core/ImmutableAggregateTemplateHsqlIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisCustomizingNamespaceHsqlIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.mybatis/MyBatisHsqlIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcAuditingHsqlIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.config/EnableJdbcRepositoriesIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository.query/QueryAnnotationHsqlIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryCrossAggregateHsqlIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIdGenerationIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryManipulateDbActionsIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryPropertyConversionIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsAndManuallyAssignedIdHsqlIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithCollectionsNoIdIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithListsIntegrationTests-postgres.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-hsql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mariadb.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-mysql.sql diff --git a/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql b/spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql similarity index 100% rename from src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql rename to spring-data-jdbc/src/test/resources/org.springframework.data.jdbc.repository/JdbcRepositoryWithMapsIntegrationTests-postgres.sql diff --git a/src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml b/spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml similarity index 100% rename from src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml rename to spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/DummyEntityMapper.xml diff --git a/src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml b/spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml similarity index 100% rename from src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml rename to spring-data-jdbc/src/test/resources/org/springframework/data/jdbc/mybatis/mapper/DummyEntityMapper.xml diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml new file mode 100644 index 00000000..fe1f0b95 --- /dev/null +++ b/spring-data-r2dbc/pom.xml @@ -0,0 +1,166 @@ + + + + 4.0.0 + + spring-data-r2dbc + 1.1.0.r2dbc-SNAPSHOT + + Spring Data R2DBC + Spring Data module for JDBC repositories. + http://projects.spring.io/spring-data-jdbc + + + org.springframework.data + spring-data-relational-parent + 1.1.0.r2dbc-SNAPSHOT + + + + + DATAR2DBC + + spring.data.r2dbc + 42.0.0 + 1.0.0.M5 + 1.0.0.M5 + + + + 2018 + + + + ogierke + Oliver Gierke + ogierke(at)pivotal.io + Pivotal Software, Inc. + https://pivotal.io + + Project Lead + + +1 + + + mpaluch + Mark Paluch + mpaluch(at)pivotal.io + Pivotal Software, Inc. + https://pivotal.io + + Project Lead + + +1 + + + + + + + ${project.groupId} + spring-data-relational + ${project.version} + + + + ${project.groupId} + spring-data-commons + ${springdata.commons} + + + + org.springframework + spring-tx + + + + org.springframework + spring-context + + + + org.springframework + spring-beans + + + + org.springframework + spring-jdbc + + + + org.springframework + spring-core + + + + io.r2dbc + r2dbc-spi + ${r2dbc-spi.version} + true + + + + io.projectreactor + reactor-core + true + + + + org.assertj + assertj-core + ${assertj-core.version} + test + + + + io.projectreactor + reactor-test + test + + + + org.postgresql + postgresql + ${postgresql.version} + test + + + + io.r2dbc + r2dbc-postgresql + ${r2dbc-postgresql.version} + test + + + + de.schauderhaft.degraph + degraph-check + ${degraph-check.version} + test + + + + org.testcontainers + mysql + ${testcontainers.version} + test + + + org.slf4j + jcl-over-slf4j + + + + + + org.testcontainers + postgresql + ${testcontainers.version} + test + + + + + diff --git a/spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/Query.java b/spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/Query.java new file mode 100644 index 00000000..43b451da --- /dev/null +++ b/spring-data-r2dbc/src/main/java/org/springframework/data/r2dbc/repository/query/Query.java @@ -0,0 +1,41 @@ +/* + * Copyright 2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.r2dbc.repository.query; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import org.springframework.data.annotation.QueryAnnotation; + +/** + * Annotation to provide SQL statements that will get used for executing the method. + * + * @author Mark Paluch + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +@QueryAnnotation +@Documented +public @interface Query { + + /** + * The SQL statement to execute when the annotated method gets invoked. + */ + String value(); +} diff --git a/spring-data-r2dbc/src/test/resources/logback.xml b/spring-data-r2dbc/src/test/resources/logback.xml new file mode 100644 index 00000000..e310de95 --- /dev/null +++ b/spring-data-r2dbc/src/test/resources/logback.xml @@ -0,0 +1,18 @@ + + + + + + %d %5p %40.40c:%4L - %m%n + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-data-relational/pom.xml b/spring-data-relational/pom.xml new file mode 100644 index 00000000..311ee2cc --- /dev/null +++ b/spring-data-relational/pom.xml @@ -0,0 +1,74 @@ + + + + 4.0.0 + + spring-data-relational + 1.1.0.BUILD-SNAPSHOT + + Spring Data Relational + Spring Data Relational support + + + org.springframework.data + spring-data-relational-parent + 1.1.0.BUILD-SNAPSHOT + + + + + spring.data.relational + + + + + + ${project.groupId} + spring-data-commons + ${springdata.commons} + + + + org.springframework + spring-tx + + + + org.springframework + spring-context + + + + org.springframework + spring-beans + + + + org.springframework + spring-core + + + + org.assertj + assertj-core + ${assertj-core.version} + test + + + + io.projectreactor + reactor-test + test + + + + de.schauderhaft.degraph + degraph-check + ${degraph-check.version} + test + + + + + diff --git a/src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/AggregateChange.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java similarity index 95% rename from src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java index ebdd0911..ca9c4256 100644 --- a/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/BasicRelationalConverter.java @@ -27,7 +27,6 @@ import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.data.convert.CustomConversions; import org.springframework.data.convert.CustomConversions.StoreConversions; import org.springframework.data.convert.EntityInstantiators; -import org.springframework.data.jdbc.core.mapping.AggregateReference; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; @@ -111,6 +110,10 @@ public class BasicRelationalConverter implements RelationalConverter { return conversionService; } + public CustomConversions getConversions() { + return conversions; + } + /* * (non-Javadoc) * @see org.springframework.data.relational.core.conversion.RelationalConverter#getMappingContext() @@ -159,14 +162,6 @@ public class BasicRelationalConverter implements RelationalConverter { return conversionService.convert(value, type.getType()); } - if (AggregateReference.class.isAssignableFrom(type.getType())) { - - TypeInformation idType = type.getSuperTypeInformation(AggregateReference.class) - .getTypeArguments().get(1); - - return AggregateReference.to(readValue(value, idType)); - } - return getPotentiallyConvertedSimpleRead(value, type.getType()); } @@ -182,10 +177,6 @@ public class BasicRelationalConverter implements RelationalConverter { return null; } - if (AggregateReference.class.isAssignableFrom(value.getClass())) { - return writeValue (((AggregateReference) value).getId(), type); - } - Class rawType = type.getType(); RelationalPersistentEntity persistentEntity = context.getPersistentEntity(value.getClass()); diff --git a/src/main/java/org/springframework/data/relational/core/conversion/DbAction.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbAction.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/DbAction.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbAction.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/DbActionExecutionException.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/Interpreter.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalConverter.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriter.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalEntityWriter.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/RelationalPropertyPath.java diff --git a/src/main/java/org/springframework/data/relational/core/conversion/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/conversion/package-info.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/package-info.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java similarity index 94% rename from src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java index 66ce056b..a9fc17ac 100644 --- a/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentProperty.java @@ -23,8 +23,6 @@ import java.util.Map; import java.util.Optional; import java.util.Set; -import org.springframework.data.jdbc.core.mapping.AggregateReference; -import org.springframework.data.jdbc.support.JdbcUtil; import org.springframework.data.mapping.Association; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.model.AnnotationBasedPersistentProperty; @@ -43,7 +41,7 @@ import org.springframework.util.StringUtils; * @author Greg Turnquist * @author Florian Lüdiger */ -class BasicRelationalPersistentProperty extends AnnotationBasedPersistentProperty +public class BasicRelationalPersistentProperty extends AnnotationBasedPersistentProperty implements RelationalPersistentProperty { private static final Map, Class> javaToDbType = new LinkedHashMap<>(); @@ -105,7 +103,7 @@ class BasicRelationalPersistentProperty extends AnnotationBasedPersistentPropert @Override public boolean isReference() { - return AggregateReference.class.isAssignableFrom(getRawType()); + return false; } /* @@ -137,7 +135,7 @@ class BasicRelationalPersistentProperty extends AnnotationBasedPersistentPropert @Override public int getSqlType() { - return JdbcUtil.sqlTypeFor(getColumnType()); + return -1; } @Override diff --git a/src/main/java/org/springframework/data/relational/core/mapping/Column.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Column.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/Column.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Column.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/NamingStrategy.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java similarity index 87% rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java index 31ba7249..ff4b0056 100644 --- a/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalMappingContext.java @@ -17,8 +17,6 @@ package org.springframework.data.relational.core.mapping; import lombok.Getter; -import org.springframework.data.jdbc.core.mapping.AggregateReference; -import org.springframework.data.jdbc.core.mapping.JdbcSimpleTypes; import org.springframework.data.mapping.context.AbstractMappingContext; import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mapping.model.Property; @@ -58,7 +56,7 @@ public class RelationalMappingContext this.namingStrategy = namingStrategy; - setSimpleTypeHolder(JdbcSimpleTypes.HOLDER); + setSimpleTypeHolder(SimpleTypeHolder.DEFAULT); } /* @@ -79,9 +77,4 @@ public class RelationalMappingContext RelationalPersistentEntity owner, SimpleTypeHolder simpleTypeHolder) { return new BasicRelationalPersistentProperty(property, owner, simpleTypeHolder, this); } - - @Override - protected boolean shouldCreatePersistentEntityFor(TypeInformation type) { - return super.shouldCreatePersistentEntityFor(type) && !AggregateReference.class.isAssignableFrom(type.getType()); - } } diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntity.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImpl.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/RelationalPersistentProperty.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/Table.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Table.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/Table.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/Table.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterDeleteEvent.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterLoadEvent.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/AfterSaveEvent.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeDeleteEvent.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeSaveEvent.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Identifier.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEvent.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithEntity.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithId.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/RelationalEventWithIdAndEntity.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SimpleRelationalEvent.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/SpecifiedIdentifier.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/Unset.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithEntity.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/WithId.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/package-info.java diff --git a/src/main/java/org/springframework/data/relational/core/mapping/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/relational/core/mapping/package-info.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/package-info.java diff --git a/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java b/spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java similarity index 95% rename from src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java index 623f4eca..d2d14a3e 100644 --- a/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/RelationalAuditingEventListener.java @@ -19,7 +19,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.context.ApplicationListener; import org.springframework.data.auditing.IsNewAwareAuditingHandler; -import org.springframework.data.jdbc.repository.config.EnableJdbcAuditing; import org.springframework.data.relational.core.mapping.event.BeforeSaveEvent; /** diff --git a/src/main/java/org/springframework/data/relational/domain/support/package-info.java b/spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/relational/domain/support/package-info.java rename to spring-data-relational/src/main/java/org/springframework/data/relational/domain/support/package-info.java diff --git a/src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/AggregateChangeUnitTests.java diff --git a/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/BasicRelationalConverterUnitTests.java diff --git a/src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionExecutionExceptionTest.java diff --git a/src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/DbActionUnitTests.java diff --git a/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityDeleteWriterUnitTests.java diff --git a/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/conversion/RelationalEntityWriterUnitTests.java diff --git a/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java similarity index 87% rename from src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java index 8ae16569..793b2ab1 100644 --- a/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java +++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/BasicRelationalPersistentPropertyUnitTests.java @@ -28,7 +28,6 @@ import java.util.UUID; import org.assertj.core.api.SoftAssertions; import org.junit.Test; import org.springframework.data.annotation.Id; -import org.springframework.data.jdbc.core.mapping.AggregateReference; import org.springframework.data.mapping.PropertyHandler; /** @@ -93,26 +92,13 @@ public class BasicRelationalPersistentPropertyUnitTests { public void detectsAnnotatedColumnAndKeyName() { RelationalPersistentProperty listProperty = context // - .getRequiredPersistentEntity(DummyEntity.class) // - .getRequiredPersistentProperty("someList"); + .getRequiredPersistentEntity(DummyEntity.class) // + .getRequiredPersistentProperty("someList"); assertThat(listProperty.getReverseColumnName()).isEqualTo("dummy_column_name"); assertThat(listProperty.getKeyColumn()).isEqualTo("dummy_key_column_name"); } - @Test // DATAJDBC-221 - public void referencesAreNotEntitiesAndGetStoredAsTheirId() { - - SoftAssertions softly = new SoftAssertions(); - - RelationalPersistentProperty reference = entity.getRequiredPersistentProperty("reference"); - - softly.assertThat(reference.isEntity()).isFalse(); - softly.assertThat(reference.getColumnType()).isEqualTo(Long.class); - - softly.assertAll(); - } - private void checkTargetType(SoftAssertions softly, RelationalPersistentEntity persistentEntity, String propertyName, Class expected) { @@ -129,7 +115,6 @@ public class BasicRelationalPersistentPropertyUnitTests { private final SomeEnum someEnum; private final LocalDateTime localDateTime; private final ZonedDateTime zonedDateTime; - private final AggregateReference reference; private final List listField; private final UUID uuid; diff --git a/src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/NamingStrategyUnitTests.java diff --git a/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java similarity index 83% rename from src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java index 4c30bfd1..d2e0a1c4 100644 --- a/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java +++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalMappingContextUnitTests.java @@ -17,10 +17,13 @@ package org.springframework.data.relational.core.mapping; import static org.assertj.core.api.Assertions.*; +import java.util.Arrays; +import java.util.HashSet; import java.util.UUID; import org.junit.Test; import org.springframework.data.annotation.Id; +import org.springframework.data.mapping.model.SimpleTypeHolder; /** * Unit tests for {@link RelationalMappingContext}. @@ -32,7 +35,11 @@ public class RelationalMappingContextUnitTests { @Test // DATAJDBC-229 public void uuidPropertyIsNotEntity() { + SimpleTypeHolder holder = new SimpleTypeHolder(new HashSet<>(Arrays.asList(UUID.class)), true); + RelationalMappingContext mappingContext = new RelationalMappingContext(); + mappingContext.setSimpleTypeHolder(holder); + RelationalPersistentEntity entity = mappingContext.getPersistentEntity(EntityWithUuid.class); RelationalPersistentProperty uuidProperty = entity.getRequiredPersistentProperty("uuid"); @@ -42,4 +49,6 @@ public class RelationalMappingContextUnitTests { static class EntityWithUuid { @Id UUID uuid; } + + } diff --git a/src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/RelationalPersistentEntityImplUnitTests.java diff --git a/src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java similarity index 100% rename from src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java rename to spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/IdentifierTest.java