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