]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/templates/SourceReferenceComparator.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / report / templates / SourceReferenceComparator.java
1 package org.simantics.document.linking.report.templates;\r
2 \r
3 import org.simantics.db.ReadGraph;\r
4 import org.simantics.db.Resource;\r
5 import org.simantics.document.linking.ontology.DocumentLink;\r
6 import org.simantics.document.linking.utils.SourceLinkUtil;\r
7 \r
8 class SourceReferenceComparator extends ResourceNameComparator {\r
9         private DocumentLink sl;\r
10         public SourceReferenceComparator(ReadGraph graph, Resource model) {\r
11                 super(graph,model);\r
12                 sl = DocumentLink.getInstance(graph);\r
13         }\r
14 \r
15         \r
16         @Override\r
17         public int compare(Resource o1, Resource o2) {\r
18                 try {\r
19                         Resource doc1 = null;\r
20                         Resource doc2 = null;\r
21                         if (o1 != null)\r
22                                 doc1 = SourceLinkUtil.getReferredDocument(graph, o1);\r
23                         if (o2 != null)\r
24                                 doc2 = SourceLinkUtil.getReferredDocument(graph, o2);\r
25                         if (doc1 != null) {\r
26                                 if (doc2 != null)\r
27                                         return super.compare(doc1,doc2);\r
28                                 return 1;\r
29                         } else if (doc2 != null)\r
30                                 return -1;\r
31                         return 0;\r
32                 } catch (Exception e) {\r
33                         return 0;\r
34                 }\r
35                 \r
36         }\r
37 }