in src/main/java/com/epam/digital/data/platform/generator/metadata/NestedStructureProvider.java [109:125]
private String getNestingEntryPointTable(List<Metadata> metadata) {
var allTablesWithNesting = metadata.stream()
.map(Metadata::getName)
.collect(toSet());
var referencedTables = metadata.stream()
.map(m -> getNestingReferencedColumn(m.getName(), m.getValue()))
.map(Column::getParent)
.map(Table::getName)
.collect(toSet());
var nonReferencedTables = Sets.difference(allTablesWithNesting, referencedTables);
if (nonReferencedTables.size() != 1) {
throw new IllegalStateException(
"Couldn't find entry point for nesting structure, possible options: "
+ nonReferencedTables);
}
return nonReferencedTables.iterator().next();
}