1 package org.simantics.document.linking.report.templates;
5 import org.simantics.db.ReadGraph;
6 import org.simantics.db.Resource;
7 import org.simantics.document.linking.ontology.DocumentLink;
9 class SourceParentHierarchyComparator extends ResourceNameComparator {
12 public SourceParentHierarchyComparator(ReadGraph graph, Resource model) {
14 sl = DocumentLink.getInstance(graph);
19 public int compare(Resource o1, Resource o2) {
21 Resource r1 = graph.getSingleObject(o1, sl.hasSource_Inverse);
22 Resource r2 = graph.getSingleObject(o2, sl.hasSource_Inverse);
23 List<Resource> path1 = getPath(r1);
24 List<Resource> path2 = getPath(r2);
25 int count = Math.min(path1.size(), path2.size());
26 for (int i = 0; i < count; i++) {
27 int comp = super.compare(path1.get(i), path2.get(i));
31 return path1.size() - path2.size();
33 } catch (Exception e) {