]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.simulation/src/org/simantics/simulation/export/DiscoverSubscriptions.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.simulation / src / org / simantics / simulation / export / DiscoverSubscriptions.java
1 package org.simantics.simulation.export;\r
2 \r
3 import java.util.Collection;\r
4 \r
5 import org.simantics.db.exception.DatabaseException;\r
6 import org.simantics.db.request.Read;\r
7 import org.simantics.export.core.ExportContext;\r
8 import org.simantics.export.core.error.ExportException;\r
9 import org.simantics.export.core.intf.DiscoverAction;\r
10 import org.simantics.export.core.util.ExportQueries;\r
11 import org.simantics.modeling.ModelingResources;\r
12 \r
13 /**\r
14  * Discovers experiment results\r
15  *\r
16  * @author toni.kalajainen@semantum.fi\r
17  */\r
18 public class DiscoverSubscriptions implements DiscoverAction {\r
19 \r
20         public Read<Collection<String>> discoverRequest(\r
21                         final Collection<String> startLocations) throws ExportException {\r
22                 return ExportQueries.instancesOf(startLocations, ModelingResources.URIs.Subscription);                  \r
23         }\r
24 \r
25         @Override\r
26         public Collection<String> discoverContent(ExportContext ctx, Collection<String> startLocations) throws ExportException {                \r
27                 try {\r
28                         return ctx.session.syncRequest( discoverRequest(startLocations) );\r
29                 } catch (DatabaseException e) {\r
30                         if ( e.getCause() instanceof ExportException ) throw (ExportException) e.getCause();\r
31                         throw new ExportException( e );\r
32                 }\r
33         }\r
34 \r
35 }\r