]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/views/ModelRead.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / views / ModelRead.java
1 package org.simantics.document.linking.views;
2
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.List;
6
7 import org.simantics.NameLabelUtil;
8 import org.simantics.db.ReadGraph;
9 import org.simantics.db.Resource;
10 import org.simantics.db.common.NamedResource;
11 import org.simantics.db.common.request.ObjectsWithType;
12 import org.simantics.db.common.request.ResourceRead;
13 import org.simantics.db.exception.DatabaseException;
14 import org.simantics.layer0.Layer0;
15 import org.simantics.simulation.ontology.SimulationResource;
16
17 public class ModelRead extends ResourceRead<Collection<NamedResource>> {
18         
19         
20         public ModelRead(Resource project) {
21                 super(project);
22         }
23         
24         @Override
25         public Collection<NamedResource> perform(ReadGraph graph)
26                         throws DatabaseException {
27                 Layer0 l0 = Layer0.getInstance(graph);
28                 SimulationResource sr = SimulationResource.getInstance(graph);
29                 Collection<Resource> models = graph.syncRequest(new ObjectsWithType(resource,l0.ConsistsOf,sr.Model));
30                 List<NamedResource> result = new ArrayList<NamedResource>();
31                 for (Resource model : models) {
32                         String label = NameLabelUtil.modalName(graph, model);
33                         result.add(new NamedResource(label, model));
34                 }
35                 return result;
36         }
37 }