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 DublinCore {
\r
13 public final Resource Bar;
\r
14 public final Resource Contributor;
\r
15 public final Resource Coverage;
\r
16 public final Resource Creator;
\r
17 public final Resource Date;
\r
18 public final Resource Date_Inverse;
\r
19 public final Resource Description;
\r
20 public final Resource Foo;
\r
21 public final Resource Format;
\r
22 public final Resource Identifier;
\r
23 public final Resource Identifier_Inverse;
\r
24 public final Resource Language;
\r
25 public final Resource Publisher;
\r
26 public final Resource Relation;
\r
27 public final Resource Rights;
\r
28 public final Resource Source;
\r
29 public final Resource Subject;
\r
30 public final Resource Title;
\r
31 public final Resource Type;
\r
33 public static class URIs {
\r
34 public static final String Bar = "http://www.simantics.org/DublinCore-1.1/Bar";
\r
35 public static final String Contributor = "http://www.simantics.org/DublinCore-1.1/Contributor";
\r
36 public static final String Coverage = "http://www.simantics.org/DublinCore-1.1/Coverage";
\r
37 public static final String Creator = "http://www.simantics.org/DublinCore-1.1/Creator";
\r
38 public static final String Date = "http://www.simantics.org/DublinCore-1.1/Date";
\r
39 public static final String Date_Inverse = "http://www.simantics.org/DublinCore-1.1/Date/Inverse";
\r
40 public static final String Description = "http://www.simantics.org/DublinCore-1.1/Description";
\r
41 public static final String Foo = "http://www.simantics.org/DublinCore-1.1/Foo";
\r
42 public static final String Format = "http://www.simantics.org/DublinCore-1.1/Format";
\r
43 public static final String Identifier = "http://www.simantics.org/DublinCore-1.1/Identifier";
\r
44 public static final String Identifier_Inverse = "http://www.simantics.org/DublinCore-1.1/Identifier/Inverse";
\r
45 public static final String Language = "http://www.simantics.org/DublinCore-1.1/Language";
\r
46 public static final String Publisher = "http://www.simantics.org/DublinCore-1.1/Publisher";
\r
47 public static final String Relation = "http://www.simantics.org/DublinCore-1.1/Relation";
\r
48 public static final String Rights = "http://www.simantics.org/DublinCore-1.1/Rights";
\r
49 public static final String Source = "http://www.simantics.org/DublinCore-1.1/Source";
\r
50 public static final String Subject = "http://www.simantics.org/DublinCore-1.1/Subject";
\r
51 public static final String Title = "http://www.simantics.org/DublinCore-1.1/Title";
\r
52 public static final String Type = "http://www.simantics.org/DublinCore-1.1/Type";
\r
55 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
\r
57 return graph.getResource(uri);
\r
58 } catch(DatabaseException e) {
\r
59 System.err.println(e.getMessage());
\r
64 public DublinCore(ReadGraph graph) {
\r
65 Bar = getResourceOrNull(graph, URIs.Bar);
\r
66 Contributor = getResourceOrNull(graph, URIs.Contributor);
\r
67 Coverage = getResourceOrNull(graph, URIs.Coverage);
\r
68 Creator = getResourceOrNull(graph, URIs.Creator);
\r
69 Date = getResourceOrNull(graph, URIs.Date);
\r
70 Date_Inverse = getResourceOrNull(graph, URIs.Date_Inverse);
\r
71 Description = getResourceOrNull(graph, URIs.Description);
\r
72 Foo = getResourceOrNull(graph, URIs.Foo);
\r
73 Format = getResourceOrNull(graph, URIs.Format);
\r
74 Identifier = getResourceOrNull(graph, URIs.Identifier);
\r
75 Identifier_Inverse = getResourceOrNull(graph, URIs.Identifier_Inverse);
\r
76 Language = getResourceOrNull(graph, URIs.Language);
\r
77 Publisher = getResourceOrNull(graph, URIs.Publisher);
\r
78 Relation = getResourceOrNull(graph, URIs.Relation);
\r
79 Rights = getResourceOrNull(graph, URIs.Rights);
\r
80 Source = getResourceOrNull(graph, URIs.Source);
\r
81 Subject = getResourceOrNull(graph, URIs.Subject);
\r
82 Title = getResourceOrNull(graph, URIs.Title);
\r
83 Type = getResourceOrNull(graph, URIs.Type);
\r
86 public static DublinCore getInstance(ReadGraph graph) {
\r
87 Session session = graph.getSession();
\r
88 DublinCore ret = session.peekService(DublinCore.class);
\r
90 QueryControl qc = graph.getService(QueryControl.class);
\r
91 ret = new DublinCore(qc.getIndependentGraph(graph));
\r
92 session.registerService(DublinCore.class, ret);
\r
97 public static DublinCore getInstance(RequestProcessor session) throws DatabaseException {
\r
98 DublinCore ret = session.peekService(DublinCore.class);
\r
100 ret = session.syncRequest(new Read<DublinCore>() {
\r
101 public DublinCore perform(ReadGraph graph) throws DatabaseException {
\r
102 QueryControl qc = graph.getService(QueryControl.class);
\r
103 return new DublinCore(qc.getIndependentGraph(graph));
\r
106 session.registerService(DublinCore.class, ret);
\r