Skip to content

Commit 75ea445

Browse files
committed
DATAJDBC-330 - Polishing.
Replace lambdas with method references. Remove extraneous overrides. Inline methods. Formatting. Original pull request: #115.
1 parent 341700e commit 75ea445

File tree

3 files changed

+25
-55
lines changed

3 files changed

+25
-55
lines changed

spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/config/JdbcRepositoryConfigExtension.java

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717

1818
import java.util.Locale;
1919

20-
import org.springframework.beans.factory.ListableBeanFactory;
2120
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
22-
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
2321
import org.springframework.data.jdbc.repository.support.JdbcRepositoryFactoryBean;
2422
import org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport;
2523
import org.springframework.data.repository.config.RepositoryConfigurationSource;
@@ -31,49 +29,37 @@
3129
*
3230
* @author Jens Schauder
3331
* @author Fei Dong
32+
* @author Mark Paluch
3433
*/
3534
public class JdbcRepositoryConfigExtension extends RepositoryConfigurationExtensionSupport {
3635

37-
private ListableBeanFactory beanFactory;
38-
3936
/*
40-
* (non-Javadoc)
41-
* @see org.springframework.data.repository.config.RepositoryConfigurationExtension#getModuleName()
37+
* (non-Javadoc)
38+
* @see org.springframework.data.repository.config.RepositoryConfigurationExtension#getModuleName()
4239
*/
4340
@Override
4441
public String getModuleName() {
4542
return "JDBC";
4643
}
4744

4845
/*
49-
* (non-Javadoc)
50-
* @see org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport#getRepositoryFactoryBeanClassName()
46+
* (non-Javadoc)
47+
* @see org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport#getRepositoryFactoryBeanClassName()
5148
*/
5249
@Override
5350
public String getRepositoryFactoryBeanClassName() {
5451
return JdbcRepositoryFactoryBean.class.getName();
5552
}
5653

5754
/*
58-
* (non-Javadoc)
59-
* @see org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport#getModulePrefix()
55+
* (non-Javadoc)
56+
* @see org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport#getModulePrefix()
6057
*/
6158
@Override
6259
protected String getModulePrefix() {
6360
return getModuleName().toLowerCase(Locale.US);
6461
}
6562

66-
/*
67-
* (non-Javadoc)
68-
* @see org.springframework.data.repository.config.RepositoryConfigurationExtension#registerBeansForRoot(org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.data.repository.config.RepositoryConfigurationSource)
69-
*/
70-
public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) {
71-
72-
if (registry instanceof ListableBeanFactory) {
73-
this.beanFactory = (ListableBeanFactory) registry;
74-
}
75-
}
76-
7763
/*
7864
* (non-Javadoc)
7965
* @see org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport#postProcess(org.springframework.beans.factory.support.BeanDefinitionBuilder, org.springframework.data.repository.config.RepositoryConfigurationSource)
@@ -82,12 +68,11 @@ public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConf
8268
public void postProcess(BeanDefinitionBuilder builder, RepositoryConfigurationSource source) {
8369

8470
source.getAttribute("jdbcOperationsRef") //
85-
.filter(s -> !StringUtils.isEmpty(s)) //
71+
.filter(StringUtils::hasText) //
8672
.ifPresent(s -> builder.addPropertyReference("jdbcOperations", s));
8773

8874
source.getAttribute("dataAccessStrategyRef") //
89-
.filter(s -> !StringUtils.isEmpty(s)) //
75+
.filter(StringUtils::hasText) //
9076
.ifPresent(s -> builder.addPropertyReference("dataAccessStrategy", s));
9177
}
92-
9378
}

spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/support/JdbcRepositoryFactoryBean.java

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -150,36 +150,24 @@ public void afterPropertiesSet() {
150150
Assert.state(this.mappingContext != null, "MappingContext is required and must not be null!");
151151
Assert.state(this.converter != null, "RelationalConverter is required and must not be null!");
152152

153-
ensureJdbcOperationsIsInitialized();
154-
ensureDataAccessStrategyIsInitialized();
155-
156-
if (queryMappingConfiguration == null) {
157-
this.queryMappingConfiguration = QueryMappingConfiguration.EMPTY;
153+
if (this.operations == null) {
154+
this.operations = beanFactory.getBean(NamedParameterJdbcOperations.class);
158155
}
159156

160-
super.afterPropertiesSet();
161-
}
162-
163-
private void ensureJdbcOperationsIsInitialized() {
157+
if (this.dataAccessStrategy == null) {
158+
this.dataAccessStrategy = this.beanFactory.getBeanProvider(DataAccessStrategy.class) //
159+
.getIfAvailable(() -> {
164160

165-
if (operations != null) {
166-
return;
161+
SqlGeneratorSource sqlGeneratorSource = new SqlGeneratorSource(this.mappingContext);
162+
return new DefaultDataAccessStrategy(sqlGeneratorSource, this.mappingContext, this.converter,
163+
this.operations);
164+
});
167165
}
168166

169-
operations = beanFactory.getBean(NamedParameterJdbcOperations.class);
170-
}
171-
172-
private void ensureDataAccessStrategyIsInitialized() {
173-
174-
if (dataAccessStrategy != null) {
175-
return;
167+
if (this.queryMappingConfiguration == null) {
168+
this.queryMappingConfiguration = QueryMappingConfiguration.EMPTY;
176169
}
177170

178-
dataAccessStrategy = beanFactory.getBeanProvider(DataAccessStrategy.class).getIfAvailable(() -> {
179-
180-
SqlGeneratorSource sqlGeneratorSource = new SqlGeneratorSource(mappingContext);
181-
return new DefaultDataAccessStrategy(sqlGeneratorSource, mappingContext, converter, operations);
182-
});
171+
super.afterPropertiesSet();
183172
}
184-
185173
}

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
import static org.assertj.core.api.Assertions.*;
1919
import static org.mockito.Mockito.*;
2020

21+
import java.util.function.Supplier;
22+
2123
import org.junit.Before;
2224
import org.junit.Test;
2325
import org.junit.runner.RunWith;
24-
import org.mockito.Answers;
2526
import org.mockito.Mock;
26-
import org.mockito.invocation.InvocationOnMock;
2727
import org.mockito.junit.MockitoJUnitRunner;
2828
import org.mockito.stubbing.Answer;
2929
import org.springframework.beans.factory.BeanFactory;
@@ -41,8 +41,6 @@
4141
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
4242
import org.springframework.test.util.ReflectionTestUtils;
4343

44-
import java.util.function.Supplier;
45-
4644
/**
4745
* Tests the dependency injection for {@link JdbcRepositoryFactoryBean}.
4846
*
@@ -72,13 +70,11 @@ public void setUp() {
7270
// Setup standard configuration
7371
factoryBean = new JdbcRepositoryFactoryBean<>(DummyEntityRepository.class);
7472

75-
7673
when(beanFactory.getBean(NamedParameterJdbcOperations.class)).thenReturn(mock(NamedParameterJdbcOperations.class));
7774

7875
ObjectProvider<DataAccessStrategy> provider = mock(ObjectProvider.class);
7976
when(beanFactory.getBeanProvider(DataAccessStrategy.class)).thenReturn(provider);
80-
when(provider.getIfAvailable(any()))
81-
.then((Answer) invocation -> ((Supplier)invocation.getArgument(0)).get());
77+
when(provider.getIfAvailable(any())).then((Answer) invocation -> ((Supplier) invocation.getArgument(0)).get());
8278
}
8379

8480
@Test
@@ -126,6 +122,7 @@ public void afterPropertiesSetDefaultsNullablePropertiesCorrectly() {
126122
}
127123

128124
private static class DummyEntity {
125+
129126
@Id private Long id;
130127
}
131128

0 commit comments

Comments
 (0)