]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.platform.ui.ontology/src/org/simantics/platform/ui/PlatformUIResource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.platform.ui.ontology / src / org / simantics / platform / ui / PlatformUIResource.java
1 package org.simantics.platform.ui;\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 PlatformUIResource {\r
12     \r
13     public final Resource Configuration;\r
14     public final Resource Model;\r
15     public final Resource NameLabelMode;\r
16     public final Resource NameLabelMode_Label;\r
17     public final Resource NameLabelMode_LabelAndName;\r
18     public final Resource NameLabelMode_Name;\r
19     public final Resource NameLabelMode_NameAndLabel;\r
20     public final Resource SCLMain;\r
21     public final Resource SharedOntology;\r
22     public final Resource StandardPropertiesTabContribution;\r
23     public final Resource Views;\r
24     public final Resource Views_AvailableColumns;\r
25     public final Resource Views_RangeSelectionTab;\r
26     public final Resource Views_RangeSelectionTabContribution;\r
27     public final Resource Views_RangeSelectionTab_Cell1;\r
28     public final Resource Views_RangeSelectionTab_Cell2;\r
29     public final Resource Views_RangeSelectionTab_Combo;\r
30     public final Resource Views_RangeSelectionTab_Panel;\r
31     public final Resource Views_RangeSelectionTab_Root;\r
32     public final Resource Views_RangeSelectionTab_Text;\r
33     public final Resource Views_SCLValue;\r
34     public final Resource Views_SharedLibraries;\r
35     public final Resource Views_SharedLibraries_AvailableContext;\r
36     public final Resource Views_SharedLibraries_AvailableContext_Children;\r
37     public final Resource Views_SharedLibraries_AvailableContext_Children_Rule;\r
38     public final Resource Views_SharedLibraries_Cell1;\r
39     public final Resource Views_SharedLibraries_Cell2;\r
40     public final Resource Views_SharedLibraries_Cell3;\r
41     public final Resource Views_SharedLibraries_Cell4;\r
42     public final Resource Views_SharedLibraries_Cell5;\r
43     public final Resource Views_SharedLibraries_Cell6;\r
44     public final Resource Views_SharedLibraries_DefVar;\r
45     public final Resource Views_SharedLibraries_DefVar2;\r
46     public final Resource Views_SharedLibraries_Explorer1;\r
47     public final Resource Views_SharedLibraries_Explorer2;\r
48     public final Resource Views_SharedLibraries_ImportButton;\r
49     public final Resource Views_SharedLibraries_LinkButton;\r
50     public final Resource Views_SharedLibraries_NewButton;\r
51     public final Resource Views_SharedLibraries_Panel;\r
52     public final Resource Views_SharedLibraries_Panel2;\r
53     public final Resource Views_SharedLibraries_Root;\r
54     public final Resource Views_SharedLibraries_UnlinkButton;\r
55     public final Resource Views_SharedLibraries_UnlinkEvent;\r
56     public final Resource Views_SharedLibraries_UseEvent;\r
57     public final Resource Views_SharedLibraries_UsedContext;\r
58     public final Resource Views_SharedLibraries_UsedContext_Children;\r
59     public final Resource Views_SharedLibraries_UsedContext_Children_Rule;\r
60     public final Resource Views_SharedLibraryContribution;\r
61     public final Resource Views_UsedColumns;\r
62     public final Resource Views_scl;\r
63     public final Resource Views_sclEvent;\r
64     public final Resource hasNameLabelMode;\r
65     public final Resource hasNameLabelMode_Inverse;\r
66         \r
67     public static class URIs {\r
68         public static final String Configuration = "http://www.simantics.org/PlatformUI-1.0/Configuration";\r
69         public static final String Model = "http://www.simantics.org/PlatformUI-1.0/Model";\r
70         public static final String NameLabelMode = "http://www.simantics.org/PlatformUI-1.0/NameLabelMode";\r
71         public static final String NameLabelMode_Label = "http://www.simantics.org/PlatformUI-1.0/NameLabelMode/Label";\r
72         public static final String NameLabelMode_LabelAndName = "http://www.simantics.org/PlatformUI-1.0/NameLabelMode/LabelAndName";\r
73         public static final String NameLabelMode_Name = "http://www.simantics.org/PlatformUI-1.0/NameLabelMode/Name";\r
74         public static final String NameLabelMode_NameAndLabel = "http://www.simantics.org/PlatformUI-1.0/NameLabelMode/NameAndLabel";\r
75         public static final String SCLMain = "http://www.simantics.org/PlatformUI-1.0/SCLMain";\r
76         public static final String SharedOntology = "http://www.simantics.org/PlatformUI-1.0/SharedOntology";\r
77         public static final String StandardPropertiesTabContribution = "http://www.simantics.org/PlatformUI-1.0/StandardPropertiesTabContribution";\r
78         public static final String Views = "http://www.simantics.org/PlatformUI-1.0/Views";\r
79         public static final String Views_AvailableColumns = "http://www.simantics.org/PlatformUI-1.0/Views/AvailableColumns";\r
80         public static final String Views_RangeSelectionTab = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTab";\r
81         public static final String Views_RangeSelectionTabContribution = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTabContribution";\r
82         public static final String Views_RangeSelectionTab_Cell1 = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTab/Cell1";\r
83         public static final String Views_RangeSelectionTab_Cell2 = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTab/Cell2";\r
84         public static final String Views_RangeSelectionTab_Combo = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTab/Combo";\r
85         public static final String Views_RangeSelectionTab_Panel = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTab/Panel";\r
86         public static final String Views_RangeSelectionTab_Root = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTab/Root";\r
87         public static final String Views_RangeSelectionTab_Text = "http://www.simantics.org/PlatformUI-1.0/Views/RangeSelectionTab/Text";\r
88         public static final String Views_SCLValue = "http://www.simantics.org/PlatformUI-1.0/Views/SCLValue";\r
89         public static final String Views_SharedLibraries = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries";\r
90         public static final String Views_SharedLibraries_AvailableContext = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/AvailableContext";\r
91         public static final String Views_SharedLibraries_AvailableContext_Children = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/AvailableContext/Children";\r
92         public static final String Views_SharedLibraries_AvailableContext_Children_Rule = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/AvailableContext/Children/Rule";\r
93         public static final String Views_SharedLibraries_Cell1 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Cell1";\r
94         public static final String Views_SharedLibraries_Cell2 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Cell2";\r
95         public static final String Views_SharedLibraries_Cell3 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Cell3";\r
96         public static final String Views_SharedLibraries_Cell4 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Cell4";\r
97         public static final String Views_SharedLibraries_Cell5 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Cell5";\r
98         public static final String Views_SharedLibraries_Cell6 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Cell6";\r
99         public static final String Views_SharedLibraries_DefVar = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/DefVar";\r
100         public static final String Views_SharedLibraries_DefVar2 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/DefVar2";\r
101         public static final String Views_SharedLibraries_Explorer1 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Explorer1";\r
102         public static final String Views_SharedLibraries_Explorer2 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Explorer2";\r
103         public static final String Views_SharedLibraries_ImportButton = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/ImportButton";\r
104         public static final String Views_SharedLibraries_LinkButton = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/LinkButton";\r
105         public static final String Views_SharedLibraries_NewButton = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/NewButton";\r
106         public static final String Views_SharedLibraries_Panel = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Panel";\r
107         public static final String Views_SharedLibraries_Panel2 = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Panel2";\r
108         public static final String Views_SharedLibraries_Root = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/Root";\r
109         public static final String Views_SharedLibraries_UnlinkButton = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/UnlinkButton";\r
110         public static final String Views_SharedLibraries_UnlinkEvent = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/UnlinkEvent";\r
111         public static final String Views_SharedLibraries_UseEvent = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/UseEvent";\r
112         public static final String Views_SharedLibraries_UsedContext = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/UsedContext";\r
113         public static final String Views_SharedLibraries_UsedContext_Children = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/UsedContext/Children";\r
114         public static final String Views_SharedLibraries_UsedContext_Children_Rule = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraries/UsedContext/Children/Rule";\r
115         public static final String Views_SharedLibraryContribution = "http://www.simantics.org/PlatformUI-1.0/Views/SharedLibraryContribution";\r
116         public static final String Views_UsedColumns = "http://www.simantics.org/PlatformUI-1.0/Views/UsedColumns";\r
117         public static final String Views_scl = "http://www.simantics.org/PlatformUI-1.0/Views/scl";\r
118         public static final String Views_sclEvent = "http://www.simantics.org/PlatformUI-1.0/Views/sclEvent";\r
119         public static final String hasNameLabelMode = "http://www.simantics.org/PlatformUI-1.0/hasNameLabelMode";\r
120         public static final String hasNameLabelMode_Inverse = "http://www.simantics.org/PlatformUI-1.0/hasNameLabelMode/Inverse";\r
121     }\r
122     \r
123     public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
124         try {\r
125             return graph.getResource(uri);\r
126         } catch(DatabaseException e) {\r
127             System.err.println(e.getMessage());\r
128             return null;\r
129         }\r
130     }\r
131     \r
132     public PlatformUIResource(ReadGraph graph) {\r
133         Configuration = getResourceOrNull(graph, URIs.Configuration);\r
134         Model = getResourceOrNull(graph, URIs.Model);\r
135         NameLabelMode = getResourceOrNull(graph, URIs.NameLabelMode);\r
136         NameLabelMode_Label = getResourceOrNull(graph, URIs.NameLabelMode_Label);\r
137         NameLabelMode_LabelAndName = getResourceOrNull(graph, URIs.NameLabelMode_LabelAndName);\r
138         NameLabelMode_Name = getResourceOrNull(graph, URIs.NameLabelMode_Name);\r
139         NameLabelMode_NameAndLabel = getResourceOrNull(graph, URIs.NameLabelMode_NameAndLabel);\r
140         SCLMain = getResourceOrNull(graph, URIs.SCLMain);\r
141         SharedOntology = getResourceOrNull(graph, URIs.SharedOntology);\r
142         StandardPropertiesTabContribution = getResourceOrNull(graph, URIs.StandardPropertiesTabContribution);\r
143         Views = getResourceOrNull(graph, URIs.Views);\r
144         Views_AvailableColumns = getResourceOrNull(graph, URIs.Views_AvailableColumns);\r
145         Views_RangeSelectionTab = getResourceOrNull(graph, URIs.Views_RangeSelectionTab);\r
146         Views_RangeSelectionTabContribution = getResourceOrNull(graph, URIs.Views_RangeSelectionTabContribution);\r
147         Views_RangeSelectionTab_Cell1 = getResourceOrNull(graph, URIs.Views_RangeSelectionTab_Cell1);\r
148         Views_RangeSelectionTab_Cell2 = getResourceOrNull(graph, URIs.Views_RangeSelectionTab_Cell2);\r
149         Views_RangeSelectionTab_Combo = getResourceOrNull(graph, URIs.Views_RangeSelectionTab_Combo);\r
150         Views_RangeSelectionTab_Panel = getResourceOrNull(graph, URIs.Views_RangeSelectionTab_Panel);\r
151         Views_RangeSelectionTab_Root = getResourceOrNull(graph, URIs.Views_RangeSelectionTab_Root);\r
152         Views_RangeSelectionTab_Text = getResourceOrNull(graph, URIs.Views_RangeSelectionTab_Text);\r
153         Views_SCLValue = getResourceOrNull(graph, URIs.Views_SCLValue);\r
154         Views_SharedLibraries = getResourceOrNull(graph, URIs.Views_SharedLibraries);\r
155         Views_SharedLibraries_AvailableContext = getResourceOrNull(graph, URIs.Views_SharedLibraries_AvailableContext);\r
156         Views_SharedLibraries_AvailableContext_Children = getResourceOrNull(graph, URIs.Views_SharedLibraries_AvailableContext_Children);\r
157         Views_SharedLibraries_AvailableContext_Children_Rule = getResourceOrNull(graph, URIs.Views_SharedLibraries_AvailableContext_Children_Rule);\r
158         Views_SharedLibraries_Cell1 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Cell1);\r
159         Views_SharedLibraries_Cell2 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Cell2);\r
160         Views_SharedLibraries_Cell3 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Cell3);\r
161         Views_SharedLibraries_Cell4 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Cell4);\r
162         Views_SharedLibraries_Cell5 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Cell5);\r
163         Views_SharedLibraries_Cell6 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Cell6);\r
164         Views_SharedLibraries_DefVar = getResourceOrNull(graph, URIs.Views_SharedLibraries_DefVar);\r
165         Views_SharedLibraries_DefVar2 = getResourceOrNull(graph, URIs.Views_SharedLibraries_DefVar2);\r
166         Views_SharedLibraries_Explorer1 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Explorer1);\r
167         Views_SharedLibraries_Explorer2 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Explorer2);\r
168         Views_SharedLibraries_ImportButton = getResourceOrNull(graph, URIs.Views_SharedLibraries_ImportButton);\r
169         Views_SharedLibraries_LinkButton = getResourceOrNull(graph, URIs.Views_SharedLibraries_LinkButton);\r
170         Views_SharedLibraries_NewButton = getResourceOrNull(graph, URIs.Views_SharedLibraries_NewButton);\r
171         Views_SharedLibraries_Panel = getResourceOrNull(graph, URIs.Views_SharedLibraries_Panel);\r
172         Views_SharedLibraries_Panel2 = getResourceOrNull(graph, URIs.Views_SharedLibraries_Panel2);\r
173         Views_SharedLibraries_Root = getResourceOrNull(graph, URIs.Views_SharedLibraries_Root);\r
174         Views_SharedLibraries_UnlinkButton = getResourceOrNull(graph, URIs.Views_SharedLibraries_UnlinkButton);\r
175         Views_SharedLibraries_UnlinkEvent = getResourceOrNull(graph, URIs.Views_SharedLibraries_UnlinkEvent);\r
176         Views_SharedLibraries_UseEvent = getResourceOrNull(graph, URIs.Views_SharedLibraries_UseEvent);\r
177         Views_SharedLibraries_UsedContext = getResourceOrNull(graph, URIs.Views_SharedLibraries_UsedContext);\r
178         Views_SharedLibraries_UsedContext_Children = getResourceOrNull(graph, URIs.Views_SharedLibraries_UsedContext_Children);\r
179         Views_SharedLibraries_UsedContext_Children_Rule = getResourceOrNull(graph, URIs.Views_SharedLibraries_UsedContext_Children_Rule);\r
180         Views_SharedLibraryContribution = getResourceOrNull(graph, URIs.Views_SharedLibraryContribution);\r
181         Views_UsedColumns = getResourceOrNull(graph, URIs.Views_UsedColumns);\r
182         Views_scl = getResourceOrNull(graph, URIs.Views_scl);\r
183         Views_sclEvent = getResourceOrNull(graph, URIs.Views_sclEvent);\r
184         hasNameLabelMode = getResourceOrNull(graph, URIs.hasNameLabelMode);\r
185         hasNameLabelMode_Inverse = getResourceOrNull(graph, URIs.hasNameLabelMode_Inverse);\r
186     }\r
187     \r
188     public static PlatformUIResource getInstance(ReadGraph graph) {\r
189         Session session = graph.getSession();\r
190         PlatformUIResource ret = session.peekService(PlatformUIResource.class);\r
191         if(ret == null) {\r
192             QueryControl qc = graph.getService(QueryControl.class);\r
193             ret = new PlatformUIResource(qc.getIndependentGraph(graph));\r
194             session.registerService(PlatformUIResource.class, ret);\r
195         }\r
196         return ret;\r
197     }\r
198     \r
199     public static PlatformUIResource getInstance(RequestProcessor session) throws DatabaseException {\r
200         PlatformUIResource ret = session.peekService(PlatformUIResource.class);\r
201         if(ret == null) {\r
202             ret = session.syncRequest(new Read<PlatformUIResource>() {\r
203                 public PlatformUIResource perform(ReadGraph graph) throws DatabaseException {\r
204                     QueryControl qc = graph.getService(QueryControl.class);\r
205                     return new PlatformUIResource(qc.getIndependentGraph(graph));\r
206                 }\r
207             });\r
208             session.registerService(PlatformUIResource.class, ret);\r
209         }\r
210         return ret;\r
211     }\r
212     \r
213 }\r
214 \r