]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.user.ontology/src/org/simantics/user/UserResource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.user.ontology / src / org / simantics / user / UserResource.java
1 package org.simantics.user;\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 UserResource {\r
12     \r
13     public final Resource Admin;\r
14     public final Resource AdminUserAdminRoleAssignment;\r
15     public final Resource AdminUserModelUserRoleAssignment;\r
16     public final Resource DefaultRole;\r
17     public final Resource Group;\r
18     public final Resource Group_Contains;\r
19     public final Resource HasEmail;\r
20     public final Resource HasEmail_Inverse;\r
21     public final Resource HasPasswordHash;\r
22     public final Resource HasPasswordHash_Inverse;\r
23     public final Resource KernelDeveloper;\r
24     public final Resource LibraryDeveloper;\r
25     public final Resource ModelConfigurator;\r
26     public final Resource ModelUser;\r
27     public final Resource Role;\r
28     public final Resource RoleAssignment;\r
29     public final Resource RoleAssignment_HasGroup;\r
30     public final Resource RoleAssignment_HasRole;\r
31     public final Resource RoleSelection;\r
32     public final Resource RoleSelection_HasModel;\r
33     public final Resource RoleSelection_HasRole;\r
34     public final Resource Role_Inherits;\r
35     public final Resource User;\r
36         \r
37     public static class URIs {\r
38         public static final String Admin = "http://www.simantics.org/User-1.1/Admin";\r
39         public static final String AdminUserAdminRoleAssignment = "http://www.simantics.org/User-1.1/AdminUserAdminRoleAssignment";\r
40         public static final String AdminUserModelUserRoleAssignment = "http://www.simantics.org/User-1.1/AdminUserModelUserRoleAssignment";\r
41         public static final String DefaultRole = "http://www.simantics.org/User-1.1/DefaultRole";\r
42         public static final String Group = "http://www.simantics.org/User-1.1/Group";\r
43         public static final String Group_Contains = "http://www.simantics.org/User-1.1/Group/Contains";\r
44         public static final String HasEmail = "http://www.simantics.org/User-1.1/HasEmail";\r
45         public static final String HasEmail_Inverse = "http://www.simantics.org/User-1.1/HasEmail/Inverse";\r
46         public static final String HasPasswordHash = "http://www.simantics.org/User-1.1/HasPasswordHash";\r
47         public static final String HasPasswordHash_Inverse = "http://www.simantics.org/User-1.1/HasPasswordHash/Inverse";\r
48         public static final String KernelDeveloper = "http://www.simantics.org/User-1.1/KernelDeveloper";\r
49         public static final String LibraryDeveloper = "http://www.simantics.org/User-1.1/LibraryDeveloper";\r
50         public static final String ModelConfigurator = "http://www.simantics.org/User-1.1/ModelConfigurator";\r
51         public static final String ModelUser = "http://www.simantics.org/User-1.1/ModelUser";\r
52         public static final String Role = "http://www.simantics.org/User-1.1/Role";\r
53         public static final String RoleAssignment = "http://www.simantics.org/User-1.1/RoleAssignment";\r
54         public static final String RoleAssignment_HasGroup = "http://www.simantics.org/User-1.1/RoleAssignment/HasGroup";\r
55         public static final String RoleAssignment_HasRole = "http://www.simantics.org/User-1.1/RoleAssignment/HasRole";\r
56         public static final String RoleSelection = "http://www.simantics.org/User-1.1/RoleSelection";\r
57         public static final String RoleSelection_HasModel = "http://www.simantics.org/User-1.1/RoleSelection/HasModel";\r
58         public static final String RoleSelection_HasRole = "http://www.simantics.org/User-1.1/RoleSelection/HasRole";\r
59         public static final String Role_Inherits = "http://www.simantics.org/User-1.1/Role/Inherits";\r
60         public static final String User = "http://www.simantics.org/User-1.1/User";\r
61     }\r
62     \r
63     public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
64         try {\r
65             return graph.getResource(uri);\r
66         } catch(DatabaseException e) {\r
67             System.err.println(e.getMessage());\r
68             return null;\r
69         }\r
70     }\r
71     \r
72     public UserResource(ReadGraph graph) {\r
73         Admin = getResourceOrNull(graph, URIs.Admin);\r
74         AdminUserAdminRoleAssignment = getResourceOrNull(graph, URIs.AdminUserAdminRoleAssignment);\r
75         AdminUserModelUserRoleAssignment = getResourceOrNull(graph, URIs.AdminUserModelUserRoleAssignment);\r
76         DefaultRole = getResourceOrNull(graph, URIs.DefaultRole);\r
77         Group = getResourceOrNull(graph, URIs.Group);\r
78         Group_Contains = getResourceOrNull(graph, URIs.Group_Contains);\r
79         HasEmail = getResourceOrNull(graph, URIs.HasEmail);\r
80         HasEmail_Inverse = getResourceOrNull(graph, URIs.HasEmail_Inverse);\r
81         HasPasswordHash = getResourceOrNull(graph, URIs.HasPasswordHash);\r
82         HasPasswordHash_Inverse = getResourceOrNull(graph, URIs.HasPasswordHash_Inverse);\r
83         KernelDeveloper = getResourceOrNull(graph, URIs.KernelDeveloper);\r
84         LibraryDeveloper = getResourceOrNull(graph, URIs.LibraryDeveloper);\r
85         ModelConfigurator = getResourceOrNull(graph, URIs.ModelConfigurator);\r
86         ModelUser = getResourceOrNull(graph, URIs.ModelUser);\r
87         Role = getResourceOrNull(graph, URIs.Role);\r
88         RoleAssignment = getResourceOrNull(graph, URIs.RoleAssignment);\r
89         RoleAssignment_HasGroup = getResourceOrNull(graph, URIs.RoleAssignment_HasGroup);\r
90         RoleAssignment_HasRole = getResourceOrNull(graph, URIs.RoleAssignment_HasRole);\r
91         RoleSelection = getResourceOrNull(graph, URIs.RoleSelection);\r
92         RoleSelection_HasModel = getResourceOrNull(graph, URIs.RoleSelection_HasModel);\r
93         RoleSelection_HasRole = getResourceOrNull(graph, URIs.RoleSelection_HasRole);\r
94         Role_Inherits = getResourceOrNull(graph, URIs.Role_Inherits);\r
95         User = getResourceOrNull(graph, URIs.User);\r
96     }\r
97     \r
98     public static UserResource getInstance(ReadGraph graph) {\r
99         Session session = graph.getSession();\r
100         UserResource ret = session.peekService(UserResource.class);\r
101         if(ret == null) {\r
102             QueryControl qc = graph.getService(QueryControl.class);\r
103             ret = new UserResource(qc.getIndependentGraph(graph));\r
104             session.registerService(UserResource.class, ret);\r
105         }\r
106         return ret;\r
107     }\r
108     \r
109     public static UserResource getInstance(RequestProcessor session) throws DatabaseException {\r
110         UserResource ret = session.peekService(UserResource.class);\r
111         if(ret == null) {\r
112             ret = session.syncRequest(new Read<UserResource>() {\r
113                 public UserResource perform(ReadGraph graph) throws DatabaseException {\r
114                     QueryControl qc = graph.getService(QueryControl.class);\r
115                     return new UserResource(qc.getIndependentGraph(graph));\r
116                 }\r
117             });\r
118             session.registerService(UserResource.class, ret);\r
119         }\r
120         return ret;\r
121     }\r
122     \r
123 }\r
124 \r