]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.g3d.ontology/src/org/simantics/g3d/ontology/G3D.java
Recomplied G3D ontologies and updated AnntotatedPropertyTabContrubutor
[simantics/3d.git] / org.simantics.g3d.ontology / src / org / simantics / g3d / ontology / G3D.java
1 /*******************************************************************************\r
2  * Copyright (c) 2012, 2013 Association for Decentralized Information Management in\r
3  * Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.g3d.ontology;\r
13 \r
14 import org.simantics.db.RequestProcessor;\r
15 import org.simantics.db.Resource;\r
16 import org.simantics.db.ReadGraph;\r
17 import org.simantics.db.request.Read;\r
18 import org.simantics.db.Session;\r
19 import org.simantics.db.exception.DatabaseException;\r
20 import org.simantics.db.service.QueryControl;\r
21 \r
22 public class G3D {\r
23     \r
24     public final Resource BaseNode;\r
25     public final Resource Node;\r
26     public final Resource Orientation;\r
27     public final Resource Position;\r
28     public final Resource RootNode;\r
29     public final Resource Tuple3D;\r
30     public final Resource Tuple4D;\r
31     public final Resource children;\r
32     public final Resource geometryDefinition;\r
33     public final Resource geometryDefinitionOf;\r
34     public final Resource hasNodeProperty;\r
35     public final Resource hasNodeProperty_Inverse;\r
36     public final Resource hasNonTransformation;\r
37     public final Resource hasNonTransformation_Inverse;\r
38     public final Resource hasOrientation;\r
39     public final Resource hasOrientation_Inverse;\r
40     public final Resource hasPosition;\r
41     public final Resource hasPosition_Inverse;\r
42     public final Resource hasTransformation;\r
43     public final Resource hasTransformation_Inverse;\r
44     public final Resource hasWorldOrientation;\r
45     public final Resource hasWorldOrientation_Inverse;\r
46     public final Resource hasWorldPosition;\r
47     public final Resource hasWorldPosition_Inverse;\r
48     public final Resource nodes;\r
49     public final Resource parent;\r
50     public final Resource parentNode;\r
51     public final Resource publishes;\r
52     public final Resource publishes_Inverse;\r
53         \r
54     public static class URIs {\r
55         public static final String BaseNode = "http://www.simantics.org/G3D-0.1/BaseNode";\r
56         public static final String Node = "http://www.simantics.org/G3D-0.1/Node";\r
57         public static final String Orientation = "http://www.simantics.org/G3D-0.1/Orientation";\r
58         public static final String Position = "http://www.simantics.org/G3D-0.1/Position";\r
59         public static final String RootNode = "http://www.simantics.org/G3D-0.1/RootNode";\r
60         public static final String Tuple3D = "http://www.simantics.org/G3D-0.1/Tuple3D";\r
61         public static final String Tuple4D = "http://www.simantics.org/G3D-0.1/Tuple4D";\r
62         public static final String children = "http://www.simantics.org/G3D-0.1/children";\r
63         public static final String geometryDefinition = "http://www.simantics.org/G3D-0.1/geometryDefinition";\r
64         public static final String geometryDefinitionOf = "http://www.simantics.org/G3D-0.1/geometryDefinitionOf";\r
65         public static final String hasNodeProperty = "http://www.simantics.org/G3D-0.1/hasNodeProperty";\r
66         public static final String hasNodeProperty_Inverse = "http://www.simantics.org/G3D-0.1/hasNodeProperty/Inverse";\r
67         public static final String hasNonTransformation = "http://www.simantics.org/G3D-0.1/hasNonTransformation";\r
68         public static final String hasNonTransformation_Inverse = "http://www.simantics.org/G3D-0.1/hasNonTransformation/Inverse";\r
69         public static final String hasOrientation = "http://www.simantics.org/G3D-0.1/hasOrientation";\r
70         public static final String hasOrientation_Inverse = "http://www.simantics.org/G3D-0.1/hasOrientation/Inverse";\r
71         public static final String hasPosition = "http://www.simantics.org/G3D-0.1/hasPosition";\r
72         public static final String hasPosition_Inverse = "http://www.simantics.org/G3D-0.1/hasPosition/Inverse";\r
73         public static final String hasTransformation = "http://www.simantics.org/G3D-0.1/hasTransformation";\r
74         public static final String hasTransformation_Inverse = "http://www.simantics.org/G3D-0.1/hasTransformation/Inverse";\r
75         public static final String hasWorldOrientation = "http://www.simantics.org/G3D-0.1/hasWorldOrientation";\r
76         public static final String hasWorldOrientation_Inverse = "http://www.simantics.org/G3D-0.1/hasWorldOrientation/Inverse";\r
77         public static final String hasWorldPosition = "http://www.simantics.org/G3D-0.1/hasWorldPosition";\r
78         public static final String hasWorldPosition_Inverse = "http://www.simantics.org/G3D-0.1/hasWorldPosition/Inverse";\r
79         public static final String nodes = "http://www.simantics.org/G3D-0.1/nodes";\r
80         public static final String parent = "http://www.simantics.org/G3D-0.1/parent";\r
81         public static final String parentNode = "http://www.simantics.org/G3D-0.1/parentNode";\r
82         public static final String publishes = "http://www.simantics.org/G3D-0.1/publishes";\r
83         public static final String publishes_Inverse = "http://www.simantics.org/G3D-0.1/publishes/Inverse";\r
84     }\r
85     \r
86     public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
87         try {\r
88             return graph.getResource(uri);\r
89         } catch(DatabaseException e) {\r
90             System.err.println(e.getMessage());\r
91             return null;\r
92         }\r
93     }\r
94     \r
95     public G3D(ReadGraph graph) {\r
96         BaseNode = getResourceOrNull(graph, URIs.BaseNode);\r
97         Node = getResourceOrNull(graph, URIs.Node);\r
98         Orientation = getResourceOrNull(graph, URIs.Orientation);\r
99         Position = getResourceOrNull(graph, URIs.Position);\r
100         RootNode = getResourceOrNull(graph, URIs.RootNode);\r
101         Tuple3D = getResourceOrNull(graph, URIs.Tuple3D);\r
102         Tuple4D = getResourceOrNull(graph, URIs.Tuple4D);\r
103         children = getResourceOrNull(graph, URIs.children);\r
104         geometryDefinition = getResourceOrNull(graph, URIs.geometryDefinition);\r
105         geometryDefinitionOf = getResourceOrNull(graph, URIs.geometryDefinitionOf);\r
106         hasNodeProperty = getResourceOrNull(graph, URIs.hasNodeProperty);\r
107         hasNodeProperty_Inverse = getResourceOrNull(graph, URIs.hasNodeProperty_Inverse);\r
108         hasNonTransformation = getResourceOrNull(graph, URIs.hasNonTransformation);\r
109         hasNonTransformation_Inverse = getResourceOrNull(graph, URIs.hasNonTransformation_Inverse);\r
110         hasOrientation = getResourceOrNull(graph, URIs.hasOrientation);\r
111         hasOrientation_Inverse = getResourceOrNull(graph, URIs.hasOrientation_Inverse);\r
112         hasPosition = getResourceOrNull(graph, URIs.hasPosition);\r
113         hasPosition_Inverse = getResourceOrNull(graph, URIs.hasPosition_Inverse);\r
114         hasTransformation = getResourceOrNull(graph, URIs.hasTransformation);\r
115         hasTransformation_Inverse = getResourceOrNull(graph, URIs.hasTransformation_Inverse);\r
116         hasWorldOrientation = getResourceOrNull(graph, URIs.hasWorldOrientation);\r
117         hasWorldOrientation_Inverse = getResourceOrNull(graph, URIs.hasWorldOrientation_Inverse);\r
118         hasWorldPosition = getResourceOrNull(graph, URIs.hasWorldPosition);\r
119         hasWorldPosition_Inverse = getResourceOrNull(graph, URIs.hasWorldPosition_Inverse);\r
120         nodes = getResourceOrNull(graph, URIs.nodes);\r
121         parent = getResourceOrNull(graph, URIs.parent);\r
122         parentNode = getResourceOrNull(graph, URIs.parentNode);\r
123         publishes = getResourceOrNull(graph, URIs.publishes);\r
124         publishes_Inverse = getResourceOrNull(graph, URIs.publishes_Inverse);\r
125     }\r
126     \r
127     public static G3D getInstance(ReadGraph graph) {\r
128         Session session = graph.getSession();\r
129         G3D ret = session.peekService(G3D.class);\r
130         if(ret == null) {\r
131             QueryControl qc = graph.getService(QueryControl.class);\r
132             ret = new G3D(qc.getIndependentGraph(graph));\r
133             session.registerService(G3D.class, ret);\r
134         }\r
135         return ret;\r
136     }\r
137     \r
138     public static G3D getInstance(RequestProcessor session) throws DatabaseException {\r
139         G3D ret = session.peekService(G3D.class);\r
140         if(ret == null) {\r
141             ret = session.syncRequest(new Read<G3D>() {\r
142                 public G3D perform(ReadGraph graph) throws DatabaseException {\r
143                     QueryControl qc = graph.getService(QueryControl.class);\r
144                     return new G3D(qc.getIndependentGraph(graph));\r
145                 }\r
146             });\r
147             session.registerService(G3D.class, ret);\r
148         }\r
149         return ret;\r
150     }\r
151     \r
152 }\r
153 \r