1 package org.simantics.color;
\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 ColorResource {
\r
13 public final Resource RGB;
\r
15 public static class URIs {
\r
16 public static final String RGB = "http://www.simantics.org/Color-1.1/RGB";
\r
19 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
\r
21 return graph.getResource(uri);
\r
22 } catch(DatabaseException e) {
\r
23 System.err.println(e.getMessage());
\r
28 public ColorResource(ReadGraph graph) {
\r
29 RGB = getResourceOrNull(graph, URIs.RGB);
\r
32 public static ColorResource getInstance(ReadGraph graph) {
\r
33 Session session = graph.getSession();
\r
34 ColorResource ret = session.peekService(ColorResource.class);
\r
36 QueryControl qc = graph.getService(QueryControl.class);
\r
37 ret = new ColorResource(qc.getIndependentGraph(graph));
\r
38 session.registerService(ColorResource.class, ret);
\r
43 public static ColorResource getInstance(RequestProcessor session) throws DatabaseException {
\r
44 ColorResource ret = session.peekService(ColorResource.class);
\r
46 ret = session.syncRequest(new Read<ColorResource>() {
\r
47 public ColorResource perform(ReadGraph graph) throws DatabaseException {
\r
48 QueryControl qc = graph.getService(QueryControl.class);
\r
49 return new ColorResource(qc.getIndependentGraph(graph));
\r
52 session.registerService(ColorResource.class, ret);
\r