-package org.simantics.document.linking.report.templates;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import java.util.Collections;\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.adapter.Instances;\r
-import org.simantics.document.DocumentResource;\r
-import org.simantics.document.linking.ontology.DocumentLink;\r
-import org.simantics.document.linking.utils.SourceLinkUtil;\r
-\r
-/**\r
- * Writes report of referred documents.\r
- * \r
- * Model information\r
- □ Document folder 1\r
- • Document 1-1\r
- • Document 1-2 rev1\r
- • Document 1-2 rev2\r
- • Document 1-2 rev3\r
- • Document 1-3\r
- □ Document folder 2\r
- • Document folder 3\r
- o Document 3-1\r
- o Document 3-2\r
- • Document folder 4\r
- o Document 4-1\r
- o Document 4-2\r
- * \r
- * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
- *\r
- */\r
-public class ReferredDocumentWriter extends ModelDocumentWriter{\r
-\r
- @Override\r
- public String getName() {\r
- return "Referred Documents";\r
- }\r
- \r
-\r
- @Override\r
- public List<List<Resource>> getReportItems(ReadGraph graph) throws DatabaseException {\r
- DocumentResource doc = DocumentResource.getInstance(graph);\r
- DocumentLink sl = DocumentLink.getInstance(graph);\r
- Instances instancesQuery = graph.adapt(sl.Source, Instances.class);\r
- Collection<Resource> found = instancesQuery.find(graph, model);\r
- Set<Resource> referred = new HashSet<Resource>();\r
- for (Resource source : found) {\r
- Resource ref = SourceLinkUtil.getReferredDocument(graph, source);\r
- if (ref != null)\r
- referred.add(ref);\r
- }\r
- found = null;\r
- List<List<Resource>> result = new ArrayList<List<Resource>>();\r
- for (Resource ref : referred) {\r
- if (!graph.isInstanceOf(ref, doc.Document))\r
- continue;\r
- result.add(SourceLinkUtil.getPath(graph,model,ref));\r
- }\r
- referred = null;\r
- Collections.sort(result, new PathComparator(graph));\r
- return result;\r
- }\r
-\r
-}\r
+package org.simantics.document.linking.report.templates;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.adapter.Instances;
+import org.simantics.document.DocumentResource;
+import org.simantics.document.linking.ontology.DocumentLink;
+import org.simantics.document.linking.utils.SourceLinkUtil;
+
+/**
+ * Writes report of referred documents.
+ *
+ * Model information
+ □ Document folder 1
+ • Document 1-1
+ • Document 1-2 rev1
+ • Document 1-2 rev2
+ • Document 1-2 rev3
+ • Document 1-3
+ □ Document folder 2
+ • Document folder 3
+ o Document 3-1
+ o Document 3-2
+ • Document folder 4
+ o Document 4-1
+ o Document 4-2
+ *
+ * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
+ *
+ */
+public class ReferredDocumentWriter extends ModelDocumentWriter{
+
+ @Override
+ public String getName() {
+ return "Referred Documents"; //$NON-NLS-1$
+ }
+
+
+ @Override
+ public List<List<Resource>> getReportItems(ReadGraph graph) throws DatabaseException {
+ DocumentResource doc = DocumentResource.getInstance(graph);
+ DocumentLink sl = DocumentLink.getInstance(graph);
+ Instances instancesQuery = graph.adapt(sl.Source, Instances.class);
+ Collection<Resource> found = instancesQuery.find(graph, model);
+ Set<Resource> referred = new HashSet<Resource>();
+ for (Resource source : found) {
+ Resource ref = SourceLinkUtil.getReferredDocument(graph, source);
+ if (ref != null)
+ referred.add(ref);
+ }
+ found = null;
+ List<List<Resource>> result = new ArrayList<List<Resource>>();
+ for (Resource ref : referred) {
+ if (!graph.isInstanceOf(ref, doc.Document))
+ continue;
+ result.add(SourceLinkUtil.getPath(graph,model,ref));
+ }
+ referred = null;
+ Collections.sort(result, new PathComparator(graph));
+ return result;
+ }
+
+}