Skip to content

Commit 358487a

Browse files
fix issue with vavr collections
1 parent 13a1f1b commit 358487a

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

Diff for: src/main/java/org/springframework/data/util/TypeDiscoverer.java

+11-5
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,18 @@ private Optional<PropertyDescriptor> findPropertyDescriptor(Class<?> type, Strin
167167
@Override
168168
public boolean isCollectionLike() {
169169

170-
Class<?> rawType = getType();
170+
Class<S> type = getType();
171+
172+
for (Class<?> collectionType : COLLECTION_TYPES) {
173+
if (collectionType.isAssignableFrom(type)) {
174+
return true;
175+
}
176+
}
171177

172-
return rawType.isArray() //
173-
|| Iterable.class.equals(rawType) //
174-
|| Collection.class.isAssignableFrom(rawType) //
175-
|| Streamable.class.isAssignableFrom(rawType);
178+
return type.isArray() //
179+
|| Iterable.class.equals(type) //
180+
|| Collection.class.isAssignableFrom(type) //
181+
|| Streamable.class.isAssignableFrom(type);
176182
}
177183

178184
@Nullable

Diff for: src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ void considerVavrMapToBeAMap() {
313313
@Test // #2517
314314
void returnsComponentAndValueTypesForVavrMapExtensions() {
315315

316-
var discoverer = new TypeDiscoverer<>(CustomVavrMap.class, EMPTY_MAP);
316+
var discoverer = new TypeDiscoverer<>(CustomVavrMap.class);
317317

318318
assertThat(discoverer.getMapValueType().getType()).isEqualTo(Locale.class);
319319
assertThat(discoverer.getComponentType().getType()).isEqualTo(String.class);

0 commit comments

Comments
 (0)