Open isakovarseniy opened 1 week ago
I think issue is in MetaData.class
private ClassInfo findSingleImplementor(ClassInfo interfaceInfo) {
if (interfaceInfo != null && interfaceInfo.directImplementingClasses() != null
&& interfaceInfo.directImplementingClasses().size() == 1) {
return interfaceInfo.directImplementingClasses().get(0);
}
return null;
}
if interface do not have implementation it will return you interface class itself but should return null. Probably should be like this:
private ClassInfo findSingleImplementor(ClassInfo interfaceInfo) {
if (interfaceInfo != null && interfaceInfo.directImplementingClasses() != null
&& interfaceInfo.directImplementingClasses().size() == 1) {
if (interfaceInfo.isInterface()) {
return null;
} else {
return interfaceInfo.directImplementingClasses().get(0);
}
}
return null;
}
or interfaceInfo.directImplementingClasses() should be empty
Expected Behavior
Current Behavior
Context
Your Environment
I have following structure ( See archive ). During search operation
error occurred : Multiple classes found in type hierarchy that map to: [Canvas, UObject, Window] should return class Window. Issue happens in class org.neo4j.ogm.metadata.Metadata method "resolve"
Archive.zip