1 package org.simantics.district.selection;
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 ElementSelectionResource {
13 public final Resource AggregateCondition;
14 public final Resource Condition;
15 public final Resource Condition_IsInverse;
16 public final Resource Condition_IsInverse_Inverse;
17 public final Resource Conjunction;
18 public final Resource Disjunction;
19 public final Resource ElementaryCondition;
20 public final Resource Generator;
21 public final Resource Generator_Diagram;
22 public final Resource Generator_Explicit;
23 public final Resource Generator_HasDiagram;
24 public final Resource Generator_HasDiagram_Inverse;
25 public final Resource Generator_HasSelectedElement;
26 public final Resource Generator_HasSelectedElement_Inverse;
27 public final Resource Generator_Model;
28 public final Resource HasSubcondition;
29 public final Resource HasSubcondition_Inverse;
30 public final Resource Negation;
31 public final Resource PropertyCondition;
32 public final Resource PropertyCondition_HasLowerLimit;
33 public final Resource PropertyCondition_HasLowerLimit_Inverse;
34 public final Resource PropertyCondition_HasPropertyName;
35 public final Resource PropertyCondition_HasPropertyName_Inverse;
36 public final Resource PropertyCondition_HasUpperLimit;
37 public final Resource PropertyCondition_HasUpperLimit_Inverse;
38 public final Resource PropertySelector;
39 public final Resource PropertySelector_HasResultCount;
40 public final Resource PropertySelector_HasResultCount_Inverse;
41 public final Resource PropertySelector_HasSelectionPropertyName;
42 public final Resource PropertySelector_HasSelectionPropertyName_Inverse;
43 public final Resource RegionCondition;
44 public final Resource RegionCondition_HasRegion;
45 public final Resource RegionCondition_HasRegion_Inverse;
46 public final Resource RouteCondition;
47 public final Resource RouteCondition_HasRoute;
48 public final Resource RouteCondition_HasRoute_Inverse;
49 public final Resource Selection;
50 public final Resource SelectionLibrary;
51 public final Resource Selection_HasCondition;
52 public final Resource Selection_HasCondition_Inverse;
53 public final Resource Selection_HasGenerator;
54 public final Resource Selection_HasGenerator_Inverse;
55 public final Resource Selection_HasSelector;
56 public final Resource Selection_HasSelector_Inverse;
57 public final Resource Selector;
58 public final Resource Selector_All;
59 public final Resource Selector_HasMapping;
60 public final Resource Selector_NHighest;
61 public final Resource Selector_NLowest;
63 public static class URIs {
64 public static final String AggregateCondition = "http://www.simantics.org/ElementSelection-1.0/AggregateCondition";
65 public static final String Condition = "http://www.simantics.org/ElementSelection-1.0/Condition";
66 public static final String Condition_IsInverse = "http://www.simantics.org/ElementSelection-1.0/Condition/IsInverse";
67 public static final String Condition_IsInverse_Inverse = "http://www.simantics.org/ElementSelection-1.0/Condition/IsInverse/Inverse";
68 public static final String Conjunction = "http://www.simantics.org/ElementSelection-1.0/Conjunction";
69 public static final String Disjunction = "http://www.simantics.org/ElementSelection-1.0/Disjunction";
70 public static final String ElementaryCondition = "http://www.simantics.org/ElementSelection-1.0/ElementaryCondition";
71 public static final String Generator = "http://www.simantics.org/ElementSelection-1.0/Generator";
72 public static final String Generator_Diagram = "http://www.simantics.org/ElementSelection-1.0/Generator/Diagram";
73 public static final String Generator_Explicit = "http://www.simantics.org/ElementSelection-1.0/Generator/Explicit";
74 public static final String Generator_HasDiagram = "http://www.simantics.org/ElementSelection-1.0/Generator/HasDiagram";
75 public static final String Generator_HasDiagram_Inverse = "http://www.simantics.org/ElementSelection-1.0/Generator/HasDiagram/Inverse";
76 public static final String Generator_HasSelectedElement = "http://www.simantics.org/ElementSelection-1.0/Generator/HasSelectedElement";
77 public static final String Generator_HasSelectedElement_Inverse = "http://www.simantics.org/ElementSelection-1.0/Generator/HasSelectedElement/Inverse";
78 public static final String Generator_Model = "http://www.simantics.org/ElementSelection-1.0/Generator/Model";
79 public static final String HasSubcondition = "http://www.simantics.org/ElementSelection-1.0/HasSubcondition";
80 public static final String HasSubcondition_Inverse = "http://www.simantics.org/ElementSelection-1.0/HasSubcondition/Inverse";
81 public static final String Negation = "http://www.simantics.org/ElementSelection-1.0/Negation";
82 public static final String PropertyCondition = "http://www.simantics.org/ElementSelection-1.0/PropertyCondition";
83 public static final String PropertyCondition_HasLowerLimit = "http://www.simantics.org/ElementSelection-1.0/PropertyCondition/HasLowerLimit";
84 public static final String PropertyCondition_HasLowerLimit_Inverse = "http://www.simantics.org/ElementSelection-1.0/PropertyCondition/HasLowerLimit/Inverse";
85 public static final String PropertyCondition_HasPropertyName = "http://www.simantics.org/ElementSelection-1.0/PropertyCondition/HasPropertyName";
86 public static final String PropertyCondition_HasPropertyName_Inverse = "http://www.simantics.org/ElementSelection-1.0/PropertyCondition/HasPropertyName/Inverse";
87 public static final String PropertyCondition_HasUpperLimit = "http://www.simantics.org/ElementSelection-1.0/PropertyCondition/HasUpperLimit";
88 public static final String PropertyCondition_HasUpperLimit_Inverse = "http://www.simantics.org/ElementSelection-1.0/PropertyCondition/HasUpperLimit/Inverse";
89 public static final String PropertySelector = "http://www.simantics.org/ElementSelection-1.0/PropertySelector";
90 public static final String PropertySelector_HasResultCount = "http://www.simantics.org/ElementSelection-1.0/PropertySelector/HasResultCount";
91 public static final String PropertySelector_HasResultCount_Inverse = "http://www.simantics.org/ElementSelection-1.0/PropertySelector/HasResultCount/Inverse";
92 public static final String PropertySelector_HasSelectionPropertyName = "http://www.simantics.org/ElementSelection-1.0/PropertySelector/HasSelectionPropertyName";
93 public static final String PropertySelector_HasSelectionPropertyName_Inverse = "http://www.simantics.org/ElementSelection-1.0/PropertySelector/HasSelectionPropertyName/Inverse";
94 public static final String RegionCondition = "http://www.simantics.org/ElementSelection-1.0/RegionCondition";
95 public static final String RegionCondition_HasRegion = "http://www.simantics.org/ElementSelection-1.0/RegionCondition/HasRegion";
96 public static final String RegionCondition_HasRegion_Inverse = "http://www.simantics.org/ElementSelection-1.0/RegionCondition/HasRegion/Inverse";
97 public static final String RouteCondition = "http://www.simantics.org/ElementSelection-1.0/RouteCondition";
98 public static final String RouteCondition_HasRoute = "http://www.simantics.org/ElementSelection-1.0/RouteCondition/HasRoute";
99 public static final String RouteCondition_HasRoute_Inverse = "http://www.simantics.org/ElementSelection-1.0/RouteCondition/HasRoute/Inverse";
100 public static final String Selection = "http://www.simantics.org/ElementSelection-1.0/Selection";
101 public static final String SelectionLibrary = "http://www.simantics.org/ElementSelection-1.0/SelectionLibrary";
102 public static final String Selection_HasCondition = "http://www.simantics.org/ElementSelection-1.0/Selection/HasCondition";
103 public static final String Selection_HasCondition_Inverse = "http://www.simantics.org/ElementSelection-1.0/Selection/HasCondition/Inverse";
104 public static final String Selection_HasGenerator = "http://www.simantics.org/ElementSelection-1.0/Selection/HasGenerator";
105 public static final String Selection_HasGenerator_Inverse = "http://www.simantics.org/ElementSelection-1.0/Selection/HasGenerator/Inverse";
106 public static final String Selection_HasSelector = "http://www.simantics.org/ElementSelection-1.0/Selection/HasSelector";
107 public static final String Selection_HasSelector_Inverse = "http://www.simantics.org/ElementSelection-1.0/Selection/HasSelector/Inverse";
108 public static final String Selector = "http://www.simantics.org/ElementSelection-1.0/Selector";
109 public static final String Selector_All = "http://www.simantics.org/ElementSelection-1.0/Selector/All";
110 public static final String Selector_HasMapping = "http://www.simantics.org/ElementSelection-1.0/Selector/HasMapping";
111 public static final String Selector_NHighest = "http://www.simantics.org/ElementSelection-1.0/Selector/NHighest";
112 public static final String Selector_NLowest = "http://www.simantics.org/ElementSelection-1.0/Selector/NLowest";
115 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
117 return graph.getResource(uri);
118 } catch(DatabaseException e) {
119 System.err.println(e.getMessage());
124 public ElementSelectionResource(ReadGraph graph) {
125 AggregateCondition = getResourceOrNull(graph, URIs.AggregateCondition);
126 Condition = getResourceOrNull(graph, URIs.Condition);
127 Condition_IsInverse = getResourceOrNull(graph, URIs.Condition_IsInverse);
128 Condition_IsInverse_Inverse = getResourceOrNull(graph, URIs.Condition_IsInverse_Inverse);
129 Conjunction = getResourceOrNull(graph, URIs.Conjunction);
130 Disjunction = getResourceOrNull(graph, URIs.Disjunction);
131 ElementaryCondition = getResourceOrNull(graph, URIs.ElementaryCondition);
132 Generator = getResourceOrNull(graph, URIs.Generator);
133 Generator_Diagram = getResourceOrNull(graph, URIs.Generator_Diagram);
134 Generator_Explicit = getResourceOrNull(graph, URIs.Generator_Explicit);
135 Generator_HasDiagram = getResourceOrNull(graph, URIs.Generator_HasDiagram);
136 Generator_HasDiagram_Inverse = getResourceOrNull(graph, URIs.Generator_HasDiagram_Inverse);
137 Generator_HasSelectedElement = getResourceOrNull(graph, URIs.Generator_HasSelectedElement);
138 Generator_HasSelectedElement_Inverse = getResourceOrNull(graph, URIs.Generator_HasSelectedElement_Inverse);
139 Generator_Model = getResourceOrNull(graph, URIs.Generator_Model);
140 HasSubcondition = getResourceOrNull(graph, URIs.HasSubcondition);
141 HasSubcondition_Inverse = getResourceOrNull(graph, URIs.HasSubcondition_Inverse);
142 Negation = getResourceOrNull(graph, URIs.Negation);
143 PropertyCondition = getResourceOrNull(graph, URIs.PropertyCondition);
144 PropertyCondition_HasLowerLimit = getResourceOrNull(graph, URIs.PropertyCondition_HasLowerLimit);
145 PropertyCondition_HasLowerLimit_Inverse = getResourceOrNull(graph, URIs.PropertyCondition_HasLowerLimit_Inverse);
146 PropertyCondition_HasPropertyName = getResourceOrNull(graph, URIs.PropertyCondition_HasPropertyName);
147 PropertyCondition_HasPropertyName_Inverse = getResourceOrNull(graph, URIs.PropertyCondition_HasPropertyName_Inverse);
148 PropertyCondition_HasUpperLimit = getResourceOrNull(graph, URIs.PropertyCondition_HasUpperLimit);
149 PropertyCondition_HasUpperLimit_Inverse = getResourceOrNull(graph, URIs.PropertyCondition_HasUpperLimit_Inverse);
150 PropertySelector = getResourceOrNull(graph, URIs.PropertySelector);
151 PropertySelector_HasResultCount = getResourceOrNull(graph, URIs.PropertySelector_HasResultCount);
152 PropertySelector_HasResultCount_Inverse = getResourceOrNull(graph, URIs.PropertySelector_HasResultCount_Inverse);
153 PropertySelector_HasSelectionPropertyName = getResourceOrNull(graph, URIs.PropertySelector_HasSelectionPropertyName);
154 PropertySelector_HasSelectionPropertyName_Inverse = getResourceOrNull(graph, URIs.PropertySelector_HasSelectionPropertyName_Inverse);
155 RegionCondition = getResourceOrNull(graph, URIs.RegionCondition);
156 RegionCondition_HasRegion = getResourceOrNull(graph, URIs.RegionCondition_HasRegion);
157 RegionCondition_HasRegion_Inverse = getResourceOrNull(graph, URIs.RegionCondition_HasRegion_Inverse);
158 RouteCondition = getResourceOrNull(graph, URIs.RouteCondition);
159 RouteCondition_HasRoute = getResourceOrNull(graph, URIs.RouteCondition_HasRoute);
160 RouteCondition_HasRoute_Inverse = getResourceOrNull(graph, URIs.RouteCondition_HasRoute_Inverse);
161 Selection = getResourceOrNull(graph, URIs.Selection);
162 SelectionLibrary = getResourceOrNull(graph, URIs.SelectionLibrary);
163 Selection_HasCondition = getResourceOrNull(graph, URIs.Selection_HasCondition);
164 Selection_HasCondition_Inverse = getResourceOrNull(graph, URIs.Selection_HasCondition_Inverse);
165 Selection_HasGenerator = getResourceOrNull(graph, URIs.Selection_HasGenerator);
166 Selection_HasGenerator_Inverse = getResourceOrNull(graph, URIs.Selection_HasGenerator_Inverse);
167 Selection_HasSelector = getResourceOrNull(graph, URIs.Selection_HasSelector);
168 Selection_HasSelector_Inverse = getResourceOrNull(graph, URIs.Selection_HasSelector_Inverse);
169 Selector = getResourceOrNull(graph, URIs.Selector);
170 Selector_All = getResourceOrNull(graph, URIs.Selector_All);
171 Selector_HasMapping = getResourceOrNull(graph, URIs.Selector_HasMapping);
172 Selector_NHighest = getResourceOrNull(graph, URIs.Selector_NHighest);
173 Selector_NLowest = getResourceOrNull(graph, URIs.Selector_NLowest);
176 public static ElementSelectionResource getInstance(ReadGraph graph) {
177 Session session = graph.getSession();
178 ElementSelectionResource ret = session.peekService(ElementSelectionResource.class);
180 QueryControl qc = graph.getService(QueryControl.class);
181 ret = new ElementSelectionResource(qc.getIndependentGraph(graph));
182 session.registerService(ElementSelectionResource.class, ret);
187 public static ElementSelectionResource getInstance(RequestProcessor session) throws DatabaseException {
188 ElementSelectionResource ret = session.peekService(ElementSelectionResource.class);
190 ret = session.syncRequest(new Read<ElementSelectionResource>() {
191 public ElementSelectionResource perform(ReadGraph graph) throws DatabaseException {
192 QueryControl qc = graph.getService(QueryControl.class);
193 return new ElementSelectionResource(qc.getIndependentGraph(graph));
196 session.registerService(ElementSelectionResource.class, ret);