]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/PossibleExperiment.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / request / PossibleExperiment.java
1 package org.simantics.db.layer0.request;\r
2 \r
3 import org.simantics.db.ReadGraph;\r
4 import org.simantics.db.Resource;\r
5 import org.simantics.db.common.request.ResourceRead;\r
6 import org.simantics.db.exception.DatabaseException;\r
7 import org.simantics.layer0.Layer0;\r
8 import org.simantics.simulation.ontology.SimulationResource;\r
9 \r
10 public class PossibleExperiment extends ResourceRead<Resource> {\r
11 \r
12     public PossibleExperiment(Resource partOfExperiment) {\r
13         super(partOfExperiment);\r
14     }\r
15 \r
16     @Override\r
17     public Resource perform(ReadGraph graph) throws DatabaseException {\r
18 \r
19 \r
20         SimulationResource SIMU = SimulationResource.getInstance(graph);\r
21         Layer0 L0 = Layer0.getInstance(graph);\r
22         \r
23         if (graph.isInstanceOf(resource, SIMU.Experiment))\r
24             return resource;\r
25         \r
26         Resource parent = graph.getPossibleObject(resource, L0.PartOf);\r
27         if (parent == null)\r
28             return null;\r
29         \r
30         else return graph.syncRequest(new PossibleExperiment(parent));\r
31 \r
32     }\r
33 \r
34 }\r