]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d.ontology/src/org/simantics/g3d/ontology/G3D.java
Repository clean-up.
[simantics/3d.git] / org.simantics.g3d.ontology / src / org / simantics / g3d / ontology / G3D.java
1 package org.simantics.g3d.ontology;
2
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;
10
11 public class G3D {
12     
13     public final Resource BaseNode;
14     public final Resource Node;
15     public final Resource Orientation;
16     public final Resource Position;
17     public final Resource RootNode;
18     public final Resource Tuple3D;
19     public final Resource Tuple4D;
20     public final Resource children;
21     public final Resource geometryDefinition;
22     public final Resource geometryDefinitionOf;
23     public final Resource hasNodeProperty;
24     public final Resource hasNodeProperty_Inverse;
25     public final Resource hasNonTransformation;
26     public final Resource hasNonTransformation_Inverse;
27     public final Resource hasOrientation;
28     public final Resource hasOrientation_Inverse;
29     public final Resource hasPosition;
30     public final Resource hasPosition_Inverse;
31     public final Resource hasTransformation;
32     public final Resource hasTransformation_Inverse;
33     public final Resource hasWorldOrientation;
34     public final Resource hasWorldOrientation_Inverse;
35     public final Resource hasWorldPosition;
36     public final Resource hasWorldPosition_Inverse;
37     public final Resource nodes;
38     public final Resource parent;
39     public final Resource parentNode;
40     public final Resource publishes;
41     public final Resource publishes_Inverse;
42         
43     public static class URIs {
44         public static final String BaseNode = "http://www.simantics.org/G3D-0.1/BaseNode";
45         public static final String Node = "http://www.simantics.org/G3D-0.1/Node";
46         public static final String Orientation = "http://www.simantics.org/G3D-0.1/Orientation";
47         public static final String Position = "http://www.simantics.org/G3D-0.1/Position";
48         public static final String RootNode = "http://www.simantics.org/G3D-0.1/RootNode";
49         public static final String Tuple3D = "http://www.simantics.org/G3D-0.1/Tuple3D";
50         public static final String Tuple4D = "http://www.simantics.org/G3D-0.1/Tuple4D";
51         public static final String children = "http://www.simantics.org/G3D-0.1/children";
52         public static final String geometryDefinition = "http://www.simantics.org/G3D-0.1/geometryDefinition";
53         public static final String geometryDefinitionOf = "http://www.simantics.org/G3D-0.1/geometryDefinitionOf";
54         public static final String hasNodeProperty = "http://www.simantics.org/G3D-0.1/hasNodeProperty";
55         public static final String hasNodeProperty_Inverse = "http://www.simantics.org/G3D-0.1/hasNodeProperty/Inverse";
56         public static final String hasNonTransformation = "http://www.simantics.org/G3D-0.1/hasNonTransformation";
57         public static final String hasNonTransformation_Inverse = "http://www.simantics.org/G3D-0.1/hasNonTransformation/Inverse";
58         public static final String hasOrientation = "http://www.simantics.org/G3D-0.1/hasOrientation";
59         public static final String hasOrientation_Inverse = "http://www.simantics.org/G3D-0.1/hasOrientation/Inverse";
60         public static final String hasPosition = "http://www.simantics.org/G3D-0.1/hasPosition";
61         public static final String hasPosition_Inverse = "http://www.simantics.org/G3D-0.1/hasPosition/Inverse";
62         public static final String hasTransformation = "http://www.simantics.org/G3D-0.1/hasTransformation";
63         public static final String hasTransformation_Inverse = "http://www.simantics.org/G3D-0.1/hasTransformation/Inverse";
64         public static final String hasWorldOrientation = "http://www.simantics.org/G3D-0.1/hasWorldOrientation";
65         public static final String hasWorldOrientation_Inverse = "http://www.simantics.org/G3D-0.1/hasWorldOrientation/Inverse";
66         public static final String hasWorldPosition = "http://www.simantics.org/G3D-0.1/hasWorldPosition";
67         public static final String hasWorldPosition_Inverse = "http://www.simantics.org/G3D-0.1/hasWorldPosition/Inverse";
68         public static final String nodes = "http://www.simantics.org/G3D-0.1/nodes";
69         public static final String parent = "http://www.simantics.org/G3D-0.1/parent";
70         public static final String parentNode = "http://www.simantics.org/G3D-0.1/parentNode";
71         public static final String publishes = "http://www.simantics.org/G3D-0.1/publishes";
72         public static final String publishes_Inverse = "http://www.simantics.org/G3D-0.1/publishes/Inverse";
73     }
74     
75     public static Resource getResourceOrNull(ReadGraph graph, String uri) {
76         try {
77             return graph.getResource(uri);
78         } catch(DatabaseException e) {
79             System.err.println(e.getMessage());
80             return null;
81         }
82     }
83     
84     public G3D(ReadGraph graph) {
85         BaseNode = getResourceOrNull(graph, URIs.BaseNode);
86         Node = getResourceOrNull(graph, URIs.Node);
87         Orientation = getResourceOrNull(graph, URIs.Orientation);
88         Position = getResourceOrNull(graph, URIs.Position);
89         RootNode = getResourceOrNull(graph, URIs.RootNode);
90         Tuple3D = getResourceOrNull(graph, URIs.Tuple3D);
91         Tuple4D = getResourceOrNull(graph, URIs.Tuple4D);
92         children = getResourceOrNull(graph, URIs.children);
93         geometryDefinition = getResourceOrNull(graph, URIs.geometryDefinition);
94         geometryDefinitionOf = getResourceOrNull(graph, URIs.geometryDefinitionOf);
95         hasNodeProperty = getResourceOrNull(graph, URIs.hasNodeProperty);
96         hasNodeProperty_Inverse = getResourceOrNull(graph, URIs.hasNodeProperty_Inverse);
97         hasNonTransformation = getResourceOrNull(graph, URIs.hasNonTransformation);
98         hasNonTransformation_Inverse = getResourceOrNull(graph, URIs.hasNonTransformation_Inverse);
99         hasOrientation = getResourceOrNull(graph, URIs.hasOrientation);
100         hasOrientation_Inverse = getResourceOrNull(graph, URIs.hasOrientation_Inverse);
101         hasPosition = getResourceOrNull(graph, URIs.hasPosition);
102         hasPosition_Inverse = getResourceOrNull(graph, URIs.hasPosition_Inverse);
103         hasTransformation = getResourceOrNull(graph, URIs.hasTransformation);
104         hasTransformation_Inverse = getResourceOrNull(graph, URIs.hasTransformation_Inverse);
105         hasWorldOrientation = getResourceOrNull(graph, URIs.hasWorldOrientation);
106         hasWorldOrientation_Inverse = getResourceOrNull(graph, URIs.hasWorldOrientation_Inverse);
107         hasWorldPosition = getResourceOrNull(graph, URIs.hasWorldPosition);
108         hasWorldPosition_Inverse = getResourceOrNull(graph, URIs.hasWorldPosition_Inverse);
109         nodes = getResourceOrNull(graph, URIs.nodes);
110         parent = getResourceOrNull(graph, URIs.parent);
111         parentNode = getResourceOrNull(graph, URIs.parentNode);
112         publishes = getResourceOrNull(graph, URIs.publishes);
113         publishes_Inverse = getResourceOrNull(graph, URIs.publishes_Inverse);
114     }
115     
116     public static G3D getInstance(ReadGraph graph) {
117         Session session = graph.getSession();
118         G3D ret = session.peekService(G3D.class);
119         if(ret == null) {
120             QueryControl qc = graph.getService(QueryControl.class);
121             ret = new G3D(qc.getIndependentGraph(graph));
122             session.registerService(G3D.class, ret);
123         }
124         return ret;
125     }
126     
127     public static G3D getInstance(RequestProcessor session) throws DatabaseException {
128         G3D ret = session.peekService(G3D.class);
129         if(ret == null) {
130             ret = session.syncRequest(new Read<G3D>() {
131                 public G3D perform(ReadGraph graph) throws DatabaseException {
132                     QueryControl qc = graph.getService(QueryControl.class);
133                     return new G3D(qc.getIndependentGraph(graph));
134                 }
135             });
136             session.registerService(G3D.class, ret);
137         }
138         return ret;
139     }
140     
141 }
142