--- /dev/null
+package org.simantics.user;\r
+\r
+import org.simantics.db.RequestProcessor;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.request.Read;\r
+import org.simantics.db.Session;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.service.QueryControl;\r
+\r
+public class UserResource {\r
+ \r
+ public final Resource Admin;\r
+ public final Resource AdminUserAdminRoleAssignment;\r
+ public final Resource AdminUserModelUserRoleAssignment;\r
+ public final Resource DefaultRole;\r
+ public final Resource Group;\r
+ public final Resource Group_Contains;\r
+ public final Resource HasEmail;\r
+ public final Resource HasEmail_Inverse;\r
+ public final Resource HasPasswordHash;\r
+ public final Resource HasPasswordHash_Inverse;\r
+ public final Resource KernelDeveloper;\r
+ public final Resource LibraryDeveloper;\r
+ public final Resource ModelConfigurator;\r
+ public final Resource ModelUser;\r
+ public final Resource Role;\r
+ public final Resource RoleAssignment;\r
+ public final Resource RoleAssignment_HasGroup;\r
+ public final Resource RoleAssignment_HasRole;\r
+ public final Resource RoleSelection;\r
+ public final Resource RoleSelection_HasModel;\r
+ public final Resource RoleSelection_HasRole;\r
+ public final Resource Role_Inherits;\r
+ public final Resource User;\r
+ \r
+ public static class URIs {\r
+ public static final String Admin = "http://www.simantics.org/User-1.1/Admin";\r
+ public static final String AdminUserAdminRoleAssignment = "http://www.simantics.org/User-1.1/AdminUserAdminRoleAssignment";\r
+ public static final String AdminUserModelUserRoleAssignment = "http://www.simantics.org/User-1.1/AdminUserModelUserRoleAssignment";\r
+ public static final String DefaultRole = "http://www.simantics.org/User-1.1/DefaultRole";\r
+ public static final String Group = "http://www.simantics.org/User-1.1/Group";\r
+ public static final String Group_Contains = "http://www.simantics.org/User-1.1/Group/Contains";\r
+ public static final String HasEmail = "http://www.simantics.org/User-1.1/HasEmail";\r
+ public static final String HasEmail_Inverse = "http://www.simantics.org/User-1.1/HasEmail/Inverse";\r
+ public static final String HasPasswordHash = "http://www.simantics.org/User-1.1/HasPasswordHash";\r
+ public static final String HasPasswordHash_Inverse = "http://www.simantics.org/User-1.1/HasPasswordHash/Inverse";\r
+ public static final String KernelDeveloper = "http://www.simantics.org/User-1.1/KernelDeveloper";\r
+ public static final String LibraryDeveloper = "http://www.simantics.org/User-1.1/LibraryDeveloper";\r
+ public static final String ModelConfigurator = "http://www.simantics.org/User-1.1/ModelConfigurator";\r
+ public static final String ModelUser = "http://www.simantics.org/User-1.1/ModelUser";\r
+ public static final String Role = "http://www.simantics.org/User-1.1/Role";\r
+ public static final String RoleAssignment = "http://www.simantics.org/User-1.1/RoleAssignment";\r
+ public static final String RoleAssignment_HasGroup = "http://www.simantics.org/User-1.1/RoleAssignment/HasGroup";\r
+ public static final String RoleAssignment_HasRole = "http://www.simantics.org/User-1.1/RoleAssignment/HasRole";\r
+ public static final String RoleSelection = "http://www.simantics.org/User-1.1/RoleSelection";\r
+ public static final String RoleSelection_HasModel = "http://www.simantics.org/User-1.1/RoleSelection/HasModel";\r
+ public static final String RoleSelection_HasRole = "http://www.simantics.org/User-1.1/RoleSelection/HasRole";\r
+ public static final String Role_Inherits = "http://www.simantics.org/User-1.1/Role/Inherits";\r
+ public static final String User = "http://www.simantics.org/User-1.1/User";\r
+ }\r
+ \r
+ public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
+ try {\r
+ return graph.getResource(uri);\r
+ } catch(DatabaseException e) {\r
+ System.err.println(e.getMessage());\r
+ return null;\r
+ }\r
+ }\r
+ \r
+ public UserResource(ReadGraph graph) {\r
+ Admin = getResourceOrNull(graph, URIs.Admin);\r
+ AdminUserAdminRoleAssignment = getResourceOrNull(graph, URIs.AdminUserAdminRoleAssignment);\r
+ AdminUserModelUserRoleAssignment = getResourceOrNull(graph, URIs.AdminUserModelUserRoleAssignment);\r
+ DefaultRole = getResourceOrNull(graph, URIs.DefaultRole);\r
+ Group = getResourceOrNull(graph, URIs.Group);\r
+ Group_Contains = getResourceOrNull(graph, URIs.Group_Contains);\r
+ HasEmail = getResourceOrNull(graph, URIs.HasEmail);\r
+ HasEmail_Inverse = getResourceOrNull(graph, URIs.HasEmail_Inverse);\r
+ HasPasswordHash = getResourceOrNull(graph, URIs.HasPasswordHash);\r
+ HasPasswordHash_Inverse = getResourceOrNull(graph, URIs.HasPasswordHash_Inverse);\r
+ KernelDeveloper = getResourceOrNull(graph, URIs.KernelDeveloper);\r
+ LibraryDeveloper = getResourceOrNull(graph, URIs.LibraryDeveloper);\r
+ ModelConfigurator = getResourceOrNull(graph, URIs.ModelConfigurator);\r
+ ModelUser = getResourceOrNull(graph, URIs.ModelUser);\r
+ Role = getResourceOrNull(graph, URIs.Role);\r
+ RoleAssignment = getResourceOrNull(graph, URIs.RoleAssignment);\r
+ RoleAssignment_HasGroup = getResourceOrNull(graph, URIs.RoleAssignment_HasGroup);\r
+ RoleAssignment_HasRole = getResourceOrNull(graph, URIs.RoleAssignment_HasRole);\r
+ RoleSelection = getResourceOrNull(graph, URIs.RoleSelection);\r
+ RoleSelection_HasModel = getResourceOrNull(graph, URIs.RoleSelection_HasModel);\r
+ RoleSelection_HasRole = getResourceOrNull(graph, URIs.RoleSelection_HasRole);\r
+ Role_Inherits = getResourceOrNull(graph, URIs.Role_Inherits);\r
+ User = getResourceOrNull(graph, URIs.User);\r
+ }\r
+ \r
+ public static UserResource getInstance(ReadGraph graph) {\r
+ Session session = graph.getSession();\r
+ UserResource ret = session.peekService(UserResource.class);\r
+ if(ret == null) {\r
+ QueryControl qc = graph.getService(QueryControl.class);\r
+ ret = new UserResource(qc.getIndependentGraph(graph));\r
+ session.registerService(UserResource.class, ret);\r
+ }\r
+ return ret;\r
+ }\r
+ \r
+ public static UserResource getInstance(RequestProcessor session) throws DatabaseException {\r
+ UserResource ret = session.peekService(UserResource.class);\r
+ if(ret == null) {\r
+ ret = session.syncRequest(new Read<UserResource>() {\r
+ public UserResource perform(ReadGraph graph) throws DatabaseException {\r
+ QueryControl qc = graph.getService(QueryControl.class);\r
+ return new UserResource(qc.getIndependentGraph(graph));\r
+ }\r
+ });\r
+ session.registerService(UserResource.class, ret);\r
+ }\r
+ return ret;\r
+ }\r
+ \r
+}\r
+\r