]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.simulation.ontology/src/org/simantics/simulation/ontology/SimulationResource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.simulation.ontology / src / org / simantics / simulation / ontology / SimulationResource.java
1 package org.simantics.simulation.ontology;\r
2 \r
3 import org.simantics.db.RequestProcessor;\r
4 import org.simantics.db.Resource;\r
5 import org.simantics.db.ReadGraph;\r
6 import org.simantics.db.request.Read;\r
7 import org.simantics.db.Session;\r
8 import org.simantics.db.exception.DatabaseException;\r
9 import org.simantics.db.service.QueryControl;\r
10 \r
11 public class SimulationResource {\r
12     \r
13     public final Resource ActiveExperiment;\r
14     public final Resource Experiment;\r
15     public final Resource ExperimentState;\r
16     public final Resource ExperimentState_Disposed;\r
17     public final Resource ExperimentState_Initializing;\r
18     public final Resource ExperimentState_Running;\r
19     public final Resource ExperimentState_Stopped;\r
20     public final Resource HasActivationTime;\r
21     public final Resource HasActivationTime_Inverse;\r
22     public final Resource HasActiveExperiment;\r
23     public final Resource HasActiveExperiment_Inverse;\r
24     public final Resource HasConfiguration;\r
25     public final Resource HasDevsComponent;\r
26     public final Resource HasExperimentState;\r
27     public final Resource HasInitialState;\r
28     public final Resource HasInitialState_Inverse;\r
29     public final Resource HasState;\r
30     public final Resource HasState_Inverse;\r
31     public final Resource History;\r
32     public final Resource History_History;\r
33     public final Resource History_History_Item;\r
34     public final Resource History_History_Item_Bias;\r
35     public final Resource History_History_Item_Bias_Inverse;\r
36     public final Resource History_History_Item_CollectorState;\r
37     public final Resource History_History_Item_CollectorState_Inverse;\r
38     public final Resource History_History_Item_Deadband;\r
39     public final Resource History_History_Item_Deadband_Inverse;\r
40     public final Resource History_History_Item_Enabled;\r
41     public final Resource History_History_Item_Enabled_Inverse;\r
42     public final Resource History_History_Item_Format;\r
43     public final Resource History_History_Item_FormatId;\r
44     public final Resource History_History_Item_FormatId_Inverse;\r
45     public final Resource History_History_Item_Format_Inverse;\r
46     public final Resource History_History_Item_Gain;\r
47     public final Resource History_History_Item_Gain_Inverse;\r
48     public final Resource History_History_Item_GroupId;\r
49     public final Resource History_History_Item_GroupId_Inverse;\r
50     public final Resource History_History_Item_GroupItemId;\r
51     public final Resource History_History_Item_GroupItemId_Inverse;\r
52     public final Resource History_History_Item_Info;\r
53     public final Resource History_History_Item_Info_Inverse;\r
54     public final Resource History_History_Item_Interval;\r
55     public final Resource History_History_Item_Interval_Inverse;\r
56     public final Resource History_History_Item_Series;\r
57     public final Resource History_History_Item_Series_Inverse;\r
58     public final Resource History_History_Item_VariableId;\r
59     public final Resource History_History_Item_VariableId_Inverse;\r
60     public final Resource History_History_Item_size;\r
61     public final Resource History_History_Item_size_Inverse;\r
62     public final Resource History_History_archive;\r
63     public final Resource History_History_archive_Inverse;\r
64     public final Resource History_History_size;\r
65     public final Resource History_History_size_Inverse;\r
66     public final Resource IsActive;\r
67     public final Resource IsConfigurationOf;\r
68     public final Resource Model;\r
69     public final Resource Run;\r
70     public final Resource RunType;\r
71     public final Resource Run_iExperiment;\r
72     public final Resource Run_iExperiment_Inverse;\r
73     public final Resource State;\r
74     public final Resource State_History;\r
75     public final Resource State_History_Inverse;\r
76         \r
77     public static class URIs {\r
78         public static final String ActiveExperiment = "http://www.simantics.org/Simulation-1.1/ActiveExperiment";\r
79         public static final String Experiment = "http://www.simantics.org/Simulation-1.1/Experiment";\r
80         public static final String ExperimentState = "http://www.simantics.org/Simulation-1.1/ExperimentState";\r
81         public static final String ExperimentState_Disposed = "http://www.simantics.org/Simulation-1.1/ExperimentState/Disposed";\r
82         public static final String ExperimentState_Initializing = "http://www.simantics.org/Simulation-1.1/ExperimentState/Initializing";\r
83         public static final String ExperimentState_Running = "http://www.simantics.org/Simulation-1.1/ExperimentState/Running";\r
84         public static final String ExperimentState_Stopped = "http://www.simantics.org/Simulation-1.1/ExperimentState/Stopped";\r
85         public static final String HasActivationTime = "http://www.simantics.org/Simulation-1.1/HasActivationTime";\r
86         public static final String HasActivationTime_Inverse = "http://www.simantics.org/Simulation-1.1/HasActivationTime/Inverse";\r
87         public static final String HasActiveExperiment = "http://www.simantics.org/Simulation-1.1/HasActiveExperiment";\r
88         public static final String HasActiveExperiment_Inverse = "http://www.simantics.org/Simulation-1.1/HasActiveExperiment/Inverse";\r
89         public static final String HasConfiguration = "http://www.simantics.org/Simulation-1.1/HasConfiguration";\r
90         public static final String HasDevsComponent = "http://www.simantics.org/Simulation-1.1/HasDevsComponent";\r
91         public static final String HasExperimentState = "http://www.simantics.org/Simulation-1.1/HasExperimentState";\r
92         public static final String HasInitialState = "http://www.simantics.org/Simulation-1.1/HasInitialState";\r
93         public static final String HasInitialState_Inverse = "http://www.simantics.org/Simulation-1.1/HasInitialState/Inverse";\r
94         public static final String HasState = "http://www.simantics.org/Simulation-1.1/HasState";\r
95         public static final String HasState_Inverse = "http://www.simantics.org/Simulation-1.1/HasState/Inverse";\r
96         public static final String History = "http://www.simantics.org/Simulation-1.1/History";\r
97         public static final String History_History = "http://www.simantics.org/Simulation-1.1/History/History";\r
98         public static final String History_History_Item = "http://www.simantics.org/Simulation-1.1/History/History/Item";\r
99         public static final String History_History_Item_Bias = "http://www.simantics.org/Simulation-1.1/History/History/Item/Bias";\r
100         public static final String History_History_Item_Bias_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Bias/Inverse";\r
101         public static final String History_History_Item_CollectorState = "http://www.simantics.org/Simulation-1.1/History/History/Item/CollectorState";\r
102         public static final String History_History_Item_CollectorState_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/CollectorState/Inverse";\r
103         public static final String History_History_Item_Deadband = "http://www.simantics.org/Simulation-1.1/History/History/Item/Deadband";\r
104         public static final String History_History_Item_Deadband_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Deadband/Inverse";\r
105         public static final String History_History_Item_Enabled = "http://www.simantics.org/Simulation-1.1/History/History/Item/Enabled";\r
106         public static final String History_History_Item_Enabled_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Enabled/Inverse";\r
107         public static final String History_History_Item_Format = "http://www.simantics.org/Simulation-1.1/History/History/Item/Format";\r
108         public static final String History_History_Item_FormatId = "http://www.simantics.org/Simulation-1.1/History/History/Item/FormatId";\r
109         public static final String History_History_Item_FormatId_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/FormatId/Inverse";\r
110         public static final String History_History_Item_Format_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Format/Inverse";\r
111         public static final String History_History_Item_Gain = "http://www.simantics.org/Simulation-1.1/History/History/Item/Gain";\r
112         public static final String History_History_Item_Gain_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Gain/Inverse";\r
113         public static final String History_History_Item_GroupId = "http://www.simantics.org/Simulation-1.1/History/History/Item/GroupId";\r
114         public static final String History_History_Item_GroupId_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/GroupId/Inverse";\r
115         public static final String History_History_Item_GroupItemId = "http://www.simantics.org/Simulation-1.1/History/History/Item/GroupItemId";\r
116         public static final String History_History_Item_GroupItemId_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/GroupItemId/Inverse";\r
117         public static final String History_History_Item_Info = "http://www.simantics.org/Simulation-1.1/History/History/Item/Info";\r
118         public static final String History_History_Item_Info_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Info/Inverse";\r
119         public static final String History_History_Item_Interval = "http://www.simantics.org/Simulation-1.1/History/History/Item/Interval";\r
120         public static final String History_History_Item_Interval_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Interval/Inverse";\r
121         public static final String History_History_Item_Series = "http://www.simantics.org/Simulation-1.1/History/History/Item/Series";\r
122         public static final String History_History_Item_Series_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/Series/Inverse";\r
123         public static final String History_History_Item_VariableId = "http://www.simantics.org/Simulation-1.1/History/History/Item/VariableId";\r
124         public static final String History_History_Item_VariableId_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/VariableId/Inverse";\r
125         public static final String History_History_Item_size = "http://www.simantics.org/Simulation-1.1/History/History/Item/size";\r
126         public static final String History_History_Item_size_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/Item/size/Inverse";\r
127         public static final String History_History_archive = "http://www.simantics.org/Simulation-1.1/History/History/archive";\r
128         public static final String History_History_archive_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/archive/Inverse";\r
129         public static final String History_History_size = "http://www.simantics.org/Simulation-1.1/History/History/size";\r
130         public static final String History_History_size_Inverse = "http://www.simantics.org/Simulation-1.1/History/History/size/Inverse";\r
131         public static final String IsActive = "http://www.simantics.org/Simulation-1.1/IsActive";\r
132         public static final String IsConfigurationOf = "http://www.simantics.org/Simulation-1.1/IsConfigurationOf";\r
133         public static final String Model = "http://www.simantics.org/Simulation-1.1/Model";\r
134         public static final String Run = "http://www.simantics.org/Simulation-1.1/Run";\r
135         public static final String RunType = "http://www.simantics.org/Simulation-1.1/RunType";\r
136         public static final String Run_iExperiment = "http://www.simantics.org/Simulation-1.1/Run/iExperiment";\r
137         public static final String Run_iExperiment_Inverse = "http://www.simantics.org/Simulation-1.1/Run/iExperiment/Inverse";\r
138         public static final String State = "http://www.simantics.org/Simulation-1.1/State";\r
139         public static final String State_History = "http://www.simantics.org/Simulation-1.1/State/History";\r
140         public static final String State_History_Inverse = "http://www.simantics.org/Simulation-1.1/State/History/Inverse";\r
141     }\r
142     \r
143     public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
144         try {\r
145             return graph.getResource(uri);\r
146         } catch(DatabaseException e) {\r
147             System.err.println(e.getMessage());\r
148             return null;\r
149         }\r
150     }\r
151     \r
152     public SimulationResource(ReadGraph graph) {\r
153         ActiveExperiment = getResourceOrNull(graph, URIs.ActiveExperiment);\r
154         Experiment = getResourceOrNull(graph, URIs.Experiment);\r
155         ExperimentState = getResourceOrNull(graph, URIs.ExperimentState);\r
156         ExperimentState_Disposed = getResourceOrNull(graph, URIs.ExperimentState_Disposed);\r
157         ExperimentState_Initializing = getResourceOrNull(graph, URIs.ExperimentState_Initializing);\r
158         ExperimentState_Running = getResourceOrNull(graph, URIs.ExperimentState_Running);\r
159         ExperimentState_Stopped = getResourceOrNull(graph, URIs.ExperimentState_Stopped);\r
160         HasActivationTime = getResourceOrNull(graph, URIs.HasActivationTime);\r
161         HasActivationTime_Inverse = getResourceOrNull(graph, URIs.HasActivationTime_Inverse);\r
162         HasActiveExperiment = getResourceOrNull(graph, URIs.HasActiveExperiment);\r
163         HasActiveExperiment_Inverse = getResourceOrNull(graph, URIs.HasActiveExperiment_Inverse);\r
164         HasConfiguration = getResourceOrNull(graph, URIs.HasConfiguration);\r
165         HasDevsComponent = getResourceOrNull(graph, URIs.HasDevsComponent);\r
166         HasExperimentState = getResourceOrNull(graph, URIs.HasExperimentState);\r
167         HasInitialState = getResourceOrNull(graph, URIs.HasInitialState);\r
168         HasInitialState_Inverse = getResourceOrNull(graph, URIs.HasInitialState_Inverse);\r
169         HasState = getResourceOrNull(graph, URIs.HasState);\r
170         HasState_Inverse = getResourceOrNull(graph, URIs.HasState_Inverse);\r
171         History = getResourceOrNull(graph, URIs.History);\r
172         History_History = getResourceOrNull(graph, URIs.History_History);\r
173         History_History_Item = getResourceOrNull(graph, URIs.History_History_Item);\r
174         History_History_Item_Bias = getResourceOrNull(graph, URIs.History_History_Item_Bias);\r
175         History_History_Item_Bias_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Bias_Inverse);\r
176         History_History_Item_CollectorState = getResourceOrNull(graph, URIs.History_History_Item_CollectorState);\r
177         History_History_Item_CollectorState_Inverse = getResourceOrNull(graph, URIs.History_History_Item_CollectorState_Inverse);\r
178         History_History_Item_Deadband = getResourceOrNull(graph, URIs.History_History_Item_Deadband);\r
179         History_History_Item_Deadband_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Deadband_Inverse);\r
180         History_History_Item_Enabled = getResourceOrNull(graph, URIs.History_History_Item_Enabled);\r
181         History_History_Item_Enabled_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Enabled_Inverse);\r
182         History_History_Item_Format = getResourceOrNull(graph, URIs.History_History_Item_Format);\r
183         History_History_Item_FormatId = getResourceOrNull(graph, URIs.History_History_Item_FormatId);\r
184         History_History_Item_FormatId_Inverse = getResourceOrNull(graph, URIs.History_History_Item_FormatId_Inverse);\r
185         History_History_Item_Format_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Format_Inverse);\r
186         History_History_Item_Gain = getResourceOrNull(graph, URIs.History_History_Item_Gain);\r
187         History_History_Item_Gain_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Gain_Inverse);\r
188         History_History_Item_GroupId = getResourceOrNull(graph, URIs.History_History_Item_GroupId);\r
189         History_History_Item_GroupId_Inverse = getResourceOrNull(graph, URIs.History_History_Item_GroupId_Inverse);\r
190         History_History_Item_GroupItemId = getResourceOrNull(graph, URIs.History_History_Item_GroupItemId);\r
191         History_History_Item_GroupItemId_Inverse = getResourceOrNull(graph, URIs.History_History_Item_GroupItemId_Inverse);\r
192         History_History_Item_Info = getResourceOrNull(graph, URIs.History_History_Item_Info);\r
193         History_History_Item_Info_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Info_Inverse);\r
194         History_History_Item_Interval = getResourceOrNull(graph, URIs.History_History_Item_Interval);\r
195         History_History_Item_Interval_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Interval_Inverse);\r
196         History_History_Item_Series = getResourceOrNull(graph, URIs.History_History_Item_Series);\r
197         History_History_Item_Series_Inverse = getResourceOrNull(graph, URIs.History_History_Item_Series_Inverse);\r
198         History_History_Item_VariableId = getResourceOrNull(graph, URIs.History_History_Item_VariableId);\r
199         History_History_Item_VariableId_Inverse = getResourceOrNull(graph, URIs.History_History_Item_VariableId_Inverse);\r
200         History_History_Item_size = getResourceOrNull(graph, URIs.History_History_Item_size);\r
201         History_History_Item_size_Inverse = getResourceOrNull(graph, URIs.History_History_Item_size_Inverse);\r
202         History_History_archive = getResourceOrNull(graph, URIs.History_History_archive);\r
203         History_History_archive_Inverse = getResourceOrNull(graph, URIs.History_History_archive_Inverse);\r
204         History_History_size = getResourceOrNull(graph, URIs.History_History_size);\r
205         History_History_size_Inverse = getResourceOrNull(graph, URIs.History_History_size_Inverse);\r
206         IsActive = getResourceOrNull(graph, URIs.IsActive);\r
207         IsConfigurationOf = getResourceOrNull(graph, URIs.IsConfigurationOf);\r
208         Model = getResourceOrNull(graph, URIs.Model);\r
209         Run = getResourceOrNull(graph, URIs.Run);\r
210         RunType = getResourceOrNull(graph, URIs.RunType);\r
211         Run_iExperiment = getResourceOrNull(graph, URIs.Run_iExperiment);\r
212         Run_iExperiment_Inverse = getResourceOrNull(graph, URIs.Run_iExperiment_Inverse);\r
213         State = getResourceOrNull(graph, URIs.State);\r
214         State_History = getResourceOrNull(graph, URIs.State_History);\r
215         State_History_Inverse = getResourceOrNull(graph, URIs.State_History_Inverse);\r
216     }\r
217     \r
218     public static SimulationResource getInstance(ReadGraph graph) {\r
219         Session session = graph.getSession();\r
220         SimulationResource ret = session.peekService(SimulationResource.class);\r
221         if(ret == null) {\r
222             QueryControl qc = graph.getService(QueryControl.class);\r
223             ret = new SimulationResource(qc.getIndependentGraph(graph));\r
224             session.registerService(SimulationResource.class, ret);\r
225         }\r
226         return ret;\r
227     }\r
228     \r
229     public static SimulationResource getInstance(RequestProcessor session) throws DatabaseException {\r
230         SimulationResource ret = session.peekService(SimulationResource.class);\r
231         if(ret == null) {\r
232             ret = session.syncRequest(new Read<SimulationResource>() {\r
233                 public SimulationResource perform(ReadGraph graph) throws DatabaseException {\r
234                     QueryControl qc = graph.getService(QueryControl.class);\r
235                     return new SimulationResource(qc.getIndependentGraph(graph));\r
236                 }\r
237             });\r
238             session.registerService(SimulationResource.class, ret);\r
239         }\r
240         return ret;\r
241     }\r
242     \r
243 }\r
244 \r