X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.export.ui%2Fsrc%2Forg%2Fsimantics%2Fexport%2Fui%2Futil%2FExportUIQueries.java;fp=bundles%2Forg.simantics.export.ui%2Fsrc%2Forg%2Fsimantics%2Fexport%2Fui%2Futil%2FExportUIQueries.java;h=d2fcda59e4a537a3acedfcf990228a2b5f8d856b;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.export.ui/src/org/simantics/export/ui/util/ExportUIQueries.java b/bundles/org.simantics.export.ui/src/org/simantics/export/ui/util/ExportUIQueries.java new file mode 100644 index 000000000..d2fcda59e --- /dev/null +++ b/bundles/org.simantics.export.ui/src/org/simantics/export/ui/util/ExportUIQueries.java @@ -0,0 +1,59 @@ +package org.simantics.export.ui.util; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.common.request.ObjectsWithType; +import org.simantics.db.common.request.ResourceRead; +import org.simantics.db.common.request.UniqueRead; +import org.simantics.db.exception.AssumptionException; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.exception.ServiceException; +import org.simantics.db.exception.ValidationException; +import org.simantics.db.layer0.request.ActiveModels; +import org.simantics.db.request.Read; +import org.simantics.layer0.Layer0; +import org.simantics.simulation.ontology.SimulationResource; + +public class ExportUIQueries { + + + /** + * Get a query that returns active models + * @param project + * @return a query that returns active models + */ + public static ResourceRead> activeModels(Resource project) { + return new ActiveModels(project); + } + + + public static Read> models(final String project) { + return new UniqueRead>() { + @Override + public List perform(ReadGraph graph) throws DatabaseException { + Layer0 L0 = Layer0.getInstance(graph); + SimulationResource SIMU = SimulationResource.getInstance(graph); + ArrayList result = new ArrayList(); + Resource projectRes = graph.getResource(project); + for (Resource model : graph.syncRequest(new ObjectsWithType(projectRes, L0.ConsistsOf, SIMU.Model))) { + try { + String uri = graph.getURI(model); + if ( uri!=null ) result.add( uri ); + } catch (AssumptionException e) { + e.printStackTrace(); + } catch (ValidationException e) { + e.printStackTrace(); + } catch (ServiceException e) { + e.printStackTrace(); + } + } + return result; + + } + }; + } +}