1 package org.simantics.workbench.ontology;
\r
3 import org.simantics.db.RequestProcessor;
\r
4 import org.simantics.db.Resource;
\r
5 import org.simantics.db.ReadGraph;
\r
6 import org.simantics.db.request.Read;
\r
7 import org.simantics.db.Session;
\r
8 import org.simantics.db.exception.DatabaseException;
\r
9 import org.simantics.db.service.QueryControl;
\r
11 public class WorkbenchResource {
\r
13 public final Resource DependenciesSearchContribution;
\r
14 public final Resource DependenciesSearchFunction;
\r
15 public final Resource HasWorkbenchSearchFunction;
\r
16 public final Resource SearchContribution;
\r
17 public final Resource SearchContribution_isEnabledByDefault;
\r
18 public final Resource SearchContribution_isEnabledByDefault_Inverse;
\r
19 public final Resource SearchFunction;
\r
20 public final Resource hasSearchFunction;
\r
22 public static class URIs {
\r
23 public static final String DependenciesSearchContribution = "http://www.simantics.org/Workbench-1.2/DependenciesSearchContribution";
\r
24 public static final String DependenciesSearchFunction = "http://www.simantics.org/Workbench-1.2/DependenciesSearchFunction";
\r
25 public static final String HasWorkbenchSearchFunction = "http://www.simantics.org/Workbench-1.2/HasWorkbenchSearchFunction";
\r
26 public static final String SearchContribution = "http://www.simantics.org/Workbench-1.2/SearchContribution";
\r
27 public static final String SearchContribution_isEnabledByDefault = "http://www.simantics.org/Workbench-1.2/SearchContribution/isEnabledByDefault";
\r
28 public static final String SearchContribution_isEnabledByDefault_Inverse = "http://www.simantics.org/Workbench-1.2/SearchContribution/isEnabledByDefault/Inverse";
\r
29 public static final String SearchFunction = "http://www.simantics.org/Workbench-1.2/SearchFunction";
\r
30 public static final String hasSearchFunction = "http://www.simantics.org/Workbench-1.2/hasSearchFunction";
\r
33 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
\r
35 return graph.getResource(uri);
\r
36 } catch(DatabaseException e) {
\r
37 System.err.println(e.getMessage());
\r
42 public WorkbenchResource(ReadGraph graph) {
\r
43 DependenciesSearchContribution = getResourceOrNull(graph, URIs.DependenciesSearchContribution);
\r
44 DependenciesSearchFunction = getResourceOrNull(graph, URIs.DependenciesSearchFunction);
\r
45 HasWorkbenchSearchFunction = getResourceOrNull(graph, URIs.HasWorkbenchSearchFunction);
\r
46 SearchContribution = getResourceOrNull(graph, URIs.SearchContribution);
\r
47 SearchContribution_isEnabledByDefault = getResourceOrNull(graph, URIs.SearchContribution_isEnabledByDefault);
\r
48 SearchContribution_isEnabledByDefault_Inverse = getResourceOrNull(graph, URIs.SearchContribution_isEnabledByDefault_Inverse);
\r
49 SearchFunction = getResourceOrNull(graph, URIs.SearchFunction);
\r
50 hasSearchFunction = getResourceOrNull(graph, URIs.hasSearchFunction);
\r
53 public static WorkbenchResource getInstance(ReadGraph graph) {
\r
54 Session session = graph.getSession();
\r
55 WorkbenchResource ret = session.peekService(WorkbenchResource.class);
\r
57 QueryControl qc = graph.getService(QueryControl.class);
\r
58 ret = new WorkbenchResource(qc.getIndependentGraph(graph));
\r
59 session.registerService(WorkbenchResource.class, ret);
\r
64 public static WorkbenchResource getInstance(RequestProcessor session) throws DatabaseException {
\r
65 WorkbenchResource ret = session.peekService(WorkbenchResource.class);
\r
67 ret = session.syncRequest(new Read<WorkbenchResource>() {
\r
68 public WorkbenchResource perform(ReadGraph graph) throws DatabaseException {
\r
69 QueryControl qc = graph.getService(QueryControl.class);
\r
70 return new WorkbenchResource(qc.getIndependentGraph(graph));
\r
73 session.registerService(WorkbenchResource.class, ret);
\r