]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d.ontology/src/org/simantics/g3d/ontology/G3D.java
Flat nozzles
[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