1 package org.simantics.district.route.ontology;
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;
11 public class RouteResource {
13 public final Resource Actions;
14 public final Resource Actions_SelectRoute;
15 public final Resource Actions_ValidateRoute;
16 public final Resource Route;
17 public final Resource RouteActionContext;
18 public final Resource RouteFolder;
20 public static class URIs {
21 public static final String Actions = "http://www.simantics.org/DistrictNetworkRoutes-1.0/Actions";
22 public static final String Actions_SelectRoute = "http://www.simantics.org/DistrictNetworkRoutes-1.0/Actions/SelectRoute";
23 public static final String Actions_ValidateRoute = "http://www.simantics.org/DistrictNetworkRoutes-1.0/Actions/ValidateRoute";
24 public static final String Route = "http://www.simantics.org/DistrictNetworkRoutes-1.0/Route";
25 public static final String RouteActionContext = "http://www.simantics.org/DistrictNetworkRoutes-1.0/RouteActionContext";
26 public static final String RouteFolder = "http://www.simantics.org/DistrictNetworkRoutes-1.0/RouteFolder";
29 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
31 return graph.getResource(uri);
32 } catch(DatabaseException e) {
33 System.err.println(e.getMessage());
38 public RouteResource(ReadGraph graph) {
39 Actions = getResourceOrNull(graph, URIs.Actions);
40 Actions_SelectRoute = getResourceOrNull(graph, URIs.Actions_SelectRoute);
41 Actions_ValidateRoute = getResourceOrNull(graph, URIs.Actions_ValidateRoute);
42 Route = getResourceOrNull(graph, URIs.Route);
43 RouteActionContext = getResourceOrNull(graph, URIs.RouteActionContext);
44 RouteFolder = getResourceOrNull(graph, URIs.RouteFolder);
47 public static RouteResource getInstance(ReadGraph graph) {
48 Session session = graph.getSession();
49 RouteResource ret = session.peekService(RouteResource.class);
51 QueryControl qc = graph.getService(QueryControl.class);
52 ret = new RouteResource(qc.getIndependentGraph(graph));
53 session.registerService(RouteResource.class, ret);
58 public static RouteResource getInstance(RequestProcessor session) throws DatabaseException {
59 RouteResource ret = session.peekService(RouteResource.class);
61 ret = session.syncRequest(new Read<RouteResource>() {
62 public RouteResource perform(ReadGraph graph) throws DatabaseException {
63 QueryControl qc = graph.getService(QueryControl.class);
64 return new RouteResource(qc.getIndependentGraph(graph));
67 session.registerService(RouteResource.class, ret);