1 package org.simantics.export.ui.util;
\r
3 import java.util.ArrayList;
\r
4 import java.util.Collection;
\r
5 import java.util.List;
\r
7 import org.simantics.db.ReadGraph;
\r
8 import org.simantics.db.Resource;
\r
9 import org.simantics.db.common.request.ObjectsWithType;
\r
10 import org.simantics.db.common.request.ResourceRead;
\r
11 import org.simantics.db.common.request.UniqueRead;
\r
12 import org.simantics.db.exception.AssumptionException;
\r
13 import org.simantics.db.exception.DatabaseException;
\r
14 import org.simantics.db.exception.ServiceException;
\r
15 import org.simantics.db.exception.ValidationException;
\r
16 import org.simantics.db.layer0.request.ActiveModels;
\r
17 import org.simantics.db.request.Read;
\r
18 import org.simantics.layer0.Layer0;
\r
19 import org.simantics.simulation.ontology.SimulationResource;
\r
21 public class ExportUIQueries {
\r
25 * Get a query that returns active models
\r
27 * @return a query that returns active models
\r
29 public static ResourceRead<Collection<Resource>> activeModels(Resource project) {
\r
30 return new ActiveModels(project);
\r
34 public static Read<List<String>> models(final String project) {
\r
35 return new UniqueRead<List<String>>() {
\r
37 public List<String> perform(ReadGraph graph) throws DatabaseException {
\r
38 Layer0 L0 = Layer0.getInstance(graph);
\r
39 SimulationResource SIMU = SimulationResource.getInstance(graph);
\r
40 ArrayList<String> result = new ArrayList<String>();
\r
41 Resource projectRes = graph.getResource(project);
\r
42 for (Resource model : graph.syncRequest(new ObjectsWithType(projectRes, L0.ConsistsOf, SIMU.Model))) {
\r
44 String uri = graph.getURI(model);
\r
45 if ( uri!=null ) result.add( uri );
\r
46 } catch (AssumptionException e) {
\r
47 e.printStackTrace();
\r
48 } catch (ValidationException e) {
\r
49 e.printStackTrace();
\r
50 } catch (ServiceException e) {
\r
51 e.printStackTrace();
\r