Skip to content

Commit 08691d6

Browse files
committed
DATAJDBC-151 - Polishing.
Removed unused code. Moved more of the context configuration into the common TestConfiguration.
1 parent b044a13 commit 08691d6

7 files changed

+44
-111
lines changed

src/test/java/org/springframework/data/jdbc/core/JdbcEntityTemplateIntegrationTests.java

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
*/
1616
package org.springframework.data.jdbc.core;
1717

18-
import static java.util.Collections.*;
19-
import static org.assertj.core.api.Assertions.*;
18+
import static java.util.Collections.singletonList;
19+
import static org.assertj.core.api.Assertions.assertThat;
20+
import static org.assertj.core.api.Assertions.tuple;
2021

2122
import lombok.Data;
2223

@@ -32,7 +33,6 @@
3233
import org.springframework.data.annotation.Id;
3334
import org.springframework.data.jdbc.mapping.model.JdbcMappingContext;
3435
import org.springframework.data.jdbc.testing.TestConfiguration;
35-
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
3636
import org.springframework.test.context.ContextConfiguration;
3737
import org.springframework.test.context.junit4.rules.SpringClassRule;
3838
import org.springframework.test.context.junit4.rules.SpringMethodRule;
@@ -250,26 +250,8 @@ Class<?> testClass() {
250250
}
251251

252252
@Bean
253-
JdbcEntityOperations operations(ApplicationEventPublisher publisher,
254-
NamedParameterJdbcOperations namedParameterJdbcOperations) {
255-
256-
final JdbcMappingContext context = new JdbcMappingContext();
257-
return new JdbcEntityTemplate(publisher, context, dataAccessStrategy(namedParameterJdbcOperations, context));
258-
}
259-
260-
private DelegatingDataAccessStrategy dataAccessStrategy(NamedParameterJdbcOperations namedParameterJdbcOperations,
261-
JdbcMappingContext context) {
262-
263-
DelegatingDataAccessStrategy accessStrategy = new DelegatingDataAccessStrategy();
264-
265-
accessStrategy.setDelegate(new DefaultDataAccessStrategy( //
266-
new SqlGeneratorSource(context), //
267-
namedParameterJdbcOperations, //
268-
context, //
269-
accessStrategy) //
270-
);
271-
272-
return accessStrategy;
253+
JdbcEntityOperations operations(ApplicationEventPublisher publisher, JdbcMappingContext context, DataAccessStrategy dataAccessStrategy) {
254+
return new JdbcEntityTemplate(publisher, context, dataAccessStrategy);
273255
}
274256
}
275257
}

src/test/java/org/springframework/data/jdbc/mybatis/MyBatisHsqlIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.data.jdbc.mybatis;
1717

18-
import static org.assertj.core.api.Assertions.*;
18+
import static org.assertj.core.api.Assertions.assertThat;
1919

2020
import junit.framework.AssertionFailedError;
2121

src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.data.jdbc.repository;
1717

18-
import static org.assertj.core.api.Assertions.*;
18+
import static org.assertj.core.api.Assertions.assertThat;
1919

2020
import lombok.Data;
2121
import lombok.Value;
@@ -26,21 +26,16 @@
2626
import org.junit.Rule;
2727
import org.junit.Test;
2828
import org.springframework.beans.factory.annotation.Autowired;
29-
import org.springframework.beans.factory.annotation.Qualifier;
3029
import org.springframework.context.annotation.Bean;
3130
import org.springframework.context.annotation.ComponentScan;
3231
import org.springframework.context.annotation.Configuration;
3332
import org.springframework.context.annotation.Import;
3433
import org.springframework.data.annotation.Id;
35-
import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
36-
import org.springframework.data.jdbc.core.SqlGeneratorSource;
3734
import org.springframework.data.jdbc.mapping.model.DefaultNamingStrategy;
38-
import org.springframework.data.jdbc.mapping.model.JdbcMappingContext;
3935
import org.springframework.data.jdbc.mapping.model.NamingStrategy;
4036
import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories;
4137
import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory;
4238
import org.springframework.data.repository.CrudRepository;
43-
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
4439
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
4540
import org.springframework.test.context.ContextConfiguration;
4641
import org.springframework.test.context.junit4.rules.SpringClassRule;
@@ -65,12 +60,6 @@ static class Config {
6560
Class<?> testClass() {
6661
return JdbcRepositoryIdGenerationIntegrationTests.class;
6762
}
68-
69-
@Bean
70-
DefaultDataAccessStrategy defaultDataAccessStrategy(JdbcMappingContext context,
71-
@Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations operations) {
72-
return new DefaultDataAccessStrategy(new SqlGeneratorSource(context), operations, context);
73-
}
7463
}
7564

7665
@ClassRule public static final SpringClassRule classRule = new SpringClassRule();

src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryManipulateDbActionsIntegrationTests.java

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@
1515
*/
1616
package org.springframework.data.jdbc.repository;
1717

18-
import static java.util.Arrays.*;
19-
import static org.assertj.core.api.Assertions.*;
18+
import static java.util.Arrays.asList;
19+
import static org.assertj.core.api.Assertions.assertThat;
2020

2121
import junit.framework.AssertionFailedError;
22-
2322
import lombok.Data;
2423
import lombok.Getter;
2524
import lombok.RequiredArgsConstructor;
@@ -32,23 +31,18 @@
3231
import org.junit.Rule;
3332
import org.junit.Test;
3433
import org.springframework.beans.factory.annotation.Autowired;
35-
import org.springframework.beans.factory.annotation.Qualifier;
3634
import org.springframework.context.ApplicationListener;
3735
import org.springframework.context.annotation.Bean;
3836
import org.springframework.context.annotation.Configuration;
3937
import org.springframework.context.annotation.Import;
4038
import org.springframework.data.annotation.Id;
4139
import org.springframework.data.annotation.PersistenceConstructor;
42-
import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
43-
import org.springframework.data.jdbc.core.SqlGeneratorSource;
4440
import org.springframework.data.jdbc.core.conversion.DbAction;
4541
import org.springframework.data.jdbc.mapping.event.BeforeDelete;
4642
import org.springframework.data.jdbc.mapping.event.BeforeSave;
47-
import org.springframework.data.jdbc.mapping.model.JdbcMappingContext;
4843
import org.springframework.data.jdbc.repository.config.EnableJdbcRepositories;
4944
import org.springframework.data.jdbc.testing.TestConfiguration;
5045
import org.springframework.data.repository.CrudRepository;
51-
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
5246
import org.springframework.test.context.ContextConfiguration;
5347
import org.springframework.test.context.junit4.rules.SpringClassRule;
5448
import org.springframework.test.context.junit4.rules.SpringMethodRule;
@@ -233,12 +227,5 @@ ApplicationListener<BeforeSave> logOnSaveListener() {
233227
actions.add(DbAction.insert(log, null, null));
234228
};
235229
}
236-
237-
@Bean
238-
DefaultDataAccessStrategy defaultDataAccessStrategy(JdbcMappingContext context,
239-
@Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations operations) {
240-
return new DefaultDataAccessStrategy(new SqlGeneratorSource(context), operations, context);
241-
}
242230
}
243-
244231
}

src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcRepositoriesIntegrationTests.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,18 @@
1515
*/
1616
package org.springframework.data.jdbc.repository.config;
1717

18-
import static org.junit.Assert.*;
18+
import static org.junit.Assert.assertNotNull;
1919

2020
import lombok.Data;
2121

2222
import org.junit.Test;
2323
import org.junit.runner.RunWith;
2424
import org.springframework.beans.factory.annotation.Autowired;
25-
import org.springframework.beans.factory.annotation.Qualifier;
2625
import org.springframework.context.annotation.Bean;
2726
import org.springframework.context.annotation.ComponentScan;
2827
import org.springframework.data.annotation.Id;
29-
import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
30-
import org.springframework.data.jdbc.core.SqlGeneratorSource;
31-
import org.springframework.data.jdbc.mapping.model.JdbcMappingContext;
3228
import org.springframework.data.jdbc.repository.config.EnableJdbcRepositoriesIntegrationTests.TestConfiguration;
3329
import org.springframework.data.repository.CrudRepository;
34-
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
3530
import org.springframework.test.context.ContextConfiguration;
3631
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
3732

@@ -74,12 +69,5 @@ static class TestConfiguration {
7469
Class<?> testClass() {
7570
return EnableJdbcRepositoriesIntegrationTests.class;
7671
}
77-
78-
79-
@Bean
80-
DefaultDataAccessStrategy defaultDataAccessStrategy(JdbcMappingContext context,
81-
@Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations operations) {
82-
return new DefaultDataAccessStrategy(new SqlGeneratorSource(context), operations, context);
83-
}
8472
}
8573
}

src/test/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBeanUnitTests.java

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package org.springframework.data.jdbc.repository.support;
22

3-
import static org.assertj.core.api.Assertions.*;
4-
import static org.mockito.Mockito.*;
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.mockito.Mockito.mock;
55

66
import org.junit.Before;
77
import org.junit.Test;
88
import org.junit.runner.RunWith;
99
import org.mockito.Mock;
10-
import org.mockito.Mockito;
1110
import org.mockito.junit.MockitoJUnitRunner;
1211
import org.springframework.beans.factory.BeanFactory;
1312
import org.springframework.beans.factory.ListableBeanFactory;
@@ -16,11 +15,6 @@
1615
import org.springframework.data.jdbc.mapping.model.JdbcMappingContext;
1716
import org.springframework.data.repository.CrudRepository;
1817
import org.springframework.data.repository.Repository;
19-
import org.springframework.data.repository.core.EntityInformation;
20-
import org.springframework.data.repository.core.RepositoryInformation;
21-
import org.springframework.data.repository.core.RepositoryMetadata;
22-
import org.springframework.data.repository.core.support.RepositoryComposition;
23-
import org.springframework.data.repository.core.support.RepositoryFactorySupport;
2418

2519
/**
2620
* Tests the dependency injection for {@link JdbcRepositoryFactoryBean}.
@@ -33,7 +27,6 @@ public class JdbcRepositoryFactoryBeanUnitTests {
3327

3428
JdbcRepositoryFactoryBean<DummyEntityRepository, DummyEntity, Long> factoryBean;
3529

36-
StubRepositoryFactorySupport factory;
3730
@Mock ListableBeanFactory beanFactory;
3831
@Mock Repository<?, ?> repository;
3932
@Mock DataAccessStrategy dataAccessStrategy;
@@ -42,8 +35,6 @@ public class JdbcRepositoryFactoryBeanUnitTests {
4235
@Before
4336
public void setUp() {
4437

45-
factory = Mockito.spy(new StubRepositoryFactorySupport(repository));
46-
4738
// Setup standard configuration
4839
factoryBean = new JdbcRepositoryFactoryBean<>(DummyEntityRepository.class);
4940
}
@@ -64,39 +55,6 @@ public void requiresListableBeanFactory() {
6455
factoryBean.setBeanFactory(mock(BeanFactory.class));
6556
}
6657

67-
/**
68-
* required to trick Mockito on invoking protected getRepository(Class<T> repositoryInterface, Optional<Object>
69-
* customImplementation
70-
*/
71-
private static class StubRepositoryFactorySupport extends RepositoryFactorySupport {
72-
73-
private final Repository<?, ?> repository;
74-
75-
private StubRepositoryFactorySupport(Repository<?, ?> repository) {
76-
this.repository = repository;
77-
}
78-
79-
@Override
80-
public <T> T getRepository(Class<T> repositoryInterface, RepositoryComposition.RepositoryFragments fragments) {
81-
return (T) repository;
82-
}
83-
84-
@Override
85-
public <T, ID> EntityInformation<T, ID> getEntityInformation(Class<T> domainClass) {
86-
return null;
87-
}
88-
89-
@Override
90-
protected Object getTargetRepository(RepositoryInformation metadata) {
91-
return null;
92-
}
93-
94-
@Override
95-
protected Class<?> getRepositoryBaseClass(RepositoryMetadata metadata) {
96-
return null;
97-
}
98-
}
99-
10058
private static class DummyEntity {
10159
@Id private Long id;
10260
}

src/test/java/org/springframework/data/jdbc/testing/TestConfiguration.java

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,24 @@
1515
*/
1616
package org.springframework.data.jdbc.testing;
1717

18+
import java.util.Optional;
19+
1820
import javax.sql.DataSource;
1921

2022
import org.apache.ibatis.session.SqlSessionFactory;
2123
import org.springframework.beans.factory.annotation.Autowired;
24+
import org.springframework.beans.factory.annotation.Qualifier;
2225
import org.springframework.context.ApplicationEventPublisher;
2326
import org.springframework.context.annotation.Bean;
2427
import org.springframework.context.annotation.ComponentScan;
2528
import org.springframework.context.annotation.Configuration;
29+
import org.springframework.data.jdbc.core.DataAccessStrategy;
2630
import org.springframework.data.jdbc.core.DefaultDataAccessStrategy;
31+
import org.springframework.data.jdbc.core.DelegatingDataAccessStrategy;
2732
import org.springframework.data.jdbc.core.SqlGeneratorSource;
28-
import org.springframework.data.jdbc.mapping.model.DefaultNamingStrategy;
29-
import org.springframework.data.jdbc.mapping.model.JdbcMappingContext;
30-
import org.springframework.data.jdbc.mapping.model.JdbcPersistentProperty;
33+
import org.springframework.data.jdbc.mapping.model.*;
3134
import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory;
35+
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
3236
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
3337
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
3438
import org.springframework.transaction.PlatformTransactionManager;
@@ -76,4 +80,29 @@ NamedParameterJdbcTemplate namedParameterJdbcTemplate() {
7680
PlatformTransactionManager transactionManager() {
7781
return new DataSourceTransactionManager(dataSource);
7882
}
83+
84+
@Bean
85+
DataAccessStrategy defaultDataAccessStrategy(JdbcMappingContext context,
86+
@Qualifier("namedParameterJdbcTemplate") NamedParameterJdbcOperations operations) {
87+
88+
DelegatingDataAccessStrategy accessStrategy = new DelegatingDataAccessStrategy();
89+
90+
accessStrategy.setDelegate(new DefaultDataAccessStrategy( //
91+
new SqlGeneratorSource(context), //
92+
operations, //
93+
context, //
94+
accessStrategy) //
95+
);
96+
97+
return accessStrategy;
98+
}
99+
100+
@Bean
101+
JdbcMappingContext jdbcMappingContext(Optional<NamingStrategy> namingStrategy,
102+
Optional<ConversionCustomizer> conversionCustomizer) {
103+
104+
return new JdbcMappingContext(
105+
namingStrategy.orElse(new DefaultNamingStrategy()),
106+
conversionCustomizer.orElse(conversionService -> {}));
107+
}
79108
}

0 commit comments

Comments
 (0)