Skip to content

Commit 642e92b

Browse files
committed
DATACMNS-1006 - SimpleTypeHolder now considers java.lang types simple ones.
This prevents AbstractMappingContext from adding them as entities. Related tickets: DATAREST-1018.
1 parent 4552d49 commit 642e92b

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ public boolean isSimpleType(Class<?> type) {
123123
return true;
124124
}
125125

126+
if (type.getName().startsWith("java.lang")) {
127+
return true;
128+
}
129+
126130
for (Class<?> clazz : simpleTypes) {
127131
if (clazz.isAssignableFrom(type)) {
128132
simpleTypes.add(type);

src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2011 by the original author(s).
2+
* Copyright 2011-2017 by the original author(s).
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -18,8 +18,10 @@
1818
import static org.hamcrest.CoreMatchers.*;
1919
import static org.junit.Assert.*;
2020

21+
import java.lang.reflect.Type;
2122
import java.util.Collections;
2223
import java.util.HashSet;
24+
import java.util.UUID;
2325

2426
import org.junit.Test;
2527
import org.springframework.data.mapping.model.SimpleTypeHolder;
@@ -60,7 +62,7 @@ public void doesNotAddDefaultConvertersIfConfigured() {
6062

6163
SimpleTypeHolder holder = new SimpleTypeHolder(new HashSet<Class<?>>(), false);
6264

63-
assertThat(holder.isSimpleType(String.class), is(false));
65+
assertThat(holder.isSimpleType(UUID.class), is(false));
6466
}
6567

6668
@Test
@@ -104,6 +106,14 @@ public void considersComplexEnumAsSimple() {
104106
assertThat(holder.isSimpleType(ComplexEnum.FOO.getClass()), is(true));
105107
}
106108

109+
@Test // DATACMNS-1006
110+
public void considersJavaLangTypesSimple() {
111+
112+
SimpleTypeHolder holder = new SimpleTypeHolder();
113+
114+
assertThat(holder.isSimpleType(Type.class), is(true));
115+
}
116+
107117
enum SimpleEnum {
108118

109119
FOO;

0 commit comments

Comments
 (0)