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