1 package org.simantics.layer0;
\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 DatabaseManagementResource {
\r
13 public final Resource Bundles;
\r
14 public final Resource GraphBundle;
\r
15 public final Resource HasFile;
\r
16 public final Resource HasFile_Inverse;
\r
17 public final Resource HasHashCode;
\r
18 public final Resource HasHashCode_Inverse;
\r
19 public final Resource HasInstallInfo;
\r
20 public final Resource HasInstallInfo_Inverse;
\r
21 public final Resource HasVersionedId;
\r
22 public final Resource HasVersionedId_Inverse;
\r
23 public final Resource InstallInfo;
\r
24 public final Resource InstalledGraphBundles;
\r
25 public final Resource OSGiSymbolicName;
\r
26 public final Resource OSGiVersion;
\r
27 public final Resource VersionedId;
\r
29 public static class URIs {
\r
30 public static final String Bundles = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/Bundles";
\r
31 public static final String GraphBundle = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/GraphBundle";
\r
32 public static final String HasFile = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasFile";
\r
33 public static final String HasFile_Inverse = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasFile/Inverse";
\r
34 public static final String HasHashCode = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasHashCode";
\r
35 public static final String HasHashCode_Inverse = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasHashCode/Inverse";
\r
36 public static final String HasInstallInfo = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasInstallInfo";
\r
37 public static final String HasInstallInfo_Inverse = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasInstallInfo/Inverse";
\r
38 public static final String HasVersionedId = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasVersionedId";
\r
39 public static final String HasVersionedId_Inverse = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/HasVersionedId/Inverse";
\r
40 public static final String InstallInfo = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/InstallInfo";
\r
41 public static final String InstalledGraphBundles = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/InstalledGraphBundles";
\r
42 public static final String OSGiSymbolicName = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/OSGiSymbolicName";
\r
43 public static final String OSGiVersion = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/OSGiVersion";
\r
44 public static final String VersionedId = "http://www.simantics.org/Layer0-1.1/DatabaseManagement/VersionedId";
\r
47 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
\r
49 return graph.getResource(uri);
\r
50 } catch(DatabaseException e) {
\r
51 System.err.println(e.getMessage());
\r
56 public DatabaseManagementResource(ReadGraph graph) {
\r
57 Bundles = getResourceOrNull(graph, URIs.Bundles);
\r
58 GraphBundle = getResourceOrNull(graph, URIs.GraphBundle);
\r
59 HasFile = getResourceOrNull(graph, URIs.HasFile);
\r
60 HasFile_Inverse = getResourceOrNull(graph, URIs.HasFile_Inverse);
\r
61 HasHashCode = getResourceOrNull(graph, URIs.HasHashCode);
\r
62 HasHashCode_Inverse = getResourceOrNull(graph, URIs.HasHashCode_Inverse);
\r
63 HasInstallInfo = getResourceOrNull(graph, URIs.HasInstallInfo);
\r
64 HasInstallInfo_Inverse = getResourceOrNull(graph, URIs.HasInstallInfo_Inverse);
\r
65 HasVersionedId = getResourceOrNull(graph, URIs.HasVersionedId);
\r
66 HasVersionedId_Inverse = getResourceOrNull(graph, URIs.HasVersionedId_Inverse);
\r
67 InstallInfo = getResourceOrNull(graph, URIs.InstallInfo);
\r
68 InstalledGraphBundles = getResourceOrNull(graph, URIs.InstalledGraphBundles);
\r
69 OSGiSymbolicName = getResourceOrNull(graph, URIs.OSGiSymbolicName);
\r
70 OSGiVersion = getResourceOrNull(graph, URIs.OSGiVersion);
\r
71 VersionedId = getResourceOrNull(graph, URIs.VersionedId);
\r
74 public static DatabaseManagementResource getInstance(ReadGraph graph) {
\r
75 Session session = graph.getSession();
\r
76 DatabaseManagementResource ret = session.peekService(DatabaseManagementResource.class);
\r
78 QueryControl qc = graph.getService(QueryControl.class);
\r
79 ret = new DatabaseManagementResource(qc.getIndependentGraph(graph));
\r
80 session.registerService(DatabaseManagementResource.class, ret);
\r
85 public static DatabaseManagementResource getInstance(RequestProcessor session) throws DatabaseException {
\r
86 DatabaseManagementResource ret = session.peekService(DatabaseManagementResource.class);
\r
88 ret = session.syncRequest(new Read<DatabaseManagementResource>() {
\r
89 public DatabaseManagementResource perform(ReadGraph graph) throws DatabaseException {
\r
90 QueryControl qc = graph.getService(QueryControl.class);
\r
91 return new DatabaseManagementResource(qc.getIndependentGraph(graph));
\r
94 session.registerService(DatabaseManagementResource.class, ret);
\r