Skip to content

Commit 7ac12c3

Browse files
committed
DATACMNS-867 - BasicPersistentEntity now rejects null Association.
Related ticket: DATACMNS-934.
1 parent 429dcbf commit 7ac12c3

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,7 @@ protected P returnPropertyIfBetterIdPropertyCandidateOrNull(P property) {
255255
*/
256256
public void addAssociation(Association<P> association) {
257257

258-
if (association == null) {
259-
LOGGER.warn(String.format(NULL_ASSOCIATION, this.getClass().getName()));
260-
return;
261-
}
258+
Assert.notNull(association, "Association must not be null!");
262259

263260
if (!associations.contains(association)) {
264261
associations.add(association);

src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
package org.springframework.data.mapping.model;
1717

1818
import static org.assertj.core.api.Assertions.*;
19-
import static org.junit.Assume.assumeThat;
19+
import static org.junit.Assume.*;
2020
import static org.mockito.Mockito.*;
2121

2222
import java.lang.annotation.Retention;
@@ -27,7 +27,6 @@
2727
import java.util.Optional;
2828

2929
import org.hamcrest.CoreMatchers;
30-
import org.junit.Assert;
3130
import org.junit.Rule;
3231
import org.junit.Test;
3332
import org.junit.rules.ExpectedException;
@@ -41,13 +40,11 @@
4140
import org.springframework.data.annotation.LastModifiedBy;
4241
import org.springframework.data.annotation.TypeAlias;
4342
import org.springframework.data.mapping.Alias;
44-
import org.springframework.data.mapping.Association;
4543
import org.springframework.data.mapping.PersistentEntity;
4644
import org.springframework.data.mapping.PersistentEntitySpec;
4745
import org.springframework.data.mapping.PersistentProperty;
4846
import org.springframework.data.mapping.PersistentPropertyAccessor;
4947
import org.springframework.data.mapping.Person;
50-
import org.springframework.data.mapping.SimpleAssociationHandler;
5148
import org.springframework.data.mapping.context.SampleMappingContext;
5249
import org.springframework.data.mapping.context.SamplePersistentProperty;
5350
import org.springframework.data.util.ClassTypeInformation;
@@ -243,13 +240,12 @@ public void invalidBeanAccessCreatesDescriptiveErrorMessage() {
243240
entity.getPropertyAccessor(new Object());
244241
}
245242

246-
@Test // DATACMNS-934
247-
public void doesNotThrowAnExceptionForNullAssociation() {
243+
@Test // DATACMNS-934, DATACMNS-867
244+
public void rejectsNullAssociation() {
248245

249-
BasicPersistentEntity<Entity, T> entity = createEntity(Entity.class);
250-
entity.addAssociation(null);
246+
MutablePersistentEntity<Entity, T> entity = createEntity(Entity.class);
251247

252-
entity.doWithAssociations((SimpleAssociationHandler) association -> Assert.fail("Expected the method to never be called!"));
248+
assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> entity.addAssociation(null));
253249
}
254250

255251
private <S> BasicPersistentEntity<S, T> createEntity(Class<S> type) {

0 commit comments

Comments
 (0)