Skip to content

Commit 0691ba6

Browse files
committed
Polish "Detect Persistent and RelationshipProperties with Neo4j"
See gh-24239
1 parent ab4b1c4 commit 0691ba6

File tree

7 files changed

+38
-49
lines changed

7 files changed

+38
-49
lines changed

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfigurationTests.java

+11-11
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020

2121
import org.springframework.boot.autoconfigure.AutoConfigurations;
2222
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
23-
import org.springframework.boot.autoconfigure.data.neo4j.scan.AnnotatedWithNode;
24-
import org.springframework.boot.autoconfigure.data.neo4j.scan.AnnotatedWithPersistent;
25-
import org.springframework.boot.autoconfigure.data.neo4j.scan.AnnotatedWithRelationshipProperties;
26-
import org.springframework.boot.autoconfigure.data.neo4j.scan.NotAnnotatedEntity;
23+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestNode;
24+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestNonAnnotated;
25+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestPersistent;
26+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestRelationshipProperties;
2727
import org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration;
2828
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
2929
import org.springframework.context.annotation.Bean;
@@ -145,12 +145,12 @@ void shouldReuseExistingTransactionManager() {
145145

146146
@Test
147147
void shouldFilterInitialEntityScanWithKnownAnnotations() {
148-
this.contextRunner.withUserConfiguration(PackageConfig.class).run((context) -> {
148+
this.contextRunner.withUserConfiguration(EntityScanConfig.class).run((context) -> {
149149
Neo4jMappingContext mappingContext = context.getBean(Neo4jMappingContext.class);
150-
assertThat(mappingContext.hasPersistentEntityFor(AnnotatedWithNode.class)).isTrue();
151-
assertThat(mappingContext.hasPersistentEntityFor(AnnotatedWithPersistent.class)).isTrue();
152-
assertThat(mappingContext.hasPersistentEntityFor(AnnotatedWithRelationshipProperties.class)).isTrue();
153-
assertThat(mappingContext.hasPersistentEntityFor(NotAnnotatedEntity.class)).isFalse();
150+
assertThat(mappingContext.hasPersistentEntityFor(TestNode.class)).isTrue();
151+
assertThat(mappingContext.hasPersistentEntityFor(TestPersistent.class)).isTrue();
152+
assertThat(mappingContext.hasPersistentEntityFor(TestRelationshipProperties.class)).isTrue();
153+
assertThat(mappingContext.hasPersistentEntityFor(TestNonAnnotated.class)).isFalse();
154154
});
155155
}
156156

@@ -165,8 +165,8 @@ DatabaseSelectionProvider databaseSelectionProvider() {
165165
}
166166

167167
@Configuration(proxyBeanMethods = false)
168-
@TestAutoConfigurationPackage(AnnotatedWithPersistent.class)
169-
static class PackageConfig {
168+
@TestAutoConfigurationPackage(TestPersistent.class)
169+
static class EntityScanConfig {
170170

171171
}
172172

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveDataAutoConfigurationTests.java

+23
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
import reactor.test.StepVerifier;
2222

2323
import org.springframework.boot.autoconfigure.AutoConfigurations;
24+
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
25+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestNode;
26+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestNonAnnotated;
27+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestPersistent;
28+
import org.springframework.boot.autoconfigure.data.neo4j.scan.TestRelationshipProperties;
2429
import org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration;
2530
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
2631
import org.springframework.context.annotation.Bean;
@@ -30,6 +35,7 @@
3035
import org.springframework.data.neo4j.core.ReactiveNeo4jClient;
3136
import org.springframework.data.neo4j.core.ReactiveNeo4jOperations;
3237
import org.springframework.data.neo4j.core.ReactiveNeo4jTemplate;
38+
import org.springframework.data.neo4j.core.mapping.Neo4jMappingContext;
3339
import org.springframework.transaction.ReactiveTransactionManager;
3440
import org.springframework.transaction.TransactionManager;
3541

@@ -121,6 +127,17 @@ void shouldUseExistingReactiveTransactionManager() {
121127
.hasSingleBean(TransactionManager.class));
122128
}
123129

130+
@Test
131+
void shouldFilterInitialEntityScanWithKnownAnnotations() {
132+
this.contextRunner.withUserConfiguration(EntityScanConfig.class).run((context) -> {
133+
Neo4jMappingContext mappingContext = context.getBean(Neo4jMappingContext.class);
134+
assertThat(mappingContext.hasPersistentEntityFor(TestNode.class)).isTrue();
135+
assertThat(mappingContext.hasPersistentEntityFor(TestPersistent.class)).isTrue();
136+
assertThat(mappingContext.hasPersistentEntityFor(TestRelationshipProperties.class)).isTrue();
137+
assertThat(mappingContext.hasPersistentEntityFor(TestNonAnnotated.class)).isFalse();
138+
});
139+
}
140+
124141
@Configuration(proxyBeanMethods = false)
125142
static class CustomReactiveDatabaseSelectionProviderConfiguration {
126143

@@ -131,4 +148,10 @@ ReactiveDatabaseSelectionProvider databaseNameProvider() {
131148

132149
}
133150

151+
@Configuration(proxyBeanMethods = false)
152+
@TestAutoConfigurationPackage(TestPersistent.class)
153+
static class EntityScanConfig {
154+
155+
}
156+
134157
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jReactiveRepositoriesAutoConfigurationTests.java

-22
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,9 @@
2626
import org.springframework.boot.autoconfigure.data.neo4j.city.ReactiveCityRepository;
2727
import org.springframework.boot.autoconfigure.data.neo4j.country.CountryRepository;
2828
import org.springframework.boot.autoconfigure.data.neo4j.country.ReactiveCountryRepository;
29-
import org.springframework.boot.autoconfigure.data.neo4j.scan.AnnotatedWithNode;
30-
import org.springframework.boot.autoconfigure.data.neo4j.scan.AnnotatedWithPersistent;
31-
import org.springframework.boot.autoconfigure.data.neo4j.scan.AnnotatedWithRelationshipProperties;
32-
import org.springframework.boot.autoconfigure.data.neo4j.scan.NotAnnotatedEntity;
3329
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
3430
import org.springframework.context.annotation.Configuration;
3531
import org.springframework.data.neo4j.core.ReactiveNeo4jTemplate;
36-
import org.springframework.data.neo4j.core.mapping.Neo4jMappingContext;
3732
import org.springframework.data.neo4j.repository.ReactiveNeo4jRepository;
3833
import org.springframework.data.neo4j.repository.config.EnableReactiveNeo4jRepositories;
3934

@@ -89,17 +84,6 @@ void shouldRespectAtEnableReactiveNeo4jRepositories() {
8984
.hasSingleBean(ReactiveCountryRepository.class));
9085
}
9186

92-
@Test
93-
void shouldFilterInitialEntityScanWithKnownAnnotations() {
94-
this.contextRunner.withUserConfiguration(PackageConfig.class).run((context) -> {
95-
Neo4jMappingContext mappingContext = context.getBean(Neo4jMappingContext.class);
96-
assertThat(mappingContext.hasPersistentEntityFor(AnnotatedWithNode.class)).isTrue();
97-
assertThat(mappingContext.hasPersistentEntityFor(AnnotatedWithPersistent.class)).isTrue();
98-
assertThat(mappingContext.hasPersistentEntityFor(AnnotatedWithRelationshipProperties.class)).isTrue();
99-
assertThat(mappingContext.hasPersistentEntityFor(NotAnnotatedEntity.class)).isFalse();
100-
});
101-
}
102-
10387
@Configuration(proxyBeanMethods = false)
10488
@TestAutoConfigurationPackage(City.class)
10589
static class TestConfiguration {
@@ -125,10 +109,4 @@ static class WithCustomReactiveRepositoryScan {
125109

126110
}
127111

128-
@Configuration(proxyBeanMethods = false)
129-
@TestAutoConfigurationPackage(AnnotatedWithPersistent.class)
130-
static class PackageConfig {
131-
132-
}
133-
134112
}
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@
2020
import org.springframework.data.neo4j.core.schema.Id;
2121
import org.springframework.data.neo4j.core.schema.Node;
2222

23-
/**
24-
* @author Gerrit Meier
25-
*/
2623
@Node
27-
public class AnnotatedWithNode {
24+
public class TestNode {
2825

2926
@Id
3027
@GeneratedValue
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@
1919
import org.springframework.data.neo4j.core.schema.GeneratedValue;
2020
import org.springframework.data.neo4j.core.schema.Id;
2121

22-
/**
23-
* @author Gerrit Meier
24-
*/
25-
public class NotAnnotatedEntity {
22+
public class TestNonAnnotated {
2623

2724
@Id
2825
@GeneratedValue
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@
2020
import org.springframework.data.neo4j.core.schema.GeneratedValue;
2121
import org.springframework.data.neo4j.core.schema.Id;
2222

23-
/**
24-
* @author Gerrit Meier
25-
*/
2623
@Persistent
27-
public class AnnotatedWithPersistent {
24+
public class TestPersistent {
2825

2926
@Id
3027
@GeneratedValue
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@
1818

1919
import org.springframework.data.neo4j.core.schema.RelationshipProperties;
2020

21-
/**
22-
* @author Gerrit Meier
23-
*/
2421
@RelationshipProperties
25-
public class AnnotatedWithRelationshipProperties {
22+
public class TestRelationshipProperties {
2623

2724
}

0 commit comments

Comments
 (0)