]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ontology/src/org/simantics/district/network/ontology/DistrictNetworkResource.java
Some more added functionality to simantics district editor etc
[simantics/district.git] / org.simantics.district.network.ontology / src / org / simantics / district / network / ontology / DistrictNetworkResource.java
index 6ab511e1273b22b33522537c6ad5585f32f9e92a..714f808578ff9116403d494689c9792e26a18bb3 100644 (file)
-package org.simantics.district.network.ontology;\r
-\r
-import org.simantics.db.RequestProcessor;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.request.Read;\r
-import org.simantics.db.Session;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.service.QueryControl;\r
-\r
-public class DistrictNetworkResource {\r
-    \r
-    public final Resource ActionContext;\r
-    public final Resource ActionContext_newDiagramContribution;\r
-    public final Resource Actions;\r
-    public final Resource Actions_NewDNDiagram;\r
-    public final Resource AddLayerToDNDiagramTemplate;\r
-    public final Resource Bidirectional;\r
-    public final Resource Bidirectional_Inverse;\r
-    public final Resource Composite;\r
-    public final Resource Connection;\r
-    public final Resource Diagram;\r
-    public final Resource EPSG_4326;\r
-    public final Resource Edge;\r
-    public final Resource EdgeDefaultMapping;\r
-    public final Resource EdgeDefaultMapping_Inverse;\r
-    public final Resource Edge_HasDiameter;\r
-    public final Resource Edge_HasDiameter_Inverse;\r
-    public final Resource HasEndVertex;\r
-    public final Resource HasEndVertex_Inverse;\r
-    public final Resource HasInLayerTag;\r
-    public final Resource HasInLayerTag_Inverse;\r
-    public final Resource HasMapping;\r
-    public final Resource HasMapping_Inverse;\r
-    public final Resource HasSRID;\r
-    public final Resource HasSRID_Inverse;\r
-    public final Resource HasSRTEXT;\r
-    public final Resource HasSRTEXT_Inverse;\r
-    public final Resource HasSpatialRefSystem;\r
-    public final Resource HasSpatialRefSystem_Inverse;\r
-    public final Resource HasStartVertex;\r
-    public final Resource HasStartVertex_Inverse;\r
-    public final Resource Images;\r
-    public final Resource Images_ConfigurationFolder;\r
-    public final Resource InLayer;\r
-    public final Resource Layer;\r
-    public final Resource Mapping;\r
-    public final Resource Mapping_ComponentType;\r
-    public final Resource Mapping_ComponentType_Inverse;\r
-    public final Resource Mapping_EdgeMapping;\r
-    public final Resource Mapping_EdgeMapping_Bidirectional;\r
-    public final Resource Mapping_EdgeMapping_Bidirectional_Inverse;\r
-    public final Resource Mapping_EdgeMapping_DiameterAttribute;\r
-    public final Resource Mapping_EdgeMapping_DiameterAttribute_Inverse;\r
-    public final Resource Mapping_EdgeMapping_LengthAttribute;\r
-    public final Resource Mapping_EdgeMapping_LengthAttribute_Inverse;\r
-    public final Resource Mapping_InputTerminal;\r
-    public final Resource Mapping_InputTerminal_Inverse;\r
-    public final Resource Mapping_OutputTerminal;\r
-    public final Resource Mapping_OutputTerminal_Inverse;\r
-    public final Resource Mapping_Terminal;\r
-    public final Resource Mapping_TerminalPair;\r
-    public final Resource Mapping_Terminals;\r
-    public final Resource Mapping_Terminals_Inverse;\r
-    public final Resource Mapping_VertexMapping;\r
-    public final Resource Mapping_VertexMapping_ElevationAttribute;\r
-    public final Resource Mapping_VertexMapping_ElevationAttribute_Inverse;\r
-    public final Resource SpatialRefSystem;\r
-    public final Resource Vertex;\r
-    public final Resource VertexDefaultMapping;\r
-    public final Resource VertexDefaultMapping_Inverse;\r
-        \r
-    public static class URIs {\r
-        public static final String ActionContext = "http://www.simantics.org/DistrictNetwork-1.0/ActionContext";\r
-        public static final String ActionContext_newDiagramContribution = "http://www.simantics.org/DistrictNetwork-1.0/ActionContext/newDiagramContribution";\r
-        public static final String Actions = "http://www.simantics.org/DistrictNetwork-1.0/Actions";\r
-        public static final String Actions_NewDNDiagram = "http://www.simantics.org/DistrictNetwork-1.0/Actions/NewDNDiagram";\r
-        public static final String AddLayerToDNDiagramTemplate = "http://www.simantics.org/DistrictNetwork-1.0/AddLayerToDNDiagramTemplate";\r
-        public static final String Bidirectional = "http://www.simantics.org/DistrictNetwork-1.0/Bidirectional";\r
-        public static final String Bidirectional_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Bidirectional/Inverse";\r
-        public static final String Composite = "http://www.simantics.org/DistrictNetwork-1.0/Composite";\r
-        public static final String Connection = "http://www.simantics.org/DistrictNetwork-1.0/Connection";\r
-        public static final String Diagram = "http://www.simantics.org/DistrictNetwork-1.0/Diagram";\r
-        public static final String EPSG_4326 = "http://www.simantics.org/DistrictNetwork-1.0/EPSG_4326";\r
-        public static final String Edge = "http://www.simantics.org/DistrictNetwork-1.0/Edge";\r
-        public static final String EdgeDefaultMapping = "http://www.simantics.org/DistrictNetwork-1.0/EdgeDefaultMapping";\r
-        public static final String EdgeDefaultMapping_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/EdgeDefaultMapping/Inverse";\r
-        public static final String Edge_HasDiameter = "http://www.simantics.org/DistrictNetwork-1.0/Edge/HasDiameter";\r
-        public static final String Edge_HasDiameter_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Edge/HasDiameter/Inverse";\r
-        public static final String HasEndVertex = "http://www.simantics.org/DistrictNetwork-1.0/HasEndVertex";\r
-        public static final String HasEndVertex_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasEndVertex_Inverse";\r
-        public static final String HasInLayerTag = "http://www.simantics.org/DistrictNetwork-1.0/HasInLayerTag";\r
-        public static final String HasInLayerTag_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasInLayerTag/Inverse";\r
-        public static final String HasMapping = "http://www.simantics.org/DistrictNetwork-1.0/HasMapping";\r
-        public static final String HasMapping_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasMapping/Inverse";\r
-        public static final String HasSRID = "http://www.simantics.org/DistrictNetwork-1.0/HasSRID";\r
-        public static final String HasSRID_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasSRID/Inverse";\r
-        public static final String HasSRTEXT = "http://www.simantics.org/DistrictNetwork-1.0/HasSRTEXT";\r
-        public static final String HasSRTEXT_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasSRTEXT/Inverse";\r
-        public static final String HasSpatialRefSystem = "http://www.simantics.org/DistrictNetwork-1.0/HasSpatialRefSystem";\r
-        public static final String HasSpatialRefSystem_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasSpatialRefSystem/Inverse";\r
-        public static final String HasStartVertex = "http://www.simantics.org/DistrictNetwork-1.0/HasStartVertex";\r
-        public static final String HasStartVertex_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasStartVertex_Inverse";\r
-        public static final String Images = "http://www.simantics.org/DistrictNetwork-1.0/Images";\r
-        public static final String Images_ConfigurationFolder = "http://www.simantics.org/DistrictNetwork-1.0/Images/ConfigurationFolder";\r
-        public static final String InLayer = "http://www.simantics.org/DistrictNetwork-1.0/InLayer";\r
-        public static final String Layer = "http://www.simantics.org/DistrictNetwork-1.0/Layer";\r
-        public static final String Mapping = "http://www.simantics.org/DistrictNetwork-1.0/Mapping";\r
-        public static final String Mapping_ComponentType = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/ComponentType";\r
-        public static final String Mapping_ComponentType_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/ComponentType/Inverse";\r
-        public static final String Mapping_EdgeMapping = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping";\r
-        public static final String Mapping_EdgeMapping_Bidirectional = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/Bidirectional";\r
-        public static final String Mapping_EdgeMapping_Bidirectional_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/Bidirectional/Inverse";\r
-        public static final String Mapping_EdgeMapping_DiameterAttribute = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/DiameterAttribute";\r
-        public static final String Mapping_EdgeMapping_DiameterAttribute_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/DiameterAttribute/Inverse";\r
-        public static final String Mapping_EdgeMapping_LengthAttribute = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/LengthAttribute";\r
-        public static final String Mapping_EdgeMapping_LengthAttribute_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/LengthAttribute/Inverse";\r
-        public static final String Mapping_InputTerminal = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/InputTerminal";\r
-        public static final String Mapping_InputTerminal_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/InputTerminal/Inverse";\r
-        public static final String Mapping_OutputTerminal = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/OutputTerminal";\r
-        public static final String Mapping_OutputTerminal_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/OutputTerminal/Inverse";\r
-        public static final String Mapping_Terminal = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Terminal";\r
-        public static final String Mapping_TerminalPair = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/TerminalPair";\r
-        public static final String Mapping_Terminals = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Terminals";\r
-        public static final String Mapping_Terminals_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Terminals/Inverse";\r
-        public static final String Mapping_VertexMapping = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/VertexMapping";\r
-        public static final String Mapping_VertexMapping_ElevationAttribute = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/VertexMapping/ElevationAttribute";\r
-        public static final String Mapping_VertexMapping_ElevationAttribute_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/VertexMapping/ElevationAttribute/Inverse";\r
-        public static final String SpatialRefSystem = "http://www.simantics.org/DistrictNetwork-1.0/SpatialRefSystem";\r
-        public static final String Vertex = "http://www.simantics.org/DistrictNetwork-1.0/Vertex";\r
-        public static final String VertexDefaultMapping = "http://www.simantics.org/DistrictNetwork-1.0/VertexDefaultMapping";\r
-        public static final String VertexDefaultMapping_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/VertexDefaultMapping/Inverse";\r
-    }\r
-    \r
-    public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
-        try {\r
-            return graph.getResource(uri);\r
-        } catch(DatabaseException e) {\r
-            System.err.println(e.getMessage());\r
-            return null;\r
-        }\r
-    }\r
-    \r
-    public DistrictNetworkResource(ReadGraph graph) {\r
-        ActionContext = getResourceOrNull(graph, URIs.ActionContext);\r
-        ActionContext_newDiagramContribution = getResourceOrNull(graph, URIs.ActionContext_newDiagramContribution);\r
-        Actions = getResourceOrNull(graph, URIs.Actions);\r
-        Actions_NewDNDiagram = getResourceOrNull(graph, URIs.Actions_NewDNDiagram);\r
-        AddLayerToDNDiagramTemplate = getResourceOrNull(graph, URIs.AddLayerToDNDiagramTemplate);\r
-        Bidirectional = getResourceOrNull(graph, URIs.Bidirectional);\r
-        Bidirectional_Inverse = getResourceOrNull(graph, URIs.Bidirectional_Inverse);\r
-        Composite = getResourceOrNull(graph, URIs.Composite);\r
-        Connection = getResourceOrNull(graph, URIs.Connection);\r
-        Diagram = getResourceOrNull(graph, URIs.Diagram);\r
-        EPSG_4326 = getResourceOrNull(graph, URIs.EPSG_4326);\r
-        Edge = getResourceOrNull(graph, URIs.Edge);\r
-        EdgeDefaultMapping = getResourceOrNull(graph, URIs.EdgeDefaultMapping);\r
-        EdgeDefaultMapping_Inverse = getResourceOrNull(graph, URIs.EdgeDefaultMapping_Inverse);\r
-        Edge_HasDiameter = getResourceOrNull(graph, URIs.Edge_HasDiameter);\r
-        Edge_HasDiameter_Inverse = getResourceOrNull(graph, URIs.Edge_HasDiameter_Inverse);\r
-        HasEndVertex = getResourceOrNull(graph, URIs.HasEndVertex);\r
-        HasEndVertex_Inverse = getResourceOrNull(graph, URIs.HasEndVertex_Inverse);\r
-        HasInLayerTag = getResourceOrNull(graph, URIs.HasInLayerTag);\r
-        HasInLayerTag_Inverse = getResourceOrNull(graph, URIs.HasInLayerTag_Inverse);\r
-        HasMapping = getResourceOrNull(graph, URIs.HasMapping);\r
-        HasMapping_Inverse = getResourceOrNull(graph, URIs.HasMapping_Inverse);\r
-        HasSRID = getResourceOrNull(graph, URIs.HasSRID);\r
-        HasSRID_Inverse = getResourceOrNull(graph, URIs.HasSRID_Inverse);\r
-        HasSRTEXT = getResourceOrNull(graph, URIs.HasSRTEXT);\r
-        HasSRTEXT_Inverse = getResourceOrNull(graph, URIs.HasSRTEXT_Inverse);\r
-        HasSpatialRefSystem = getResourceOrNull(graph, URIs.HasSpatialRefSystem);\r
-        HasSpatialRefSystem_Inverse = getResourceOrNull(graph, URIs.HasSpatialRefSystem_Inverse);\r
-        HasStartVertex = getResourceOrNull(graph, URIs.HasStartVertex);\r
-        HasStartVertex_Inverse = getResourceOrNull(graph, URIs.HasStartVertex_Inverse);\r
-        Images = getResourceOrNull(graph, URIs.Images);\r
-        Images_ConfigurationFolder = getResourceOrNull(graph, URIs.Images_ConfigurationFolder);\r
-        InLayer = getResourceOrNull(graph, URIs.InLayer);\r
-        Layer = getResourceOrNull(graph, URIs.Layer);\r
-        Mapping = getResourceOrNull(graph, URIs.Mapping);\r
-        Mapping_ComponentType = getResourceOrNull(graph, URIs.Mapping_ComponentType);\r
-        Mapping_ComponentType_Inverse = getResourceOrNull(graph, URIs.Mapping_ComponentType_Inverse);\r
-        Mapping_EdgeMapping = getResourceOrNull(graph, URIs.Mapping_EdgeMapping);\r
-        Mapping_EdgeMapping_Bidirectional = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_Bidirectional);\r
-        Mapping_EdgeMapping_Bidirectional_Inverse = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_Bidirectional_Inverse);\r
-        Mapping_EdgeMapping_DiameterAttribute = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_DiameterAttribute);\r
-        Mapping_EdgeMapping_DiameterAttribute_Inverse = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_DiameterAttribute_Inverse);\r
-        Mapping_EdgeMapping_LengthAttribute = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_LengthAttribute);\r
-        Mapping_EdgeMapping_LengthAttribute_Inverse = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_LengthAttribute_Inverse);\r
-        Mapping_InputTerminal = getResourceOrNull(graph, URIs.Mapping_InputTerminal);\r
-        Mapping_InputTerminal_Inverse = getResourceOrNull(graph, URIs.Mapping_InputTerminal_Inverse);\r
-        Mapping_OutputTerminal = getResourceOrNull(graph, URIs.Mapping_OutputTerminal);\r
-        Mapping_OutputTerminal_Inverse = getResourceOrNull(graph, URIs.Mapping_OutputTerminal_Inverse);\r
-        Mapping_Terminal = getResourceOrNull(graph, URIs.Mapping_Terminal);\r
-        Mapping_TerminalPair = getResourceOrNull(graph, URIs.Mapping_TerminalPair);\r
-        Mapping_Terminals = getResourceOrNull(graph, URIs.Mapping_Terminals);\r
-        Mapping_Terminals_Inverse = getResourceOrNull(graph, URIs.Mapping_Terminals_Inverse);\r
-        Mapping_VertexMapping = getResourceOrNull(graph, URIs.Mapping_VertexMapping);\r
-        Mapping_VertexMapping_ElevationAttribute = getResourceOrNull(graph, URIs.Mapping_VertexMapping_ElevationAttribute);\r
-        Mapping_VertexMapping_ElevationAttribute_Inverse = getResourceOrNull(graph, URIs.Mapping_VertexMapping_ElevationAttribute_Inverse);\r
-        SpatialRefSystem = getResourceOrNull(graph, URIs.SpatialRefSystem);\r
-        Vertex = getResourceOrNull(graph, URIs.Vertex);\r
-        VertexDefaultMapping = getResourceOrNull(graph, URIs.VertexDefaultMapping);\r
-        VertexDefaultMapping_Inverse = getResourceOrNull(graph, URIs.VertexDefaultMapping_Inverse);\r
-    }\r
-    \r
-    public static DistrictNetworkResource getInstance(ReadGraph graph) {\r
-        Session session = graph.getSession();\r
-        DistrictNetworkResource ret = session.peekService(DistrictNetworkResource.class);\r
-        if(ret == null) {\r
-            QueryControl qc = graph.getService(QueryControl.class);\r
-            ret = new DistrictNetworkResource(qc.getIndependentGraph(graph));\r
-            session.registerService(DistrictNetworkResource.class, ret);\r
-        }\r
-        return ret;\r
-    }\r
-    \r
-    public static DistrictNetworkResource getInstance(RequestProcessor session) throws DatabaseException {\r
-        DistrictNetworkResource ret = session.peekService(DistrictNetworkResource.class);\r
-        if(ret == null) {\r
-            ret = session.syncRequest(new Read<DistrictNetworkResource>() {\r
-                public DistrictNetworkResource perform(ReadGraph graph) throws DatabaseException {\r
-                    QueryControl qc = graph.getService(QueryControl.class);\r
-                    return new DistrictNetworkResource(qc.getIndependentGraph(graph));\r
-                }\r
-            });\r
-            session.registerService(DistrictNetworkResource.class, ret);\r
-        }\r
-        return ret;\r
-    }\r
-    \r
-}\r
-\r
+package org.simantics.district.network.ontology;
+
+import org.simantics.db.RequestProcessor;
+import org.simantics.db.Resource;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.request.Read;
+import org.simantics.db.Session;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.service.QueryControl;
+
+public class DistrictNetworkResource {
+    
+    public final Resource ActionContext;
+    public final Resource ActionContext_newDiagramContribution;
+    public final Resource Actions;
+    public final Resource Actions_NewDNDiagram;
+    public final Resource AddLayerToDNDiagramTemplate;
+    public final Resource Bidirectional;
+    public final Resource Bidirectional_Inverse;
+    public final Resource BrowseContext;
+    public final Resource Composite;
+    public final Resource Connection;
+    public final Resource Diagram;
+    public final Resource EPSG_4326;
+    public final Resource Edge;
+    public final Resource EdgeDefaultMapping;
+    public final Resource EdgeDefaultMapping_Inverse;
+    public final Resource EdgeMappingParameterType;
+    public final Resource Edge_HasDiameter;
+    public final Resource Edge_HasDiameter_Inverse;
+    public final Resource Functions;
+    public final Resource Functions_compositeInstantiator;
+    public final Resource Functions_convertToValue;
+    public final Resource Functions_defaultEdgeMappingModifier;
+    public final Resource Functions_defaultVertexMappingModifier;
+    public final Resource Functions_enumerationValues;
+    public final Resource Functions_mappingModifier;
+    public final Resource HasEndVertex;
+    public final Resource HasEndVertex_Inverse;
+    public final Resource HasInLayerTag;
+    public final Resource HasInLayerTag_Inverse;
+    public final Resource HasMapping;
+    public final Resource HasMapping_Inverse;
+    public final Resource HasSRID;
+    public final Resource HasSRID_Inverse;
+    public final Resource HasSRTEXT;
+    public final Resource HasSRTEXT_Inverse;
+    public final Resource HasSpatialRefSystem;
+    public final Resource HasSpatialRefSystem_Inverse;
+    public final Resource HasStartVertex;
+    public final Resource HasStartVertex_Inverse;
+    public final Resource Images;
+    public final Resource Images_ConfigurationFolder;
+    public final Resource InLayer;
+    public final Resource Layer;
+    public final Resource Mapping;
+    public final Resource MappingParameterType;
+    public final Resource Mapping_Base;
+    public final Resource Mapping_ComponentType;
+    public final Resource Mapping_ComponentType_Inverse;
+    public final Resource Mapping_Dummy;
+    public final Resource Mapping_EdgeMapping;
+    public final Resource Mapping_EdgeMapping_Bidirectional;
+    public final Resource Mapping_EdgeMapping_Bidirectional_Inverse;
+    public final Resource Mapping_EdgeMapping_DiameterAttribute;
+    public final Resource Mapping_EdgeMapping_DiameterAttribute_Inverse;
+    public final Resource Mapping_EdgeMapping_LengthAttribute;
+    public final Resource Mapping_EdgeMapping_LengthAttribute_Inverse;
+    public final Resource Mapping_InputTerminal;
+    public final Resource Mapping_InputTerminal_Inverse;
+    public final Resource Mapping_OutputTerminal;
+    public final Resource Mapping_OutputTerminal_Inverse;
+    public final Resource Mapping_Terminal;
+    public final Resource Mapping_TerminalPair;
+    public final Resource Mapping_Terminals;
+    public final Resource Mapping_Terminals_Inverse;
+    public final Resource Mapping_VertexMapping;
+    public final Resource Mapping_VertexMapping_ElevationAttribute;
+    public final Resource Mapping_VertexMapping_ElevationAttribute_Inverse;
+    public final Resource SpatialRefSystem;
+    public final Resource Vertex;
+    public final Resource VertexDefaultMapping;
+    public final Resource VertexDefaultMapping_Inverse;
+    public final Resource VertexMappingParameterType;
+        
+    public static class URIs {
+        public static final String ActionContext = "http://www.simantics.org/DistrictNetwork-1.0/ActionContext";
+        public static final String ActionContext_newDiagramContribution = "http://www.simantics.org/DistrictNetwork-1.0/ActionContext/newDiagramContribution";
+        public static final String Actions = "http://www.simantics.org/DistrictNetwork-1.0/Actions";
+        public static final String Actions_NewDNDiagram = "http://www.simantics.org/DistrictNetwork-1.0/Actions/NewDNDiagram";
+        public static final String AddLayerToDNDiagramTemplate = "http://www.simantics.org/DistrictNetwork-1.0/AddLayerToDNDiagramTemplate";
+        public static final String Bidirectional = "http://www.simantics.org/DistrictNetwork-1.0/Bidirectional";
+        public static final String Bidirectional_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Bidirectional/Inverse";
+        public static final String BrowseContext = "http://www.simantics.org/DistrictNetwork-1.0/BrowseContext";
+        public static final String Composite = "http://www.simantics.org/DistrictNetwork-1.0/Composite";
+        public static final String Connection = "http://www.simantics.org/DistrictNetwork-1.0/Connection";
+        public static final String Diagram = "http://www.simantics.org/DistrictNetwork-1.0/Diagram";
+        public static final String EPSG_4326 = "http://www.simantics.org/DistrictNetwork-1.0/EPSG_4326";
+        public static final String Edge = "http://www.simantics.org/DistrictNetwork-1.0/Edge";
+        public static final String EdgeDefaultMapping = "http://www.simantics.org/DistrictNetwork-1.0/EdgeDefaultMapping";
+        public static final String EdgeDefaultMapping_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/EdgeDefaultMapping/Inverse";
+        public static final String EdgeMappingParameterType = "http://www.simantics.org/DistrictNetwork-1.0/EdgeMappingParameterType";
+        public static final String Edge_HasDiameter = "http://www.simantics.org/DistrictNetwork-1.0/Edge/HasDiameter";
+        public static final String Edge_HasDiameter_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Edge/HasDiameter/Inverse";
+        public static final String Functions = "http://www.simantics.org/DistrictNetwork-1.0/Functions";
+        public static final String Functions_compositeInstantiator = "http://www.simantics.org/DistrictNetwork-1.0/Functions/compositeInstantiator";
+        public static final String Functions_convertToValue = "http://www.simantics.org/DistrictNetwork-1.0/Functions/convertToValue";
+        public static final String Functions_defaultEdgeMappingModifier = "http://www.simantics.org/DistrictNetwork-1.0/Functions/defaultEdgeMappingModifier";
+        public static final String Functions_defaultVertexMappingModifier = "http://www.simantics.org/DistrictNetwork-1.0/Functions/defaultVertexMappingModifier";
+        public static final String Functions_enumerationValues = "http://www.simantics.org/DistrictNetwork-1.0/Functions/enumerationValues";
+        public static final String Functions_mappingModifier = "http://www.simantics.org/DistrictNetwork-1.0/Functions/mappingModifier";
+        public static final String HasEndVertex = "http://www.simantics.org/DistrictNetwork-1.0/HasEndVertex";
+        public static final String HasEndVertex_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasEndVertex_Inverse";
+        public static final String HasInLayerTag = "http://www.simantics.org/DistrictNetwork-1.0/HasInLayerTag";
+        public static final String HasInLayerTag_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasInLayerTag/Inverse";
+        public static final String HasMapping = "http://www.simantics.org/DistrictNetwork-1.0/HasMapping";
+        public static final String HasMapping_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasMapping/Inverse";
+        public static final String HasSRID = "http://www.simantics.org/DistrictNetwork-1.0/HasSRID";
+        public static final String HasSRID_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasSRID/Inverse";
+        public static final String HasSRTEXT = "http://www.simantics.org/DistrictNetwork-1.0/HasSRTEXT";
+        public static final String HasSRTEXT_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasSRTEXT/Inverse";
+        public static final String HasSpatialRefSystem = "http://www.simantics.org/DistrictNetwork-1.0/HasSpatialRefSystem";
+        public static final String HasSpatialRefSystem_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasSpatialRefSystem/Inverse";
+        public static final String HasStartVertex = "http://www.simantics.org/DistrictNetwork-1.0/HasStartVertex";
+        public static final String HasStartVertex_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/HasStartVertex_Inverse";
+        public static final String Images = "http://www.simantics.org/DistrictNetwork-1.0/Images";
+        public static final String Images_ConfigurationFolder = "http://www.simantics.org/DistrictNetwork-1.0/Images/ConfigurationFolder";
+        public static final String InLayer = "http://www.simantics.org/DistrictNetwork-1.0/InLayer";
+        public static final String Layer = "http://www.simantics.org/DistrictNetwork-1.0/Layer";
+        public static final String Mapping = "http://www.simantics.org/DistrictNetwork-1.0/Mapping";
+        public static final String MappingParameterType = "http://www.simantics.org/DistrictNetwork-1.0/MappingParameterType";
+        public static final String Mapping_Base = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Base";
+        public static final String Mapping_ComponentType = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/ComponentType";
+        public static final String Mapping_ComponentType_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/ComponentType/Inverse";
+        public static final String Mapping_Dummy = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Dummy";
+        public static final String Mapping_EdgeMapping = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping";
+        public static final String Mapping_EdgeMapping_Bidirectional = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/Bidirectional";
+        public static final String Mapping_EdgeMapping_Bidirectional_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/Bidirectional/Inverse";
+        public static final String Mapping_EdgeMapping_DiameterAttribute = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/DiameterAttribute";
+        public static final String Mapping_EdgeMapping_DiameterAttribute_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/DiameterAttribute/Inverse";
+        public static final String Mapping_EdgeMapping_LengthAttribute = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/LengthAttribute";
+        public static final String Mapping_EdgeMapping_LengthAttribute_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/EdgeMapping/LengthAttribute/Inverse";
+        public static final String Mapping_InputTerminal = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/InputTerminal";
+        public static final String Mapping_InputTerminal_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/InputTerminal/Inverse";
+        public static final String Mapping_OutputTerminal = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/OutputTerminal";
+        public static final String Mapping_OutputTerminal_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/OutputTerminal/Inverse";
+        public static final String Mapping_Terminal = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Terminal";
+        public static final String Mapping_TerminalPair = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/TerminalPair";
+        public static final String Mapping_Terminals = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Terminals";
+        public static final String Mapping_Terminals_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/Terminals/Inverse";
+        public static final String Mapping_VertexMapping = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/VertexMapping";
+        public static final String Mapping_VertexMapping_ElevationAttribute = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/VertexMapping/ElevationAttribute";
+        public static final String Mapping_VertexMapping_ElevationAttribute_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/Mapping/VertexMapping/ElevationAttribute/Inverse";
+        public static final String SpatialRefSystem = "http://www.simantics.org/DistrictNetwork-1.0/SpatialRefSystem";
+        public static final String Vertex = "http://www.simantics.org/DistrictNetwork-1.0/Vertex";
+        public static final String VertexDefaultMapping = "http://www.simantics.org/DistrictNetwork-1.0/VertexDefaultMapping";
+        public static final String VertexDefaultMapping_Inverse = "http://www.simantics.org/DistrictNetwork-1.0/VertexDefaultMapping/Inverse";
+        public static final String VertexMappingParameterType = "http://www.simantics.org/DistrictNetwork-1.0/VertexMappingParameterType";
+    }
+    
+    public static Resource getResourceOrNull(ReadGraph graph, String uri) {
+        try {
+            return graph.getResource(uri);
+        } catch(DatabaseException e) {
+            System.err.println(e.getMessage());
+            return null;
+        }
+    }
+    
+    public DistrictNetworkResource(ReadGraph graph) {
+        ActionContext = getResourceOrNull(graph, URIs.ActionContext);
+        ActionContext_newDiagramContribution = getResourceOrNull(graph, URIs.ActionContext_newDiagramContribution);
+        Actions = getResourceOrNull(graph, URIs.Actions);
+        Actions_NewDNDiagram = getResourceOrNull(graph, URIs.Actions_NewDNDiagram);
+        AddLayerToDNDiagramTemplate = getResourceOrNull(graph, URIs.AddLayerToDNDiagramTemplate);
+        Bidirectional = getResourceOrNull(graph, URIs.Bidirectional);
+        Bidirectional_Inverse = getResourceOrNull(graph, URIs.Bidirectional_Inverse);
+        BrowseContext = getResourceOrNull(graph, URIs.BrowseContext);
+        Composite = getResourceOrNull(graph, URIs.Composite);
+        Connection = getResourceOrNull(graph, URIs.Connection);
+        Diagram = getResourceOrNull(graph, URIs.Diagram);
+        EPSG_4326 = getResourceOrNull(graph, URIs.EPSG_4326);
+        Edge = getResourceOrNull(graph, URIs.Edge);
+        EdgeDefaultMapping = getResourceOrNull(graph, URIs.EdgeDefaultMapping);
+        EdgeDefaultMapping_Inverse = getResourceOrNull(graph, URIs.EdgeDefaultMapping_Inverse);
+        EdgeMappingParameterType = getResourceOrNull(graph, URIs.EdgeMappingParameterType);
+        Edge_HasDiameter = getResourceOrNull(graph, URIs.Edge_HasDiameter);
+        Edge_HasDiameter_Inverse = getResourceOrNull(graph, URIs.Edge_HasDiameter_Inverse);
+        Functions = getResourceOrNull(graph, URIs.Functions);
+        Functions_compositeInstantiator = getResourceOrNull(graph, URIs.Functions_compositeInstantiator);
+        Functions_convertToValue = getResourceOrNull(graph, URIs.Functions_convertToValue);
+        Functions_defaultEdgeMappingModifier = getResourceOrNull(graph, URIs.Functions_defaultEdgeMappingModifier);
+        Functions_defaultVertexMappingModifier = getResourceOrNull(graph, URIs.Functions_defaultVertexMappingModifier);
+        Functions_enumerationValues = getResourceOrNull(graph, URIs.Functions_enumerationValues);
+        Functions_mappingModifier = getResourceOrNull(graph, URIs.Functions_mappingModifier);
+        HasEndVertex = getResourceOrNull(graph, URIs.HasEndVertex);
+        HasEndVertex_Inverse = getResourceOrNull(graph, URIs.HasEndVertex_Inverse);
+        HasInLayerTag = getResourceOrNull(graph, URIs.HasInLayerTag);
+        HasInLayerTag_Inverse = getResourceOrNull(graph, URIs.HasInLayerTag_Inverse);
+        HasMapping = getResourceOrNull(graph, URIs.HasMapping);
+        HasMapping_Inverse = getResourceOrNull(graph, URIs.HasMapping_Inverse);
+        HasSRID = getResourceOrNull(graph, URIs.HasSRID);
+        HasSRID_Inverse = getResourceOrNull(graph, URIs.HasSRID_Inverse);
+        HasSRTEXT = getResourceOrNull(graph, URIs.HasSRTEXT);
+        HasSRTEXT_Inverse = getResourceOrNull(graph, URIs.HasSRTEXT_Inverse);
+        HasSpatialRefSystem = getResourceOrNull(graph, URIs.HasSpatialRefSystem);
+        HasSpatialRefSystem_Inverse = getResourceOrNull(graph, URIs.HasSpatialRefSystem_Inverse);
+        HasStartVertex = getResourceOrNull(graph, URIs.HasStartVertex);
+        HasStartVertex_Inverse = getResourceOrNull(graph, URIs.HasStartVertex_Inverse);
+        Images = getResourceOrNull(graph, URIs.Images);
+        Images_ConfigurationFolder = getResourceOrNull(graph, URIs.Images_ConfigurationFolder);
+        InLayer = getResourceOrNull(graph, URIs.InLayer);
+        Layer = getResourceOrNull(graph, URIs.Layer);
+        Mapping = getResourceOrNull(graph, URIs.Mapping);
+        MappingParameterType = getResourceOrNull(graph, URIs.MappingParameterType);
+        Mapping_Base = getResourceOrNull(graph, URIs.Mapping_Base);
+        Mapping_ComponentType = getResourceOrNull(graph, URIs.Mapping_ComponentType);
+        Mapping_ComponentType_Inverse = getResourceOrNull(graph, URIs.Mapping_ComponentType_Inverse);
+        Mapping_Dummy = getResourceOrNull(graph, URIs.Mapping_Dummy);
+        Mapping_EdgeMapping = getResourceOrNull(graph, URIs.Mapping_EdgeMapping);
+        Mapping_EdgeMapping_Bidirectional = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_Bidirectional);
+        Mapping_EdgeMapping_Bidirectional_Inverse = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_Bidirectional_Inverse);
+        Mapping_EdgeMapping_DiameterAttribute = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_DiameterAttribute);
+        Mapping_EdgeMapping_DiameterAttribute_Inverse = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_DiameterAttribute_Inverse);
+        Mapping_EdgeMapping_LengthAttribute = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_LengthAttribute);
+        Mapping_EdgeMapping_LengthAttribute_Inverse = getResourceOrNull(graph, URIs.Mapping_EdgeMapping_LengthAttribute_Inverse);
+        Mapping_InputTerminal = getResourceOrNull(graph, URIs.Mapping_InputTerminal);
+        Mapping_InputTerminal_Inverse = getResourceOrNull(graph, URIs.Mapping_InputTerminal_Inverse);
+        Mapping_OutputTerminal = getResourceOrNull(graph, URIs.Mapping_OutputTerminal);
+        Mapping_OutputTerminal_Inverse = getResourceOrNull(graph, URIs.Mapping_OutputTerminal_Inverse);
+        Mapping_Terminal = getResourceOrNull(graph, URIs.Mapping_Terminal);
+        Mapping_TerminalPair = getResourceOrNull(graph, URIs.Mapping_TerminalPair);
+        Mapping_Terminals = getResourceOrNull(graph, URIs.Mapping_Terminals);
+        Mapping_Terminals_Inverse = getResourceOrNull(graph, URIs.Mapping_Terminals_Inverse);
+        Mapping_VertexMapping = getResourceOrNull(graph, URIs.Mapping_VertexMapping);
+        Mapping_VertexMapping_ElevationAttribute = getResourceOrNull(graph, URIs.Mapping_VertexMapping_ElevationAttribute);
+        Mapping_VertexMapping_ElevationAttribute_Inverse = getResourceOrNull(graph, URIs.Mapping_VertexMapping_ElevationAttribute_Inverse);
+        SpatialRefSystem = getResourceOrNull(graph, URIs.SpatialRefSystem);
+        Vertex = getResourceOrNull(graph, URIs.Vertex);
+        VertexDefaultMapping = getResourceOrNull(graph, URIs.VertexDefaultMapping);
+        VertexDefaultMapping_Inverse = getResourceOrNull(graph, URIs.VertexDefaultMapping_Inverse);
+        VertexMappingParameterType = getResourceOrNull(graph, URIs.VertexMappingParameterType);
+    }
+    
+    public static DistrictNetworkResource getInstance(ReadGraph graph) {
+        Session session = graph.getSession();
+        DistrictNetworkResource ret = session.peekService(DistrictNetworkResource.class);
+        if(ret == null) {
+            QueryControl qc = graph.getService(QueryControl.class);
+            ret = new DistrictNetworkResource(qc.getIndependentGraph(graph));
+            session.registerService(DistrictNetworkResource.class, ret);
+        }
+        return ret;
+    }
+    
+    public static DistrictNetworkResource getInstance(RequestProcessor session) throws DatabaseException {
+        DistrictNetworkResource ret = session.peekService(DistrictNetworkResource.class);
+        if(ret == null) {
+            ret = session.syncRequest(new Read<DistrictNetworkResource>() {
+                public DistrictNetworkResource perform(ReadGraph graph) throws DatabaseException {
+                    QueryControl qc = graph.getService(QueryControl.class);
+                    return new DistrictNetworkResource(qc.getIndependentGraph(graph));
+                }
+            });
+            session.registerService(DistrictNetworkResource.class, ret);
+        }
+        return ret;
+    }
+    
+}
+