+package org.simantics.document.linking.report.templates;\r
+\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.document.linking.ontology.DocumentLink;\r
+import org.simantics.document.linking.utils.SourceLinkUtil;\r
+\r
+class SourceReferenceComparator extends ResourceNameComparator {\r
+ private DocumentLink sl;\r
+ public SourceReferenceComparator(ReadGraph graph, Resource model) {\r
+ super(graph,model);\r
+ sl = DocumentLink.getInstance(graph);\r
+ }\r
+\r
+ \r
+ @Override\r
+ public int compare(Resource o1, Resource o2) {\r
+ try {\r
+ Resource doc1 = null;\r
+ Resource doc2 = null;\r
+ if (o1 != null)\r
+ doc1 = SourceLinkUtil.getReferredDocument(graph, o1);\r
+ if (o2 != null)\r
+ doc2 = SourceLinkUtil.getReferredDocument(graph, o2);\r
+ if (doc1 != null) {\r
+ if (doc2 != null)\r
+ return super.compare(doc1,doc2);\r
+ return 1;\r
+ } else if (doc2 != null)\r
+ return -1;\r
+ return 0;\r
+ } catch (Exception e) {\r
+ return 0;\r
+ }\r
+ \r
+ }\r
+}
\ No newline at end of file