From 7ac12c3c3d06ac25cd400098c50e6072747c3cd8 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Thu, 23 Mar 2017 07:48:27 +0100 Subject: [PATCH] DATACMNS-867 - BasicPersistentEntity now rejects null Association. Related ticket: DATACMNS-934. --- .../data/mapping/model/BasicPersistentEntity.java | 5 +---- .../model/BasicPersistentEntityUnitTests.java | 14 +++++--------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java index 64a2b5f8b..5b1e71a8a 100644 --- a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java +++ b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java @@ -255,10 +255,7 @@ public class BasicPersistentEntity> implement */ public void addAssociation(Association

association) { - if (association == null) { - LOGGER.warn(String.format(NULL_ASSOCIATION, this.getClass().getName())); - return; - } + Assert.notNull(association, "Association must not be null!"); if (!associations.contains(association)) { associations.add(association); diff --git a/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java b/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java index ccd6870d8..64d31d7a4 100755 --- a/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java @@ -16,7 +16,7 @@ package org.springframework.data.mapping.model; import static org.assertj.core.api.Assertions.*; -import static org.junit.Assume.assumeThat; +import static org.junit.Assume.*; import static org.mockito.Mockito.*; import java.lang.annotation.Retention; @@ -27,7 +27,6 @@ import java.util.List; import java.util.Optional; import org.hamcrest.CoreMatchers; -import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -41,13 +40,11 @@ import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.TypeAlias; import org.springframework.data.mapping.Alias; -import org.springframework.data.mapping.Association; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentEntitySpec; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.Person; -import org.springframework.data.mapping.SimpleAssociationHandler; import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.mapping.context.SamplePersistentProperty; import org.springframework.data.util.ClassTypeInformation; @@ -243,13 +240,12 @@ public class BasicPersistentEntityUnitTests> { entity.getPropertyAccessor(new Object()); } - @Test // DATACMNS-934 - public void doesNotThrowAnExceptionForNullAssociation() { + @Test // DATACMNS-934, DATACMNS-867 + public void rejectsNullAssociation() { - BasicPersistentEntity entity = createEntity(Entity.class); - entity.addAssociation(null); + MutablePersistentEntity entity = createEntity(Entity.class); - entity.doWithAssociations((SimpleAssociationHandler) association -> Assert.fail("Expected the method to never be called!")); + assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> entity.addAssociation(null)); } private BasicPersistentEntity createEntity(Class type) {