]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/ge/SourceReferenceOldTest.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / ge / SourceReferenceOldTest.java
1 package org.simantics.document.linking.ge;\r
2 \r
3 import org.simantics.browsing.ui.model.tests.Test;\r
4 import org.simantics.db.ReadGraph;\r
5 import org.simantics.db.Resource;\r
6 import org.simantics.db.exception.DatabaseException;\r
7 import org.simantics.db.layer0.variable.Variable;\r
8 import org.simantics.document.DocumentResource;\r
9 import org.simantics.document.linking.ontology.DocumentLink;\r
10 import org.simantics.document.linking.utils.SourceLinkUtil;\r
11 \r
12 public class SourceReferenceOldTest  implements Test  {\r
13         \r
14         public SourceReferenceOldTest() {\r
15         }\r
16         \r
17         \r
18         @Override\r
19         public boolean isCompatible(Class<?> contentType) {\r
20                 return contentType == Variable.class;\r
21         }\r
22         \r
23         @Override\r
24         public boolean test(ReadGraph graph, Object content)\r
25                         throws DatabaseException {\r
26                 Variable variable = (Variable)content;\r
27                 Resource res = variable.getPossibleRepresents(graph);\r
28                 if (res == null)\r
29                         return false;\r
30                 DocumentLink sl = DocumentLink.getInstance(graph);\r
31                 DocumentResource doc = DocumentResource.getInstance(graph);\r
32                 if (graph.isInstanceOf(res, sl.Source)) {\r
33                         Resource ref = SourceLinkUtil.getReferredDocument(graph, res);\r
34                         if (ref != null)\r
35                                 return graph.hasStatement(ref, doc.HasNewerVersion);\r
36                 }\r
37                 return false;\r
38         }\r
39         \r
40 \r
41 }\r