1 package org.simantics.action.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 ActionResource {
13 public final Resource Action;
14 public final Resource DropAction;
16 public static class URIs {
17 public static final String Action = "http://www.simantics.org/Action-1.1/Action";
18 public static final String DropAction = "http://www.simantics.org/Action-1.1/DropAction";
21 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
23 return graph.getResource(uri);
24 } catch(DatabaseException e) {
25 System.err.println(e.getMessage());
30 public ActionResource(ReadGraph graph) {
31 Action = getResourceOrNull(graph, URIs.Action);
32 DropAction = getResourceOrNull(graph, URIs.DropAction);
35 public static ActionResource getInstance(ReadGraph graph) {
36 Session session = graph.getSession();
37 ActionResource ret = session.peekService(ActionResource.class);
39 QueryControl qc = graph.getService(QueryControl.class);
40 ret = new ActionResource(qc.getIndependentGraph(graph));
41 session.registerService(ActionResource.class, ret);
46 public static ActionResource getInstance(RequestProcessor session) throws DatabaseException {
47 ActionResource ret = session.peekService(ActionResource.class);
49 ret = session.syncRequest(new Read<ActionResource>() {
50 public ActionResource perform(ReadGraph graph) throws DatabaseException {
51 QueryControl qc = graph.getService(QueryControl.class);
52 return new ActionResource(qc.getIndependentGraph(graph));
55 session.registerService(ActionResource.class, ret);