]> gerrit.simantics Code Review - simantics/r.git/blob - bundles/org.simantics.r.ontology/src/org/simantics/r/RResource.java
Switch r master to JavaSE-11
[simantics/r.git] / bundles / org.simantics.r.ontology / src / org / simantics / r / RResource.java
1 package org.simantics.r;
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 RResource {
12     
13     public final Resource Model;
14     public final Resource RProperty;
15     public final Resource Script;
16     public final Resource Script_text;
17     public final Resource Script_text_Inverse;
18     public final Resource Session;
19     public final Resource SessionConfiguration;
20     public final Resource SessionConfiguration_hasScript;
21     public final Resource SessionConfiguration_host;
22     public final Resource SessionConfiguration_host_Inverse;
23     public final Resource SessionConfiguration_password;
24     public final Resource SessionConfiguration_password_Inverse;
25     public final Resource SessionConfiguration_port;
26     public final Resource SessionConfiguration_port_Inverse;
27     public final Resource SessionConfiguration_username;
28     public final Resource SessionConfiguration_username_Inverse;
29     public final Resource Session_hasValue;
30     public final Resource Session_hasValue_Inverse;
31     public final Resource TabContribution;
32         
33     public static class URIs {
34         public static final String Model = "http://www.simantics.org/R-1.0/Model";
35         public static final String RProperty = "http://www.simantics.org/R-1.0/RProperty";
36         public static final String Script = "http://www.simantics.org/R-1.0/Script";
37         public static final String Script_text = "http://www.simantics.org/R-1.0/Script/text";
38         public static final String Script_text_Inverse = "http://www.simantics.org/R-1.0/Script/text/Inverse";
39         public static final String Session = "http://www.simantics.org/R-1.0/Session";
40         public static final String SessionConfiguration = "http://www.simantics.org/R-1.0/SessionConfiguration";
41         public static final String SessionConfiguration_hasScript = "http://www.simantics.org/R-1.0/SessionConfiguration/hasScript";
42         public static final String SessionConfiguration_host = "http://www.simantics.org/R-1.0/SessionConfiguration/host";
43         public static final String SessionConfiguration_host_Inverse = "http://www.simantics.org/R-1.0/SessionConfiguration/host/Inverse";
44         public static final String SessionConfiguration_password = "http://www.simantics.org/R-1.0/SessionConfiguration/password";
45         public static final String SessionConfiguration_password_Inverse = "http://www.simantics.org/R-1.0/SessionConfiguration/password/Inverse";
46         public static final String SessionConfiguration_port = "http://www.simantics.org/R-1.0/SessionConfiguration/port";
47         public static final String SessionConfiguration_port_Inverse = "http://www.simantics.org/R-1.0/SessionConfiguration/port/Inverse";
48         public static final String SessionConfiguration_username = "http://www.simantics.org/R-1.0/SessionConfiguration/username";
49         public static final String SessionConfiguration_username_Inverse = "http://www.simantics.org/R-1.0/SessionConfiguration/username/Inverse";
50         public static final String Session_hasValue = "http://www.simantics.org/R-1.0/Session/hasValue";
51         public static final String Session_hasValue_Inverse = "http://www.simantics.org/R-1.0/Session/hasValue/Inverse";
52         public static final String TabContribution = "http://www.simantics.org/R-1.0/TabContribution";
53     }
54     
55     public static Resource getResourceOrNull(ReadGraph graph, String uri) {
56         try {
57             return graph.getResource(uri);
58         } catch(DatabaseException e) {
59             System.err.println(e.getMessage());
60             return null;
61         }
62     }
63     
64     public RResource(ReadGraph graph) {
65         Model = getResourceOrNull(graph, URIs.Model);
66         RProperty = getResourceOrNull(graph, URIs.RProperty);
67         Script = getResourceOrNull(graph, URIs.Script);
68         Script_text = getResourceOrNull(graph, URIs.Script_text);
69         Script_text_Inverse = getResourceOrNull(graph, URIs.Script_text_Inverse);
70         Session = getResourceOrNull(graph, URIs.Session);
71         SessionConfiguration = getResourceOrNull(graph, URIs.SessionConfiguration);
72         SessionConfiguration_hasScript = getResourceOrNull(graph, URIs.SessionConfiguration_hasScript);
73         SessionConfiguration_host = getResourceOrNull(graph, URIs.SessionConfiguration_host);
74         SessionConfiguration_host_Inverse = getResourceOrNull(graph, URIs.SessionConfiguration_host_Inverse);
75         SessionConfiguration_password = getResourceOrNull(graph, URIs.SessionConfiguration_password);
76         SessionConfiguration_password_Inverse = getResourceOrNull(graph, URIs.SessionConfiguration_password_Inverse);
77         SessionConfiguration_port = getResourceOrNull(graph, URIs.SessionConfiguration_port);
78         SessionConfiguration_port_Inverse = getResourceOrNull(graph, URIs.SessionConfiguration_port_Inverse);
79         SessionConfiguration_username = getResourceOrNull(graph, URIs.SessionConfiguration_username);
80         SessionConfiguration_username_Inverse = getResourceOrNull(graph, URIs.SessionConfiguration_username_Inverse);
81         Session_hasValue = getResourceOrNull(graph, URIs.Session_hasValue);
82         Session_hasValue_Inverse = getResourceOrNull(graph, URIs.Session_hasValue_Inverse);
83         TabContribution = getResourceOrNull(graph, URIs.TabContribution);
84     }
85     
86     public static RResource getInstance(ReadGraph graph) {
87         Session session = graph.getSession();
88         RResource ret = session.peekService(RResource.class);
89         if(ret == null) {
90             QueryControl qc = graph.getService(QueryControl.class);
91             ret = new RResource(qc.getIndependentGraph(graph));
92             session.registerService(RResource.class, ret);
93         }
94         return ret;
95     }
96     
97     public static RResource getInstance(RequestProcessor session) throws DatabaseException {
98         RResource ret = session.peekService(RResource.class);
99         if(ret == null) {
100             ret = session.syncRequest(new Read<RResource>() {
101                 public RResource perform(ReadGraph graph) throws DatabaseException {
102                     QueryControl qc = graph.getService(QueryControl.class);
103                     return new RResource(qc.getIndependentGraph(graph));
104                 }
105             });
106             session.registerService(RResource.class, ret);
107         }
108         return ret;
109     }
110     
111 }
112