Skip to content

Commit 042c1a0

Browse files
committed
Polishing.
Renamed RepositoryPersister(Factory) to AggregatePersister(Factory). Issue #2558.
1 parent f08c473 commit 042c1a0

File tree

2 files changed

+29
-23
lines changed

2 files changed

+29
-23
lines changed

src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import org.springframework.data.repository.core.CrudMethods;
3939
import org.springframework.data.repository.core.RepositoryInformation;
4040
import org.springframework.data.repository.core.RepositoryMetadata;
41-
import org.springframework.data.repository.core.support.DefaultCrudMethods;
4241
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
4342
import org.springframework.data.repository.support.Repositories;
4443
import org.springframework.data.repository.util.ReactiveWrapperConverters;
@@ -127,7 +126,7 @@ public void populate(Repositories repositories) {
127126

128127
Assert.notNull(repositories, "Repositories must not be null!");
129128

130-
RepositoryPersisterFactory persisterFactory = new RepositoryPersisterFactory(repositories);
129+
AggregatePersisterFactory persisterFactory = new AggregatePersisterFactory(repositories);
131130

132131
for (Resource resource : resources) {
133132

@@ -173,43 +172,45 @@ private Object readObjectFrom(Resource resource) {
173172
* @param object must not be {@literal null}.
174173
* @param persisterFactory must not be {@literal null}.
175174
*/
176-
private void persist(Object object, RepositoryPersisterFactory persisterFactory) {
175+
private void persist(Object object, AggregatePersisterFactory persisterFactory) {
177176

178-
RepositoryPersister persister = persisterFactory.getPersisterFor(object.getClass());
177+
AggregatePersister persister = persisterFactory.getPersisterFor(object.getClass());
179178
logger.debug(String.format("Persisting %s using repository %s", object, persister));
180179
persister.save(object);
181180
}
182181

183182
/**
184-
* Factory to create {@link RepositoryPersister} instances.
183+
* Factory to create {@link AggregatePersister} instances.
185184
*/
186-
static class RepositoryPersisterFactory {
185+
static class AggregatePersisterFactory {
187186

188-
private final Map<Class<?>, RepositoryPersister> persisters = new HashMap<>();
187+
private final Map<Class<?>, AggregatePersister> persisters = new HashMap<>();
189188
private final Repositories repositories;
190189

191-
public RepositoryPersisterFactory(Repositories repositories) {
190+
public AggregatePersisterFactory(Repositories repositories) {
192191
this.repositories = repositories;
193192
}
194193

195194
/**
196-
* Obtain a {@link RepositoryPersister}.
195+
* Obtain a {@link AggregatePersister}.
197196
*
198197
* @param domainType
199198
* @return
200199
*/
201-
public RepositoryPersister getPersisterFor(Class<?> domainType) {
200+
public AggregatePersister getPersisterFor(Class<?> domainType) {
202201
return persisters.computeIfAbsent(domainType, this::createPersisterFor);
203202
}
204203

205-
private RepositoryPersister createPersisterFor(Class<?> domainType) {
204+
private AggregatePersister createPersisterFor(Class<?> domainType) {
206205

207206
RepositoryInformation repositoryInformation = repositories.getRequiredRepositoryInformation(domainType);
208207
Object repository = repositories.getRepositoryFor(domainType).orElseThrow(
209208
() -> new IllegalStateException(String.format("No repository found for domain type: %s", domainType)));
210209

211210
if (repositoryInformation.isReactiveRepository()) {
212-
return repository instanceof ReactiveCrudRepository ? new ReactiveCrudRepositoryPersister(repository)
211+
212+
return repository instanceof ReactiveCrudRepository //
213+
? new ReactiveCrudRepositoryPersister(repository) //
213214
: new ReflectiveReactivePersister(repositoryInformation, repository);
214215
}
215216

@@ -224,7 +225,7 @@ private RepositoryPersister createPersisterFor(Class<?> domainType) {
224225
/**
225226
* Interface defining a save method to persist an object within a repository.
226227
*/
227-
interface RepositoryPersister {
228+
interface AggregatePersister {
228229

229230
/**
230231
* Saves the {@code object} in an appropriate repository.
@@ -235,9 +236,9 @@ interface RepositoryPersister {
235236
}
236237

237238
/**
238-
* Reflection variant of a {@link RepositoryPersister}.
239+
* Reflection variant of a {@link AggregatePersister}.
239240
*/
240-
private static class ReflectivePersister implements RepositoryPersister {
241+
private static class ReflectivePersister implements AggregatePersister {
241242

242243
private final CrudMethods methods;
243244
private final Object repository;
@@ -291,9 +292,9 @@ public void save(Object object) {
291292
}
292293

293294
/**
294-
* {@link RepositoryPersister} to operate with {@link CrudRepository}.
295+
* {@link AggregatePersister} to operate with {@link CrudRepository}.
295296
*/
296-
private static class CrudRepositoryPersister implements RepositoryPersister {
297+
private static class CrudRepositoryPersister implements AggregatePersister {
297298

298299
private final CrudRepository<Object, Object> repository;
299300

@@ -316,9 +317,9 @@ public String toString() {
316317
}
317318

318319
/**
319-
* {@link RepositoryPersister} to operate with {@link ReactiveCrudRepository}.
320+
* {@link AggregatePersister} to operate with {@link ReactiveCrudRepository}.
320321
*/
321-
private static class ReactiveCrudRepositoryPersister implements RepositoryPersister {
322+
private static class ReactiveCrudRepositoryPersister implements AggregatePersister {
322323

323324
private final ReactiveCrudRepository<Object, Object> repository;
324325

src/test/java/org/springframework/data/repository/init/RepositoryPersisterFactoryUnitTests.java renamed to src/test/java/org/springframework/data/repository/init/AggregatePersisterFactoryUnitTests.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.springframework.data.repository.init;
1717

1818
import static org.assertj.core.api.Assertions.*;
19+
import static org.mockito.ArgumentMatchers.*;
1920
import static org.mockito.Mockito.*;
2021

2122
import java.util.Optional;
@@ -29,23 +30,23 @@
2930
import org.springframework.data.repository.CrudRepository;
3031
import org.springframework.data.repository.Repository;
3132
import org.springframework.data.repository.core.RepositoryInformation;
32-
import org.springframework.data.repository.init.ResourceReaderRepositoryPopulator.RepositoryPersisterFactory;
33+
import org.springframework.data.repository.init.ResourceReaderRepositoryPopulator.AggregatePersisterFactory;
3334
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
3435
import org.springframework.data.repository.support.Repositories;
3536

3637
/**
3738
* @author Christoph Strobl
3839
*/
3940
@ExtendWith(MockitoExtension.class)
40-
class RepositoryPersisterFactoryUnitTests {
41+
class AggregatePersisterFactoryUnitTests {
4142

4243
@Mock Repositories repositories;
4344
@Mock RepositoryInformation repoInfo;
44-
RepositoryPersisterFactory factory;
45+
AggregatePersisterFactory factory;
4546

4647
@BeforeEach
4748
void beforeEach() {
48-
factory = new RepositoryPersisterFactory(repositories);
49+
factory = new AggregatePersisterFactory(repositories);
4950
}
5051

5152
@Test // GH-2558
@@ -59,6 +60,7 @@ void errorsOnNoRepoFoundForType() {
5960
void usesCrudRepoPersisterForNonReactiveCrudRepo() {
6061

6162
CrudRepository<?, ?> crudRepository = mock(CrudRepository.class);
63+
6264
when(repositories.getRequiredRepositoryInformation(any())).thenReturn(repoInfo);
6365
when(repoInfo.isReactiveRepository()).thenReturn(false);
6466
when(repositories.getRepositoryFor(Mockito.any())).thenReturn(Optional.of(crudRepository));
@@ -71,6 +73,7 @@ void usesCrudRepoPersisterForNonReactiveCrudRepo() {
7173
void usesReactiveCrudRepoPersisterForReactiveCrudRepo() {
7274

7375
ReactiveCrudRepository<?, ?> crudRepository = mock(ReactiveCrudRepository.class);
76+
7477
when(repositories.getRequiredRepositoryInformation(any())).thenReturn(repoInfo);
7578
when(repoInfo.isReactiveRepository()).thenReturn(true);
7679
when(repositories.getRepositoryFor(Mockito.any())).thenReturn(Optional.of(crudRepository));
@@ -83,6 +86,7 @@ void usesReactiveCrudRepoPersisterForReactiveCrudRepo() {
8386
void usesReflectiveRepoPersisterForNonReactiveNonCrudRepo() {
8487

8588
Repository<?, ?> repository = mock(Repository.class);
89+
8690
when(repositories.getRequiredRepositoryInformation(any())).thenReturn(repoInfo);
8791
when(repoInfo.isReactiveRepository()).thenReturn(false);
8892
when(repositories.getRepositoryFor(Mockito.any())).thenReturn(Optional.of(repository));
@@ -95,6 +99,7 @@ void usesReflectiveRepoPersisterForNonReactiveNonCrudRepo() {
9599
void usesReactiveReflectiveRepoPersisterForReactiveNonCrudRepo() {
96100

97101
Repository<?, ?> repository = mock(Repository.class);
102+
98103
when(repositories.getRequiredRepositoryInformation(any())).thenReturn(repoInfo);
99104
when(repoInfo.isReactiveRepository()).thenReturn(true);
100105
when(repositories.getRepositoryFor(Mockito.any())).thenReturn(Optional.of(repository));

0 commit comments

Comments
 (0)