]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/src/org/simantics/modeling/subscription/ModelContextsRequest.java
Layer0Utils.addL0Identifier to prevent possible differentiation of code
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / subscription / ModelContextsRequest.java
1 package org.simantics.modeling.subscription;
2
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.Resource;
5 import org.simantics.db.common.request.ResourceRead;
6 import org.simantics.db.exception.DatabaseException;
7 import org.simantics.db.layer0.request.PossibleActiveExperiment;
8 import org.simantics.db.layer0.variable.Variable;
9 import org.simantics.db.layer0.variable.Variables;
10 import org.simantics.simulation.ontology.SimulationResource;
11
12 /**
13  * @author Tuukka Lehtonen
14  * @since 1.18.1
15  */
16 public class ModelContextsRequest extends ResourceRead<ModelContexts> {
17
18     public ModelContextsRequest(Resource model) {
19         super(model);
20     }
21
22     @Override
23     public ModelContexts perform(ReadGraph graph) throws DatabaseException {
24         SimulationResource SIMU = SimulationResource.getInstance(graph);
25         Resource configurationResource = graph.getPossibleObject(resource, SIMU.HasConfiguration);
26         Variable configurationContext = configurationResource != null ? Variables.getPossibleVariable(graph, configurationResource) : null;
27         Resource run = graph.sync(new PossibleActiveExperiment(resource));
28         Variable experimentContext = run != null ? Variables.getPossibleVariable(graph, run) : null;
29         String configurationContextURI = configurationContext != null ? configurationContext.getURI(graph) : null; 
30         String experimentContextURI = experimentContext != null ? experimentContext.getURI(graph) : null; 
31         return new ModelContexts(resource, configurationContext, experimentContext, configurationContextURI, experimentContextURI);
32    }
33
34 }