]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.project.ontology/src/org/simantics/project/ontology/ProjectResource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.project.ontology / src / org / simantics / project / ontology / ProjectResource.java
1 package org.simantics.project.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 ProjectResource {\r
12     \r
13     public final Resource Contributions;\r
14     public final Resource Contributions_ActiveModelVisualization;\r
15     public final Resource Contributions_ActiveRunVisualization;\r
16     public final Resource Contributions_ExperimentImageRule;\r
17     public final Resource Contributions_Migrate;\r
18     public final Resource Contributions_ModelChildren;\r
19     public final Resource Contributions_ModelImageRule;\r
20     public final Resource Contributions_RunImageRule;\r
21     public final Resource Contributions_StandardNameLabelRule;\r
22     public final Resource DefaultProjectActionContext;\r
23     public final Resource DefaultProjectBrowseContext;\r
24     public final Resource DefaultProjectVisualizationContext;\r
25     public final Resource FeatureSpec;\r
26     public final Resource HasFeature;\r
27     public final Resource HasFeature_Inverse;\r
28     public final Resource HasGroupId;\r
29     public final Resource HasGroupId_Inverse;\r
30     public final Resource IsRequired;\r
31     public final Resource IsRequired_Inverse;\r
32     public final Resource MainToolbarActionContext;\r
33     public final Resource NamespaceRequirement;\r
34     public final Resource Project;\r
35     public final Resource ProjectActionContext;\r
36     public final Resource ProjectActionContext_Actions;\r
37     public final Resource ProjectActionContext_Actions_Migrate;\r
38     public final Resource ProjectActionContext_Tests;\r
39     public final Resource ProjectActionContext_Tests_IsMigrationPossible;\r
40     public final Resource ProjectBrowseContext;\r
41     public final Resource ProjectBrowseContext_ActiveLabelDecorationRule;\r
42     public final Resource ProjectBrowseContext_Images;\r
43     public final Resource ProjectBrowseContext_Images_Experiment;\r
44     public final Resource ProjectBrowseContext_Images_Folder;\r
45     public final Resource ProjectBrowseContext_Images_Model;\r
46     public final Resource ProjectBrowseContext_Images_Run;\r
47     public final Resource ProjectBrowseContext_RunLabelRule;\r
48     public final Resource ProjectDoubleClickActionContext;\r
49     public final Resource ProjectFileMenuActionContext;\r
50     public final Resource ProjectFileMenuNewActionContext;\r
51     public final Resource ProjectType;\r
52     public final Resource RequiresNamespace;\r
53     public final Resource RequiresNamespace_Inverse;\r
54         \r
55     public static class URIs {\r
56         public static final String Contributions = "http://www.simantics.org/Project-1.2/Contributions";\r
57         public static final String Contributions_ActiveModelVisualization = "http://www.simantics.org/Project-1.2/Contributions/ActiveModelVisualization";\r
58         public static final String Contributions_ActiveRunVisualization = "http://www.simantics.org/Project-1.2/Contributions/ActiveRunVisualization";\r
59         public static final String Contributions_ExperimentImageRule = "http://www.simantics.org/Project-1.2/Contributions/ExperimentImageRule";\r
60         public static final String Contributions_Migrate = "http://www.simantics.org/Project-1.2/Contributions/Migrate";\r
61         public static final String Contributions_ModelChildren = "http://www.simantics.org/Project-1.2/Contributions/ModelChildren";\r
62         public static final String Contributions_ModelImageRule = "http://www.simantics.org/Project-1.2/Contributions/ModelImageRule";\r
63         public static final String Contributions_RunImageRule = "http://www.simantics.org/Project-1.2/Contributions/RunImageRule";\r
64         public static final String Contributions_StandardNameLabelRule = "http://www.simantics.org/Project-1.2/Contributions/StandardNameLabelRule";\r
65         public static final String DefaultProjectActionContext = "http://www.simantics.org/Project-1.2/DefaultProjectActionContext";\r
66         public static final String DefaultProjectBrowseContext = "http://www.simantics.org/Project-1.2/DefaultProjectBrowseContext";\r
67         public static final String DefaultProjectVisualizationContext = "http://www.simantics.org/Project-1.2/DefaultProjectVisualizationContext";\r
68         public static final String FeatureSpec = "http://www.simantics.org/Project-1.2/FeatureSpec";\r
69         public static final String HasFeature = "http://www.simantics.org/Project-1.2/HasFeature";\r
70         public static final String HasFeature_Inverse = "http://www.simantics.org/Project-1.2/HasFeature/Inverse";\r
71         public static final String HasGroupId = "http://www.simantics.org/Project-1.2/HasGroupId";\r
72         public static final String HasGroupId_Inverse = "http://www.simantics.org/Project-1.2/HasGroupId/Inverse";\r
73         public static final String IsRequired = "http://www.simantics.org/Project-1.2/IsRequired";\r
74         public static final String IsRequired_Inverse = "http://www.simantics.org/Project-1.2/IsRequired/Inverse";\r
75         public static final String MainToolbarActionContext = "http://www.simantics.org/Project-1.2/MainToolbarActionContext";\r
76         public static final String NamespaceRequirement = "http://www.simantics.org/Project-1.2/NamespaceRequirement";\r
77         public static final String Project = "http://www.simantics.org/Project-1.2/Project";\r
78         public static final String ProjectActionContext = "http://www.simantics.org/Project-1.2/ProjectActionContext";\r
79         public static final String ProjectActionContext_Actions = "http://www.simantics.org/Project-1.2/ProjectActionContext/Actions";\r
80         public static final String ProjectActionContext_Actions_Migrate = "http://www.simantics.org/Project-1.2/ProjectActionContext/Actions/Migrate";\r
81         public static final String ProjectActionContext_Tests = "http://www.simantics.org/Project-1.2/ProjectActionContext/Tests";\r
82         public static final String ProjectActionContext_Tests_IsMigrationPossible = "http://www.simantics.org/Project-1.2/ProjectActionContext/Tests/IsMigrationPossible";\r
83         public static final String ProjectBrowseContext = "http://www.simantics.org/Project-1.2/ProjectBrowseContext";\r
84         public static final String ProjectBrowseContext_ActiveLabelDecorationRule = "http://www.simantics.org/Project-1.2/ProjectBrowseContext/ActiveLabelDecorationRule";\r
85         public static final String ProjectBrowseContext_Images = "http://www.simantics.org/Project-1.2/ProjectBrowseContext/Images";\r
86         public static final String ProjectBrowseContext_Images_Experiment = "http://www.simantics.org/Project-1.2/ProjectBrowseContext/Images/Experiment";\r
87         public static final String ProjectBrowseContext_Images_Folder = "http://www.simantics.org/Project-1.2/ProjectBrowseContext/Images/Folder";\r
88         public static final String ProjectBrowseContext_Images_Model = "http://www.simantics.org/Project-1.2/ProjectBrowseContext/Images/Model";\r
89         public static final String ProjectBrowseContext_Images_Run = "http://www.simantics.org/Project-1.2/ProjectBrowseContext/Images/Run";\r
90         public static final String ProjectBrowseContext_RunLabelRule = "http://www.simantics.org/Project-1.2/ProjectBrowseContext/RunLabelRule";\r
91         public static final String ProjectDoubleClickActionContext = "http://www.simantics.org/Project-1.2/ProjectDoubleClickActionContext";\r
92         public static final String ProjectFileMenuActionContext = "http://www.simantics.org/Project-1.2/ProjectFileMenuActionContext";\r
93         public static final String ProjectFileMenuNewActionContext = "http://www.simantics.org/Project-1.2/ProjectFileMenuNewActionContext";\r
94         public static final String ProjectType = "http://www.simantics.org/Project-1.2/ProjectType";\r
95         public static final String RequiresNamespace = "http://www.simantics.org/Project-1.2/RequiresNamespace";\r
96         public static final String RequiresNamespace_Inverse = "http://www.simantics.org/Project-1.2/RequiresNamespace/Inverse";\r
97     }\r
98     \r
99     public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
100         try {\r
101             return graph.getResource(uri);\r
102         } catch(DatabaseException e) {\r
103             System.err.println(e.getMessage());\r
104             return null;\r
105         }\r
106     }\r
107     \r
108     public ProjectResource(ReadGraph graph) {\r
109         Contributions = getResourceOrNull(graph, URIs.Contributions);\r
110         Contributions_ActiveModelVisualization = getResourceOrNull(graph, URIs.Contributions_ActiveModelVisualization);\r
111         Contributions_ActiveRunVisualization = getResourceOrNull(graph, URIs.Contributions_ActiveRunVisualization);\r
112         Contributions_ExperimentImageRule = getResourceOrNull(graph, URIs.Contributions_ExperimentImageRule);\r
113         Contributions_Migrate = getResourceOrNull(graph, URIs.Contributions_Migrate);\r
114         Contributions_ModelChildren = getResourceOrNull(graph, URIs.Contributions_ModelChildren);\r
115         Contributions_ModelImageRule = getResourceOrNull(graph, URIs.Contributions_ModelImageRule);\r
116         Contributions_RunImageRule = getResourceOrNull(graph, URIs.Contributions_RunImageRule);\r
117         Contributions_StandardNameLabelRule = getResourceOrNull(graph, URIs.Contributions_StandardNameLabelRule);\r
118         DefaultProjectActionContext = getResourceOrNull(graph, URIs.DefaultProjectActionContext);\r
119         DefaultProjectBrowseContext = getResourceOrNull(graph, URIs.DefaultProjectBrowseContext);\r
120         DefaultProjectVisualizationContext = getResourceOrNull(graph, URIs.DefaultProjectVisualizationContext);\r
121         FeatureSpec = getResourceOrNull(graph, URIs.FeatureSpec);\r
122         HasFeature = getResourceOrNull(graph, URIs.HasFeature);\r
123         HasFeature_Inverse = getResourceOrNull(graph, URIs.HasFeature_Inverse);\r
124         HasGroupId = getResourceOrNull(graph, URIs.HasGroupId);\r
125         HasGroupId_Inverse = getResourceOrNull(graph, URIs.HasGroupId_Inverse);\r
126         IsRequired = getResourceOrNull(graph, URIs.IsRequired);\r
127         IsRequired_Inverse = getResourceOrNull(graph, URIs.IsRequired_Inverse);\r
128         MainToolbarActionContext = getResourceOrNull(graph, URIs.MainToolbarActionContext);\r
129         NamespaceRequirement = getResourceOrNull(graph, URIs.NamespaceRequirement);\r
130         Project = getResourceOrNull(graph, URIs.Project);\r
131         ProjectActionContext = getResourceOrNull(graph, URIs.ProjectActionContext);\r
132         ProjectActionContext_Actions = getResourceOrNull(graph, URIs.ProjectActionContext_Actions);\r
133         ProjectActionContext_Actions_Migrate = getResourceOrNull(graph, URIs.ProjectActionContext_Actions_Migrate);\r
134         ProjectActionContext_Tests = getResourceOrNull(graph, URIs.ProjectActionContext_Tests);\r
135         ProjectActionContext_Tests_IsMigrationPossible = getResourceOrNull(graph, URIs.ProjectActionContext_Tests_IsMigrationPossible);\r
136         ProjectBrowseContext = getResourceOrNull(graph, URIs.ProjectBrowseContext);\r
137         ProjectBrowseContext_ActiveLabelDecorationRule = getResourceOrNull(graph, URIs.ProjectBrowseContext_ActiveLabelDecorationRule);\r
138         ProjectBrowseContext_Images = getResourceOrNull(graph, URIs.ProjectBrowseContext_Images);\r
139         ProjectBrowseContext_Images_Experiment = getResourceOrNull(graph, URIs.ProjectBrowseContext_Images_Experiment);\r
140         ProjectBrowseContext_Images_Folder = getResourceOrNull(graph, URIs.ProjectBrowseContext_Images_Folder);\r
141         ProjectBrowseContext_Images_Model = getResourceOrNull(graph, URIs.ProjectBrowseContext_Images_Model);\r
142         ProjectBrowseContext_Images_Run = getResourceOrNull(graph, URIs.ProjectBrowseContext_Images_Run);\r
143         ProjectBrowseContext_RunLabelRule = getResourceOrNull(graph, URIs.ProjectBrowseContext_RunLabelRule);\r
144         ProjectDoubleClickActionContext = getResourceOrNull(graph, URIs.ProjectDoubleClickActionContext);\r
145         ProjectFileMenuActionContext = getResourceOrNull(graph, URIs.ProjectFileMenuActionContext);\r
146         ProjectFileMenuNewActionContext = getResourceOrNull(graph, URIs.ProjectFileMenuNewActionContext);\r
147         ProjectType = getResourceOrNull(graph, URIs.ProjectType);\r
148         RequiresNamespace = getResourceOrNull(graph, URIs.RequiresNamespace);\r
149         RequiresNamespace_Inverse = getResourceOrNull(graph, URIs.RequiresNamespace_Inverse);\r
150     }\r
151     \r
152     public static ProjectResource getInstance(ReadGraph graph) {\r
153         Session session = graph.getSession();\r
154         ProjectResource ret = session.peekService(ProjectResource.class);\r
155         if(ret == null) {\r
156             QueryControl qc = graph.getService(QueryControl.class);\r
157             ret = new ProjectResource(qc.getIndependentGraph(graph));\r
158             session.registerService(ProjectResource.class, ret);\r
159         }\r
160         return ret;\r
161     }\r
162     \r
163     public static ProjectResource getInstance(RequestProcessor session) throws DatabaseException {\r
164         ProjectResource ret = session.peekService(ProjectResource.class);\r
165         if(ret == null) {\r
166             ret = session.syncRequest(new Read<ProjectResource>() {\r
167                 public ProjectResource perform(ReadGraph graph) throws DatabaseException {\r
168                     QueryControl qc = graph.getService(QueryControl.class);\r
169                     return new ProjectResource(qc.getIndependentGraph(graph));\r
170                 }\r
171             });\r
172             session.registerService(ProjectResource.class, ret);\r
173         }\r
174         return ret;\r
175     }\r
176     \r
177 }\r
178 \r