X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.document.linking.ui%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Flinking%2Freport%2Ftemplates%2FSourceReferenceComparator.java;fp=bundles%2Forg.simantics.document.linking.ui%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Flinking%2Freport%2Ftemplates%2FSourceReferenceComparator.java;h=ddd615dc0ac61bda57e94af9278a76a5090d2be4;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/templates/SourceReferenceComparator.java b/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/templates/SourceReferenceComparator.java new file mode 100644 index 000000000..ddd615dc0 --- /dev/null +++ b/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/templates/SourceReferenceComparator.java @@ -0,0 +1,37 @@ +package org.simantics.document.linking.report.templates; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.document.linking.ontology.DocumentLink; +import org.simantics.document.linking.utils.SourceLinkUtil; + +class SourceReferenceComparator extends ResourceNameComparator { + private DocumentLink sl; + public SourceReferenceComparator(ReadGraph graph, Resource model) { + super(graph,model); + sl = DocumentLink.getInstance(graph); + } + + + @Override + public int compare(Resource o1, Resource o2) { + try { + Resource doc1 = null; + Resource doc2 = null; + if (o1 != null) + doc1 = SourceLinkUtil.getReferredDocument(graph, o1); + if (o2 != null) + doc2 = SourceLinkUtil.getReferredDocument(graph, o2); + if (doc1 != null) { + if (doc2 != null) + return super.compare(doc1,doc2); + return 1; + } else if (doc2 != null) + return -1; + return 0; + } catch (Exception e) { + return 0; + } + + } +} \ No newline at end of file