1 package org.simantics.operation;
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 OperationResource {
13 public final Resource AbstractContextualList;
14 public final Resource ConditionalList;
15 public final Resource ContextualList;
16 public final Resource HasCondition;
17 public final Resource HasElseElement;
18 public final Resource HasThenElement;
19 public final Resource Operation;
20 public final Resource TypeBasedList;
22 public static class URIs {
23 public static final String AbstractContextualList = "http://www.simantics.org/Layer0X-1.1/Operation/AbstractContextualList";
24 public static final String ConditionalList = "http://www.simantics.org/Layer0X-1.1/Operation/ConditionalList";
25 public static final String ContextualList = "http://www.simantics.org/Layer0X-1.1/Operation/ContextualList";
26 public static final String HasCondition = "http://www.simantics.org/Layer0X-1.1/Operation/HasCondition";
27 public static final String HasElseElement = "http://www.simantics.org/Layer0X-1.1/Operation/HasElseElement";
28 public static final String HasThenElement = "http://www.simantics.org/Layer0X-1.1/Operation/HasThenElement";
29 public static final String Operation = "http://www.simantics.org/Layer0X-1.1/Operation/Operation";
30 public static final String TypeBasedList = "http://www.simantics.org/Layer0X-1.1/Operation/TypeBasedList";
33 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
35 return graph.getResource(uri);
36 } catch(DatabaseException e) {
37 System.err.println(e.getMessage());
42 public OperationResource(ReadGraph graph) {
43 AbstractContextualList = getResourceOrNull(graph, URIs.AbstractContextualList);
44 ConditionalList = getResourceOrNull(graph, URIs.ConditionalList);
45 ContextualList = getResourceOrNull(graph, URIs.ContextualList);
46 HasCondition = getResourceOrNull(graph, URIs.HasCondition);
47 HasElseElement = getResourceOrNull(graph, URIs.HasElseElement);
48 HasThenElement = getResourceOrNull(graph, URIs.HasThenElement);
49 Operation = getResourceOrNull(graph, URIs.Operation);
50 TypeBasedList = getResourceOrNull(graph, URIs.TypeBasedList);
53 public static OperationResource getInstance(ReadGraph graph) {
54 Session session = graph.getSession();
55 OperationResource ret = session.peekService(OperationResource.class);
57 QueryControl qc = graph.getService(QueryControl.class);
58 ret = new OperationResource(qc.getIndependentGraph(graph));
59 session.registerService(OperationResource.class, ret);
64 public static OperationResource getInstance(RequestProcessor session) throws DatabaseException {
65 OperationResource ret = session.peekService(OperationResource.class);
67 ret = session.syncRequest(new Read<OperationResource>() {
68 public OperationResource perform(ReadGraph graph) throws DatabaseException {
69 QueryControl qc = graph.getService(QueryControl.class);
70 return new OperationResource(qc.getIndependentGraph(graph));
73 session.registerService(OperationResource.class, ret);