diff --git a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java index c4173ad72..31b28c58f 100644 --- a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java @@ -145,7 +145,7 @@ class DefaultPersistentPropertyPath> implements * @see org.springframework.data.mapping.context.PersistentPropertyPath#getLeafProperty() */ public T getLeafProperty() { - return properties.get(properties.size() - 1); + return properties.isEmpty() ? null : properties.get(properties.size() - 1); } /* @@ -153,7 +153,7 @@ class DefaultPersistentPropertyPath> implements * @see org.springframework.data.mapping.context.PersistentPropertyPath#getBaseProperty() */ public T getBaseProperty() { - return properties.get(0); + return properties.isEmpty() ? null : properties.get(0); } /* diff --git a/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java b/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java index 45b001d2c..2a472ccb3 100644 --- a/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/DefaultPersistenPropertyPathUnitTests.java @@ -21,6 +21,7 @@ import static org.mockito.Matchers.*; import static org.mockito.Mockito.*; import java.util.Arrays; +import java.util.Collections; import org.junit.Before; import org.junit.Test; @@ -148,4 +149,19 @@ public class DefaultPersistenPropertyPathUnitTests path = new DefaultPersistentPropertyPath(Collections. emptyList()); + + assertThat(path.getLeafProperty(), is(nullValue())); + } + + @Test // DATACMNS-1466 + public void returnsNullForBasePropertyOnEmptyPath() { + + PersistentPropertyPath path = new DefaultPersistentPropertyPath(Collections. emptyList()); + + assertThat(path.getBaseProperty(), is(nullValue())); + } }