1 package org.simantics.district.region.ontology;
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 DiagramRegionsResource {
13 public final Resource Region;
14 public final Resource Region_area;
15 public final Resource Region_area_Inverse;
16 public final Resource hasRegion;
17 public final Resource regionOf;
19 public static class URIs {
20 public static final String Region = "http://www.simantics.org/DistrictDiagramRegions-1.0/Region";
21 public static final String Region_area = "http://www.simantics.org/DistrictDiagramRegions-1.0/Region/area";
22 public static final String Region_area_Inverse = "http://www.simantics.org/DistrictDiagramRegions-1.0/Region/area/Inverse";
23 public static final String hasRegion = "http://www.simantics.org/DistrictDiagramRegions-1.0/hasRegion";
24 public static final String regionOf = "http://www.simantics.org/DistrictDiagramRegions-1.0/regionOf";
27 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
29 return graph.getResource(uri);
30 } catch(DatabaseException e) {
31 System.err.println(e.getMessage());
36 public DiagramRegionsResource(ReadGraph graph) {
37 Region = getResourceOrNull(graph, URIs.Region);
38 Region_area = getResourceOrNull(graph, URIs.Region_area);
39 Region_area_Inverse = getResourceOrNull(graph, URIs.Region_area_Inverse);
40 hasRegion = getResourceOrNull(graph, URIs.hasRegion);
41 regionOf = getResourceOrNull(graph, URIs.regionOf);
44 public static DiagramRegionsResource getInstance(ReadGraph graph) {
45 Session session = graph.getSession();
46 DiagramRegionsResource ret = session.peekService(DiagramRegionsResource.class);
48 QueryControl qc = graph.getService(QueryControl.class);
49 ret = new DiagramRegionsResource(qc.getIndependentGraph(graph));
50 session.registerService(DiagramRegionsResource.class, ret);
55 public static DiagramRegionsResource getInstance(RequestProcessor session) throws DatabaseException {
56 DiagramRegionsResource ret = session.peekService(DiagramRegionsResource.class);
58 ret = session.syncRequest(new Read<DiagramRegionsResource>() {
59 public DiagramRegionsResource perform(ReadGraph graph) throws DatabaseException {
60 QueryControl qc = graph.getService(QueryControl.class);
61 return new DiagramRegionsResource(qc.getIndependentGraph(graph));
64 session.registerService(DiagramRegionsResource.class, ret);