1 package org.simantics.document.linking.report.templates;
\r
3 import java.util.ArrayList;
\r
4 import java.util.Collection;
\r
5 import java.util.List;
\r
6 import java.util.Map;
\r
8 import org.simantics.db.ReadGraph;
\r
9 import org.simantics.db.Resource;
\r
10 import org.simantics.db.exception.DatabaseException;
\r
11 import org.simantics.db.layer0.adapter.Instances;
\r
12 import org.simantics.document.linking.ontology.DocumentLink;
\r
13 import org.simantics.document.linking.report.Document;
\r
15 public abstract class IndexQueryReport extends DocumentWriter<Resource>{
\r
17 protected Resource model;
\r
19 public IndexQueryReport() {
\r
23 public void start(ReadGraph graph, Resource model, Document writer, Map<Object, Object> context) throws Exception {
\r
24 super.start(graph, model, writer, context);
\r
30 public List<Resource> getReportItems(ReadGraph graph) throws DatabaseException {
\r
31 DocumentLink sl = DocumentLink.getInstance(graph);
\r
32 Instances instancesQuery = graph.adapt(sl.Source, Instances.class);
\r
33 Collection<Resource> found = instancesQuery.find(graph, model);
\r
34 List<Resource> list = new ArrayList<Resource>(found.size());
\r
41 public abstract void sort(List<Resource> items) throws DatabaseException;
\r