private Set<Multiset<TriplesMapBuilder>> detectCycles(List<TriplesMapBuilder> triplesMapBuilders,
Map<String, TriplesMapBuilder> lookup) {
Set<Multiset<TriplesMapBuilder>> cycles = new HashSet<>();
topologicalSort(
triplesMapBuilders,
lookup,
((currentChain, current, dependency) -> {
ImmutableMultiset.Builder<TriplesMapBuilder> cycleChain = ImmutableMultiset.builder();
cycleChain.addAll(currentChain);
if (current == dependency) {
//self reference
cycleChain.add(dependency);//make sure the self referencing item is counted twice
}
cycles.add(cycleChain.build());
}),
e -> {
//errors are handled in the actual sort and ignored for now
}
);
return cycles;
}
MappingDocumentBuilder.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:timbuctoo
作者:
评论列表
文章目录