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