AbstractPersistentProperty.isMap() now delegates to underlying TypeInformation.

Issue #2549
This commit is contained in:
Oliver Drotbohm
2022-02-14 17:01:51 +01:00
parent 557465bf0a
commit 21777293cc
2 changed files with 13 additions and 2 deletions

View File

@@ -20,7 +20,6 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -229,7 +228,7 @@ public abstract class AbstractPersistentProperty<P extends PersistentProperty<P>
@Override
public boolean isMap() {
return Map.class.isAssignableFrom(getType());
return information.isMap();
}
@Override

View File

@@ -238,6 +238,14 @@ public class AbstractPersistentPropertyUnitTests {
.containsExactly((Class) JMoleculesAggregate.class);
}
@Test // #2549
void considersVavrMaps() {
SamplePersistentProperty property = getProperty(VavrWrapper.class, "vavrMap");
assertThat(property.isMap()).isTrue();
}
private <T> BasicPersistentEntity<T, SamplePersistentProperty> getEntity(Class<T> type) {
return new BasicPersistentEntity<>(ClassTypeInformation.from(type));
}
@@ -399,4 +407,8 @@ public class AbstractPersistentPropertyUnitTests {
interface JMoleculesAggregate extends AggregateRoot<JMoleculesAggregate, Identifier> {
}
class VavrWrapper {
io.vavr.collection.Map<String, String> vavrMap;
}
}