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