]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.structural.ontology/src/org/simantics/structural/stubs/StructuralResource2.java
(refs #7177) Rounded connections
[simantics/platform.git] / bundles / org.simantics.structural.ontology / src / org / simantics / structural / stubs / StructuralResource2.java
index a51e6f9816a9496c7a68e69fcc5a88eb6d07ffe0..fc17672db6608b164c5e859cdd642a1359d886d2 100644 (file)
-package org.simantics.structural.stubs;\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 StructuralResource2 {\r
-    \r
-    public final Resource AbstractDefinedComponentType;\r
-    public final Resource AllowsConnectionType;\r
-    public final Resource AllowsConnectionType_Inverse;\r
-    public final Resource BelongsTo;\r
-    public final Resource BelongsToInverse;\r
-    public final Resource Binds;\r
-    public final Resource CardinalityRestriction;\r
-    public final Resource Component;\r
-    public final Resource ComponentGroup;\r
-    public final Resource ComponentType;\r
-    public final Resource ComponentTypeScript;\r
-    public final Resource ComponentTypeScript_code;\r
-    public final Resource ComponentTypeScript_code_Inverse;\r
-    public final Resource ComponentTypeScript_type;\r
-    public final Resource ComponentTypeScript_type_Inverse;\r
-    public final Resource ComponentType_HasDefaultMonitorValueType;\r
-    public final Resource ComponentType_HasDefaultPropertyRelationType;\r
-    public final Resource ComponentType_HasDefaultPropertyValueType;\r
-    public final Resource ComponentType_Locked;\r
-    public final Resource ComponentType_hasScript;\r
-    public final Resource ComponentType_hasScript_Inverse;\r
-    public final Resource Composite;\r
-    public final Resource Composite_instantiationFunction;\r
-    public final Resource Composite_instantiationFunction_Inverse;\r
-    public final Resource Composite_namingFunction;\r
-    public final Resource Composite_namingFunction_Inverse;\r
-    public final Resource Connection;\r
-    public final Resource ConnectionConstraint;\r
-    public final Resource ConnectionConstraint_ErrorIssue;\r
-    public final Resource ConnectionConstraint_Source;\r
-    public final Resource ConnectionDirection;\r
-    public final Resource ConnectionJoin;\r
-    public final Resource ConnectionRelation;\r
-    public final Resource ConnectionRelation_connectionRequired;\r
-    public final Resource ConnectionRelation_connectionRequired_Inverse;\r
-    public final Resource ConnectionRelation_equivalentConnectionPoint;\r
-    public final Resource ConnectionType;\r
-    public final Resource ConnectionType_isUserSelectable;\r
-    public final Resource ConnectionType_isUserSelectable_Inverse;\r
-    public final Resource Connects;\r
-    public final Resource DefaultConnectionType;\r
-    public final Resource DefaultModelingRules;\r
-    public final Resource DefaultsToConnectionType;\r
-    public final Resource DefaultsToConnectionType_Inverse;\r
-    public final Resource DefinedComponentType;\r
-    public final Resource Defines;\r
-    public final Resource Functions;\r
-    public final Resource Functions_computeExpression;\r
-    public final Resource Functions_connectionExtension;\r
-    public final Resource Functions_connectionIssueDescription;\r
-    public final Resource Functions_connectionValidator;\r
-    public final Resource Functions_connectionValueAccessor;\r
-    public final Resource Functions_expressionValueAccessor;\r
-    public final Resource Functions_structuralChildDomainChildren;\r
-    public final Resource Functions_structuralChildDomainProperties;\r
-    public final Resource Functions_structuralRunDomainChildren;\r
-    public final Resource GroupBelongsTo;\r
-    public final Resource GroupBelongsToInverse;\r
-    public final Resource GroupSubsumption;\r
-    public final Resource HasAttachmentRelation;\r
-    public final Resource HasCardinalityRestriction;\r
-    public final Resource HasConnectionConstraint;\r
-    public final Resource HasConnectionDirection;\r
-    public final Resource HasConnectionJoin;\r
-    public final Resource HasConnectionType;\r
-    public final Resource HasExpression;\r
-    public final Resource HasExpression_Inverse;\r
-    public final Resource HasJoinClusterSet;\r
-    public final Resource HasJoinClusterSet_Inverse;\r
-    public final Resource HasLowerBound;\r
-    public final Resource HasLowerBound_Inverse;\r
-    public final Resource HasModelingRules;\r
-    public final Resource HasSubgroup;\r
-    public final Resource HasUpperBound;\r
-    public final Resource HasUpperBound_Inverse;\r
-    public final Resource InComposite;\r
-    public final Resource InComposite_Inverse;\r
-    public final Resource InputDirection;\r
-    public final Resource InvalidSCLExpressionIssue;\r
-    public final Resource IsBoundBy;\r
-    public final Resource IsConnectedTo;\r
-    public final Resource IsDefinedBy;\r
-    public final Resource IsIncludedInConnectionType;\r
-    public final Resource IsIncludedInConnectionType_Inverse;\r
-    public final Resource IsJoinedBy;\r
-    public final Resource Joins;\r
-    public final Resource JoinsComposite;\r
-    public final Resource ModelingRules;\r
-    public final Resource MonitorValue;\r
-    public final Resource MonitorValueType;\r
-    public final Resource OrderedComposite;\r
-    public final Resource OutputDirection;\r
-    public final Resource OverridesConnectionType;\r
-    public final Resource OverridesConnectionType_Inverse;\r
-    public final Resource ProceduralComponentType;\r
-    public final Resource ProceduralComponentTypeCode;\r
-    public final Resource ProceduralComponentType_code;\r
-    public final Resource ProceduralComponentType_code_Inverse;\r
-    public final Resource ProceduralComponentType_environment;\r
-    public final Resource Property;\r
-    public final Resource ProvidingConnectionRelation;\r
-    public final Resource Run;\r
-    public final Resource SCLValue;\r
-    public final Resource SimpleModelingRules;\r
-    public final Resource StandardModelingRules;\r
-    public final Resource SupportsConnectionType;\r
-    public final Resource SupportsDirection;\r
-    public final Resource SynchronizedConnectionRelation;\r
-    public final Resource SynchronizedRelation;\r
-    public final Resource UserDefinedProperty;\r
-    public final Resource input;\r
-    public final Resource input_Inverse;\r
-    public final Resource scl;\r
-    public final Resource sclValue;\r
-    public final Resource structuralRevision;\r
-    public final Resource structuralRevision_Inverse;\r
-    public final Resource synchronizedRevision;\r
-    public final Resource synchronizedRevision_Inverse;\r
-        \r
-    public static class URIs {\r
-        public static final String AbstractDefinedComponentType = "http://www.simantics.org/Structural-1.2/AbstractDefinedComponentType";\r
-        public static final String AllowsConnectionType = "http://www.simantics.org/Structural-1.2/AllowsConnectionType";\r
-        public static final String AllowsConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/AllowsConnectionType/Inverse";\r
-        public static final String BelongsTo = "http://www.simantics.org/Structural-1.2/BelongsTo";\r
-        public static final String BelongsToInverse = "http://www.simantics.org/Structural-1.2/BelongsToInverse";\r
-        public static final String Binds = "http://www.simantics.org/Structural-1.2/Binds";\r
-        public static final String CardinalityRestriction = "http://www.simantics.org/Structural-1.2/CardinalityRestriction";\r
-        public static final String Component = "http://www.simantics.org/Structural-1.2/Component";\r
-        public static final String ComponentGroup = "http://www.simantics.org/Structural-1.2/ComponentGroup";\r
-        public static final String ComponentType = "http://www.simantics.org/Structural-1.2/ComponentType";\r
-        public static final String ComponentTypeScript = "http://www.simantics.org/Structural-1.2/ComponentTypeScript";\r
-        public static final String ComponentTypeScript_code = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/code";\r
-        public static final String ComponentTypeScript_code_Inverse = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/code/Inverse";\r
-        public static final String ComponentTypeScript_type = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/type";\r
-        public static final String ComponentTypeScript_type_Inverse = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/type/Inverse";\r
-        public static final String ComponentType_HasDefaultMonitorValueType = "http://www.simantics.org/Structural-1.2/ComponentType/HasDefaultMonitorValueType";\r
-        public static final String ComponentType_HasDefaultPropertyRelationType = "http://www.simantics.org/Structural-1.2/ComponentType/HasDefaultPropertyRelationType";\r
-        public static final String ComponentType_HasDefaultPropertyValueType = "http://www.simantics.org/Structural-1.2/ComponentType/HasDefaultPropertyValueType";\r
-        public static final String ComponentType_Locked = "http://www.simantics.org/Structural-1.2/ComponentType/Locked";\r
-        public static final String ComponentType_hasScript = "http://www.simantics.org/Structural-1.2/ComponentType/hasScript";\r
-        public static final String ComponentType_hasScript_Inverse = "http://www.simantics.org/Structural-1.2/ComponentType/hasScript/Inverse";\r
-        public static final String Composite = "http://www.simantics.org/Structural-1.2/Composite";\r
-        public static final String Composite_instantiationFunction = "http://www.simantics.org/Structural-1.2/Composite/instantiationFunction";\r
-        public static final String Composite_instantiationFunction_Inverse = "http://www.simantics.org/Structural-1.2/Composite/instantiationFunction/Inverse";\r
-        public static final String Composite_namingFunction = "http://www.simantics.org/Structural-1.2/Composite/namingFunction";\r
-        public static final String Composite_namingFunction_Inverse = "http://www.simantics.org/Structural-1.2/Composite/namingFunction/Inverse";\r
-        public static final String Connection = "http://www.simantics.org/Structural-1.2/Connection";\r
-        public static final String ConnectionConstraint = "http://www.simantics.org/Structural-1.2/ConnectionConstraint";\r
-        public static final String ConnectionConstraint_ErrorIssue = "http://www.simantics.org/Structural-1.2/ConnectionConstraint/ErrorIssue";\r
-        public static final String ConnectionConstraint_Source = "http://www.simantics.org/Structural-1.2/ConnectionConstraint/Source";\r
-        public static final String ConnectionDirection = "http://www.simantics.org/Structural-1.2/ConnectionDirection";\r
-        public static final String ConnectionJoin = "http://www.simantics.org/Structural-1.2/ConnectionJoin";\r
-        public static final String ConnectionRelation = "http://www.simantics.org/Structural-1.2/ConnectionRelation";\r
-        public static final String ConnectionRelation_connectionRequired = "http://www.simantics.org/Structural-1.2/ConnectionRelation/connectionRequired";\r
-        public static final String ConnectionRelation_connectionRequired_Inverse = "http://www.simantics.org/Structural-1.2/ConnectionRelation/connectionRequired/Inverse";\r
-        public static final String ConnectionRelation_equivalentConnectionPoint = "http://www.simantics.org/Structural-1.2/ConnectionRelation/equivalentConnectionPoint";\r
-        public static final String ConnectionType = "http://www.simantics.org/Structural-1.2/ConnectionType";\r
-        public static final String ConnectionType_isUserSelectable = "http://www.simantics.org/Structural-1.2/ConnectionType/isUserSelectable";\r
-        public static final String ConnectionType_isUserSelectable_Inverse = "http://www.simantics.org/Structural-1.2/ConnectionType/isUserSelectable/Inverse";\r
-        public static final String Connects = "http://www.simantics.org/Structural-1.2/Connects";\r
-        public static final String DefaultConnectionType = "http://www.simantics.org/Structural-1.2/DefaultConnectionType";\r
-        public static final String DefaultModelingRules = "http://www.simantics.org/Structural-1.2/DefaultModelingRules";\r
-        public static final String DefaultsToConnectionType = "http://www.simantics.org/Structural-1.2/DefaultsToConnectionType";\r
-        public static final String DefaultsToConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/DefaultsToConnectionType/Inverse";\r
-        public static final String DefinedComponentType = "http://www.simantics.org/Structural-1.2/DefinedComponentType";\r
-        public static final String Defines = "http://www.simantics.org/Structural-1.2/Defines";\r
-        public static final String Functions = "http://www.simantics.org/Structural-1.2/Functions";\r
-        public static final String Functions_computeExpression = "http://www.simantics.org/Structural-1.2/Functions/computeExpression";\r
-        public static final String Functions_connectionExtension = "http://www.simantics.org/Structural-1.2/Functions/connectionExtension";\r
-        public static final String Functions_connectionIssueDescription = "http://www.simantics.org/Structural-1.2/Functions/connectionIssueDescription";\r
-        public static final String Functions_connectionValidator = "http://www.simantics.org/Structural-1.2/Functions/connectionValidator";\r
-        public static final String Functions_connectionValueAccessor = "http://www.simantics.org/Structural-1.2/Functions/connectionValueAccessor";\r
-        public static final String Functions_expressionValueAccessor = "http://www.simantics.org/Structural-1.2/Functions/expressionValueAccessor";\r
-        public static final String Functions_structuralChildDomainChildren = "http://www.simantics.org/Structural-1.2/Functions/structuralChildDomainChildren";\r
-        public static final String Functions_structuralChildDomainProperties = "http://www.simantics.org/Structural-1.2/Functions/structuralChildDomainProperties";\r
-        public static final String Functions_structuralRunDomainChildren = "http://www.simantics.org/Structural-1.2/Functions/structuralRunDomainChildren";\r
-        public static final String GroupBelongsTo = "http://www.simantics.org/Structural-1.2/GroupBelongsTo";\r
-        public static final String GroupBelongsToInverse = "http://www.simantics.org/Structural-1.2/GroupBelongsToInverse";\r
-        public static final String GroupSubsumption = "http://www.simantics.org/Structural-1.2/GroupSubsumption";\r
-        public static final String HasAttachmentRelation = "http://www.simantics.org/Structural-1.2/HasAttachmentRelation";\r
-        public static final String HasCardinalityRestriction = "http://www.simantics.org/Structural-1.2/HasCardinalityRestriction";\r
-        public static final String HasConnectionConstraint = "http://www.simantics.org/Structural-1.2/HasConnectionConstraint";\r
-        public static final String HasConnectionDirection = "http://www.simantics.org/Structural-1.2/HasConnectionDirection";\r
-        public static final String HasConnectionJoin = "http://www.simantics.org/Structural-1.2/HasConnectionJoin";\r
-        public static final String HasConnectionType = "http://www.simantics.org/Structural-1.2/HasConnectionType";\r
-        public static final String HasExpression = "http://www.simantics.org/Structural-1.2/HasExpression";\r
-        public static final String HasExpression_Inverse = "http://www.simantics.org/Structural-1.2/HasExpression/Inverse";\r
-        public static final String HasJoinClusterSet = "http://www.simantics.org/Structural-1.2/HasJoinClusterSet";\r
-        public static final String HasJoinClusterSet_Inverse = "http://www.simantics.org/Structural-1.2/HasJoinClusterSet/Inverse";\r
-        public static final String HasLowerBound = "http://www.simantics.org/Structural-1.2/HasLowerBound";\r
-        public static final String HasLowerBound_Inverse = "http://www.simantics.org/Structural-1.2/HasLowerBound/Inverse";\r
-        public static final String HasModelingRules = "http://www.simantics.org/Structural-1.2/HasModelingRules";\r
-        public static final String HasSubgroup = "http://www.simantics.org/Structural-1.2/HasSubgroup";\r
-        public static final String HasUpperBound = "http://www.simantics.org/Structural-1.2/HasUpperBound";\r
-        public static final String HasUpperBound_Inverse = "http://www.simantics.org/Structural-1.2/HasUpperBound/Inverse";\r
-        public static final String InComposite = "http://www.simantics.org/Structural-1.2/InComposite";\r
-        public static final String InComposite_Inverse = "http://www.simantics.org/Structural-1.2/InComposite/Inverse";\r
-        public static final String InputDirection = "http://www.simantics.org/Structural-1.2/InputDirection";\r
-        public static final String InvalidSCLExpressionIssue = "http://www.simantics.org/Structural-1.2/InvalidSCLExpressionIssue";\r
-        public static final String IsBoundBy = "http://www.simantics.org/Structural-1.2/IsBoundBy";\r
-        public static final String IsConnectedTo = "http://www.simantics.org/Structural-1.2/IsConnectedTo";\r
-        public static final String IsDefinedBy = "http://www.simantics.org/Structural-1.2/IsDefinedBy";\r
-        public static final String IsIncludedInConnectionType = "http://www.simantics.org/Structural-1.2/IsIncludedInConnectionType";\r
-        public static final String IsIncludedInConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/IsIncludedInConnectionType/Inverse";\r
-        public static final String IsJoinedBy = "http://www.simantics.org/Structural-1.2/IsJoinedBy";\r
-        public static final String Joins = "http://www.simantics.org/Structural-1.2/Joins";\r
-        public static final String JoinsComposite = "http://www.simantics.org/Structural-1.2/JoinsComposite";\r
-        public static final String ModelingRules = "http://www.simantics.org/Structural-1.2/ModelingRules";\r
-        public static final String MonitorValue = "http://www.simantics.org/Structural-1.2/MonitorValue";\r
-        public static final String MonitorValueType = "http://www.simantics.org/Structural-1.2/MonitorValueType";\r
-        public static final String OrderedComposite = "http://www.simantics.org/Structural-1.2/OrderedComposite";\r
-        public static final String OutputDirection = "http://www.simantics.org/Structural-1.2/OutputDirection";\r
-        public static final String OverridesConnectionType = "http://www.simantics.org/Structural-1.2/OverridesConnectionType";\r
-        public static final String OverridesConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/OverridesConnectionType/Inverse";\r
-        public static final String ProceduralComponentType = "http://www.simantics.org/Structural-1.2/ProceduralComponentType";\r
-        public static final String ProceduralComponentTypeCode = "http://www.simantics.org/Structural-1.2/ProceduralComponentTypeCode";\r
-        public static final String ProceduralComponentType_code = "http://www.simantics.org/Structural-1.2/ProceduralComponentType/code";\r
-        public static final String ProceduralComponentType_code_Inverse = "http://www.simantics.org/Structural-1.2/ProceduralComponentType/code/Inverse";\r
-        public static final String ProceduralComponentType_environment = "http://www.simantics.org/Structural-1.2/ProceduralComponentType/environment";\r
-        public static final String Property = "http://www.simantics.org/Structural-1.2/Property";\r
-        public static final String ProvidingConnectionRelation = "http://www.simantics.org/Structural-1.2/ProvidingConnectionRelation";\r
-        public static final String Run = "http://www.simantics.org/Structural-1.2/Run";\r
-        public static final String SCLValue = "http://www.simantics.org/Structural-1.2/SCLValue";\r
-        public static final String SimpleModelingRules = "http://www.simantics.org/Structural-1.2/SimpleModelingRules";\r
-        public static final String StandardModelingRules = "http://www.simantics.org/Structural-1.2/StandardModelingRules";\r
-        public static final String SupportsConnectionType = "http://www.simantics.org/Structural-1.2/SupportsConnectionType";\r
-        public static final String SupportsDirection = "http://www.simantics.org/Structural-1.2/SupportsDirection";\r
-        public static final String SynchronizedConnectionRelation = "http://www.simantics.org/Structural-1.2/SynchronizedConnectionRelation";\r
-        public static final String SynchronizedRelation = "http://www.simantics.org/Structural-1.2/SynchronizedRelation";\r
-        public static final String UserDefinedProperty = "http://www.simantics.org/Structural-1.2/UserDefinedProperty";\r
-        public static final String input = "http://www.simantics.org/Structural-1.2/input";\r
-        public static final String input_Inverse = "http://www.simantics.org/Structural-1.2/input/Inverse";\r
-        public static final String scl = "http://www.simantics.org/Structural-1.2/scl";\r
-        public static final String sclValue = "http://www.simantics.org/Structural-1.2/sclValue";\r
-        public static final String structuralRevision = "http://www.simantics.org/Structural-1.2/structuralRevision";\r
-        public static final String structuralRevision_Inverse = "http://www.simantics.org/Structural-1.2/structuralRevision/Inverse";\r
-        public static final String synchronizedRevision = "http://www.simantics.org/Structural-1.2/synchronizedRevision";\r
-        public static final String synchronizedRevision_Inverse = "http://www.simantics.org/Structural-1.2/synchronizedRevision/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 StructuralResource2(ReadGraph graph) {\r
-        AbstractDefinedComponentType = getResourceOrNull(graph, URIs.AbstractDefinedComponentType);\r
-        AllowsConnectionType = getResourceOrNull(graph, URIs.AllowsConnectionType);\r
-        AllowsConnectionType_Inverse = getResourceOrNull(graph, URIs.AllowsConnectionType_Inverse);\r
-        BelongsTo = getResourceOrNull(graph, URIs.BelongsTo);\r
-        BelongsToInverse = getResourceOrNull(graph, URIs.BelongsToInverse);\r
-        Binds = getResourceOrNull(graph, URIs.Binds);\r
-        CardinalityRestriction = getResourceOrNull(graph, URIs.CardinalityRestriction);\r
-        Component = getResourceOrNull(graph, URIs.Component);\r
-        ComponentGroup = getResourceOrNull(graph, URIs.ComponentGroup);\r
-        ComponentType = getResourceOrNull(graph, URIs.ComponentType);\r
-        ComponentTypeScript = getResourceOrNull(graph, URIs.ComponentTypeScript);\r
-        ComponentTypeScript_code = getResourceOrNull(graph, URIs.ComponentTypeScript_code);\r
-        ComponentTypeScript_code_Inverse = getResourceOrNull(graph, URIs.ComponentTypeScript_code_Inverse);\r
-        ComponentTypeScript_type = getResourceOrNull(graph, URIs.ComponentTypeScript_type);\r
-        ComponentTypeScript_type_Inverse = getResourceOrNull(graph, URIs.ComponentTypeScript_type_Inverse);\r
-        ComponentType_HasDefaultMonitorValueType = getResourceOrNull(graph, URIs.ComponentType_HasDefaultMonitorValueType);\r
-        ComponentType_HasDefaultPropertyRelationType = getResourceOrNull(graph, URIs.ComponentType_HasDefaultPropertyRelationType);\r
-        ComponentType_HasDefaultPropertyValueType = getResourceOrNull(graph, URIs.ComponentType_HasDefaultPropertyValueType);\r
-        ComponentType_Locked = getResourceOrNull(graph, URIs.ComponentType_Locked);\r
-        ComponentType_hasScript = getResourceOrNull(graph, URIs.ComponentType_hasScript);\r
-        ComponentType_hasScript_Inverse = getResourceOrNull(graph, URIs.ComponentType_hasScript_Inverse);\r
-        Composite = getResourceOrNull(graph, URIs.Composite);\r
-        Composite_instantiationFunction = getResourceOrNull(graph, URIs.Composite_instantiationFunction);\r
-        Composite_instantiationFunction_Inverse = getResourceOrNull(graph, URIs.Composite_instantiationFunction_Inverse);\r
-        Composite_namingFunction = getResourceOrNull(graph, URIs.Composite_namingFunction);\r
-        Composite_namingFunction_Inverse = getResourceOrNull(graph, URIs.Composite_namingFunction_Inverse);\r
-        Connection = getResourceOrNull(graph, URIs.Connection);\r
-        ConnectionConstraint = getResourceOrNull(graph, URIs.ConnectionConstraint);\r
-        ConnectionConstraint_ErrorIssue = getResourceOrNull(graph, URIs.ConnectionConstraint_ErrorIssue);\r
-        ConnectionConstraint_Source = getResourceOrNull(graph, URIs.ConnectionConstraint_Source);\r
-        ConnectionDirection = getResourceOrNull(graph, URIs.ConnectionDirection);\r
-        ConnectionJoin = getResourceOrNull(graph, URIs.ConnectionJoin);\r
-        ConnectionRelation = getResourceOrNull(graph, URIs.ConnectionRelation);\r
-        ConnectionRelation_connectionRequired = getResourceOrNull(graph, URIs.ConnectionRelation_connectionRequired);\r
-        ConnectionRelation_connectionRequired_Inverse = getResourceOrNull(graph, URIs.ConnectionRelation_connectionRequired_Inverse);\r
-        ConnectionRelation_equivalentConnectionPoint = getResourceOrNull(graph, URIs.ConnectionRelation_equivalentConnectionPoint);\r
-        ConnectionType = getResourceOrNull(graph, URIs.ConnectionType);\r
-        ConnectionType_isUserSelectable = getResourceOrNull(graph, URIs.ConnectionType_isUserSelectable);\r
-        ConnectionType_isUserSelectable_Inverse = getResourceOrNull(graph, URIs.ConnectionType_isUserSelectable_Inverse);\r
-        Connects = getResourceOrNull(graph, URIs.Connects);\r
-        DefaultConnectionType = getResourceOrNull(graph, URIs.DefaultConnectionType);\r
-        DefaultModelingRules = getResourceOrNull(graph, URIs.DefaultModelingRules);\r
-        DefaultsToConnectionType = getResourceOrNull(graph, URIs.DefaultsToConnectionType);\r
-        DefaultsToConnectionType_Inverse = getResourceOrNull(graph, URIs.DefaultsToConnectionType_Inverse);\r
-        DefinedComponentType = getResourceOrNull(graph, URIs.DefinedComponentType);\r
-        Defines = getResourceOrNull(graph, URIs.Defines);\r
-        Functions = getResourceOrNull(graph, URIs.Functions);\r
-        Functions_computeExpression = getResourceOrNull(graph, URIs.Functions_computeExpression);\r
-        Functions_connectionExtension = getResourceOrNull(graph, URIs.Functions_connectionExtension);\r
-        Functions_connectionIssueDescription = getResourceOrNull(graph, URIs.Functions_connectionIssueDescription);\r
-        Functions_connectionValidator = getResourceOrNull(graph, URIs.Functions_connectionValidator);\r
-        Functions_connectionValueAccessor = getResourceOrNull(graph, URIs.Functions_connectionValueAccessor);\r
-        Functions_expressionValueAccessor = getResourceOrNull(graph, URIs.Functions_expressionValueAccessor);\r
-        Functions_structuralChildDomainChildren = getResourceOrNull(graph, URIs.Functions_structuralChildDomainChildren);\r
-        Functions_structuralChildDomainProperties = getResourceOrNull(graph, URIs.Functions_structuralChildDomainProperties);\r
-        Functions_structuralRunDomainChildren = getResourceOrNull(graph, URIs.Functions_structuralRunDomainChildren);\r
-        GroupBelongsTo = getResourceOrNull(graph, URIs.GroupBelongsTo);\r
-        GroupBelongsToInverse = getResourceOrNull(graph, URIs.GroupBelongsToInverse);\r
-        GroupSubsumption = getResourceOrNull(graph, URIs.GroupSubsumption);\r
-        HasAttachmentRelation = getResourceOrNull(graph, URIs.HasAttachmentRelation);\r
-        HasCardinalityRestriction = getResourceOrNull(graph, URIs.HasCardinalityRestriction);\r
-        HasConnectionConstraint = getResourceOrNull(graph, URIs.HasConnectionConstraint);\r
-        HasConnectionDirection = getResourceOrNull(graph, URIs.HasConnectionDirection);\r
-        HasConnectionJoin = getResourceOrNull(graph, URIs.HasConnectionJoin);\r
-        HasConnectionType = getResourceOrNull(graph, URIs.HasConnectionType);\r
-        HasExpression = getResourceOrNull(graph, URIs.HasExpression);\r
-        HasExpression_Inverse = getResourceOrNull(graph, URIs.HasExpression_Inverse);\r
-        HasJoinClusterSet = getResourceOrNull(graph, URIs.HasJoinClusterSet);\r
-        HasJoinClusterSet_Inverse = getResourceOrNull(graph, URIs.HasJoinClusterSet_Inverse);\r
-        HasLowerBound = getResourceOrNull(graph, URIs.HasLowerBound);\r
-        HasLowerBound_Inverse = getResourceOrNull(graph, URIs.HasLowerBound_Inverse);\r
-        HasModelingRules = getResourceOrNull(graph, URIs.HasModelingRules);\r
-        HasSubgroup = getResourceOrNull(graph, URIs.HasSubgroup);\r
-        HasUpperBound = getResourceOrNull(graph, URIs.HasUpperBound);\r
-        HasUpperBound_Inverse = getResourceOrNull(graph, URIs.HasUpperBound_Inverse);\r
-        InComposite = getResourceOrNull(graph, URIs.InComposite);\r
-        InComposite_Inverse = getResourceOrNull(graph, URIs.InComposite_Inverse);\r
-        InputDirection = getResourceOrNull(graph, URIs.InputDirection);\r
-        InvalidSCLExpressionIssue = getResourceOrNull(graph, URIs.InvalidSCLExpressionIssue);\r
-        IsBoundBy = getResourceOrNull(graph, URIs.IsBoundBy);\r
-        IsConnectedTo = getResourceOrNull(graph, URIs.IsConnectedTo);\r
-        IsDefinedBy = getResourceOrNull(graph, URIs.IsDefinedBy);\r
-        IsIncludedInConnectionType = getResourceOrNull(graph, URIs.IsIncludedInConnectionType);\r
-        IsIncludedInConnectionType_Inverse = getResourceOrNull(graph, URIs.IsIncludedInConnectionType_Inverse);\r
-        IsJoinedBy = getResourceOrNull(graph, URIs.IsJoinedBy);\r
-        Joins = getResourceOrNull(graph, URIs.Joins);\r
-        JoinsComposite = getResourceOrNull(graph, URIs.JoinsComposite);\r
-        ModelingRules = getResourceOrNull(graph, URIs.ModelingRules);\r
-        MonitorValue = getResourceOrNull(graph, URIs.MonitorValue);\r
-        MonitorValueType = getResourceOrNull(graph, URIs.MonitorValueType);\r
-        OrderedComposite = getResourceOrNull(graph, URIs.OrderedComposite);\r
-        OutputDirection = getResourceOrNull(graph, URIs.OutputDirection);\r
-        OverridesConnectionType = getResourceOrNull(graph, URIs.OverridesConnectionType);\r
-        OverridesConnectionType_Inverse = getResourceOrNull(graph, URIs.OverridesConnectionType_Inverse);\r
-        ProceduralComponentType = getResourceOrNull(graph, URIs.ProceduralComponentType);\r
-        ProceduralComponentTypeCode = getResourceOrNull(graph, URIs.ProceduralComponentTypeCode);\r
-        ProceduralComponentType_code = getResourceOrNull(graph, URIs.ProceduralComponentType_code);\r
-        ProceduralComponentType_code_Inverse = getResourceOrNull(graph, URIs.ProceduralComponentType_code_Inverse);\r
-        ProceduralComponentType_environment = getResourceOrNull(graph, URIs.ProceduralComponentType_environment);\r
-        Property = getResourceOrNull(graph, URIs.Property);\r
-        ProvidingConnectionRelation = getResourceOrNull(graph, URIs.ProvidingConnectionRelation);\r
-        Run = getResourceOrNull(graph, URIs.Run);\r
-        SCLValue = getResourceOrNull(graph, URIs.SCLValue);\r
-        SimpleModelingRules = getResourceOrNull(graph, URIs.SimpleModelingRules);\r
-        StandardModelingRules = getResourceOrNull(graph, URIs.StandardModelingRules);\r
-        SupportsConnectionType = getResourceOrNull(graph, URIs.SupportsConnectionType);\r
-        SupportsDirection = getResourceOrNull(graph, URIs.SupportsDirection);\r
-        SynchronizedConnectionRelation = getResourceOrNull(graph, URIs.SynchronizedConnectionRelation);\r
-        SynchronizedRelation = getResourceOrNull(graph, URIs.SynchronizedRelation);\r
-        UserDefinedProperty = getResourceOrNull(graph, URIs.UserDefinedProperty);\r
-        input = getResourceOrNull(graph, URIs.input);\r
-        input_Inverse = getResourceOrNull(graph, URIs.input_Inverse);\r
-        scl = getResourceOrNull(graph, URIs.scl);\r
-        sclValue = getResourceOrNull(graph, URIs.sclValue);\r
-        structuralRevision = getResourceOrNull(graph, URIs.structuralRevision);\r
-        structuralRevision_Inverse = getResourceOrNull(graph, URIs.structuralRevision_Inverse);\r
-        synchronizedRevision = getResourceOrNull(graph, URIs.synchronizedRevision);\r
-        synchronizedRevision_Inverse = getResourceOrNull(graph, URIs.synchronizedRevision_Inverse);\r
-    }\r
-    \r
-    public static StructuralResource2 getInstance(ReadGraph graph) {\r
-        Session session = graph.getSession();\r
-        StructuralResource2 ret = session.peekService(StructuralResource2.class);\r
-        if(ret == null) {\r
-            QueryControl qc = graph.getService(QueryControl.class);\r
-            ret = new StructuralResource2(qc.getIndependentGraph(graph));\r
-            session.registerService(StructuralResource2.class, ret);\r
-        }\r
-        return ret;\r
-    }\r
-    \r
-    public static StructuralResource2 getInstance(RequestProcessor session) throws DatabaseException {\r
-        StructuralResource2 ret = session.peekService(StructuralResource2.class);\r
-        if(ret == null) {\r
-            ret = session.syncRequest(new Read<StructuralResource2>() {\r
-                public StructuralResource2 perform(ReadGraph graph) throws DatabaseException {\r
-                    QueryControl qc = graph.getService(QueryControl.class);\r
-                    return new StructuralResource2(qc.getIndependentGraph(graph));\r
-                }\r
-            });\r
-            session.registerService(StructuralResource2.class, ret);\r
-        }\r
-        return ret;\r
-    }\r
-    \r
-}\r
-\r
+package org.simantics.structural.stubs;
+
+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 StructuralResource2 {
+    
+    public final Resource AbstractDefinedComponentType;
+    public final Resource AllowsConnectionType;
+    public final Resource AllowsConnectionType_Inverse;
+    public final Resource BelongsTo;
+    public final Resource BelongsToInverse;
+    public final Resource Binds;
+    public final Resource CardinalityRestriction;
+    public final Resource Component;
+    public final Resource ComponentGroup;
+    public final Resource ComponentType;
+    public final Resource ComponentTypeScript;
+    public final Resource ComponentTypeScript_code;
+    public final Resource ComponentTypeScript_code_Inverse;
+    public final Resource ComponentTypeScript_type;
+    public final Resource ComponentTypeScript_type_Inverse;
+    public final Resource ComponentType_HasDefaultMonitorValueType;
+    public final Resource ComponentType_HasDefaultPropertyRelationType;
+    public final Resource ComponentType_HasDefaultPropertyValueType;
+    public final Resource ComponentType_Locked;
+    public final Resource ComponentType_hasScript;
+    public final Resource ComponentType_hasScript_Inverse;
+    public final Resource Composite;
+    public final Resource Composite_instantiationFunction;
+    public final Resource Composite_instantiationFunction_Inverse;
+    public final Resource Composite_namingFunction;
+    public final Resource Composite_namingFunction_Inverse;
+    public final Resource Connection;
+    public final Resource ConnectionConstraint;
+    public final Resource ConnectionConstraint_ErrorIssue;
+    public final Resource ConnectionConstraint_Source;
+    public final Resource ConnectionDirection;
+    public final Resource ConnectionJoin;
+    public final Resource ConnectionRelation;
+    public final Resource ConnectionRelation_connectionRequired;
+    public final Resource ConnectionRelation_connectionRequired_Inverse;
+    public final Resource ConnectionRelation_equivalentConnectionPoint;
+    public final Resource ConnectionType;
+    public final Resource ConnectionType_isUserSelectable;
+    public final Resource ConnectionType_isUserSelectable_Inverse;
+    public final Resource Connects;
+    public final Resource DefaultConnectionType;
+    public final Resource DefaultModelingRules;
+    public final Resource DefaultsToConnectionType;
+    public final Resource DefaultsToConnectionType_Inverse;
+    public final Resource DefinedComponentType;
+    public final Resource Defines;
+    public final Resource Functions;
+    public final Resource Functions_computeExpression;
+    public final Resource Functions_connectionExtension;
+    public final Resource Functions_connectionIssueDescription;
+    public final Resource Functions_connectionValidator;
+    public final Resource Functions_connectionValueAccessor;
+    public final Resource Functions_expressionValueAccessor;
+    public final Resource Functions_structuralChildDomainChildren;
+    public final Resource Functions_structuralChildDomainProperties;
+    public final Resource Functions_structuralRunDomainChildren;
+    public final Resource GroupBelongsTo;
+    public final Resource GroupBelongsToInverse;
+    public final Resource GroupSubsumption;
+    public final Resource HasAttachmentRelation;
+    public final Resource HasCardinalityRestriction;
+    public final Resource HasConnectionConstraint;
+    public final Resource HasConnectionDirection;
+    public final Resource HasConnectionJoin;
+    public final Resource HasConnectionType;
+    public final Resource HasExpression;
+    public final Resource HasExpression_Inverse;
+    public final Resource HasJoinClusterSet;
+    public final Resource HasJoinClusterSet_Inverse;
+    public final Resource HasLowerBound;
+    public final Resource HasLowerBound_Inverse;
+    public final Resource HasModelingRules;
+    public final Resource HasSubgroup;
+    public final Resource HasUpperBound;
+    public final Resource HasUpperBound_Inverse;
+    public final Resource InComposite;
+    public final Resource InComposite_Inverse;
+    public final Resource InputDirection;
+    public final Resource InvalidSCLExpressionIssue;
+    public final Resource IsBoundBy;
+    public final Resource IsConnectedTo;
+    public final Resource IsDefinedBy;
+    public final Resource IsIncludedInConnectionType;
+    public final Resource IsIncludedInConnectionType_Inverse;
+    public final Resource IsJoinedBy;
+    public final Resource Joins;
+    public final Resource JoinsComposite;
+    public final Resource ModelingRules;
+    public final Resource MonitorValue;
+    public final Resource MonitorValueType;
+    public final Resource OrderedComposite;
+    public final Resource OutputDirection;
+    public final Resource OverridesConnectionType;
+    public final Resource OverridesConnectionType_Inverse;
+    public final Resource ProceduralComponentType;
+    public final Resource ProceduralComponentTypeCode;
+    public final Resource ProceduralComponentType_code;
+    public final Resource ProceduralComponentType_code_Inverse;
+    public final Resource ProceduralComponentType_environment;
+    public final Resource Property;
+    public final Resource ProvidingConnectionRelation;
+    public final Resource Run;
+    public final Resource SCLValue;
+    public final Resource SimpleModelingRules;
+    public final Resource StandardModelingRules;
+    public final Resource SupportsConnectionType;
+    public final Resource SupportsDirection;
+    public final Resource SynchronizedConnectionRelation;
+    public final Resource SynchronizedRelation;
+    public final Resource UserDefinedProperty;
+    public final Resource input;
+    public final Resource input_Inverse;
+    public final Resource scl;
+    public final Resource sclValue;
+    public final Resource structuralRevision;
+    public final Resource structuralRevision_Inverse;
+    public final Resource synchronizedRevision;
+    public final Resource synchronizedRevision_Inverse;
+        
+    public static class URIs {
+        public static final String AbstractDefinedComponentType = "http://www.simantics.org/Structural-1.2/AbstractDefinedComponentType";
+        public static final String AllowsConnectionType = "http://www.simantics.org/Structural-1.2/AllowsConnectionType";
+        public static final String AllowsConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/AllowsConnectionType/Inverse";
+        public static final String BelongsTo = "http://www.simantics.org/Structural-1.2/BelongsTo";
+        public static final String BelongsToInverse = "http://www.simantics.org/Structural-1.2/BelongsToInverse";
+        public static final String Binds = "http://www.simantics.org/Structural-1.2/Binds";
+        public static final String CardinalityRestriction = "http://www.simantics.org/Structural-1.2/CardinalityRestriction";
+        public static final String Component = "http://www.simantics.org/Structural-1.2/Component";
+        public static final String ComponentGroup = "http://www.simantics.org/Structural-1.2/ComponentGroup";
+        public static final String ComponentType = "http://www.simantics.org/Structural-1.2/ComponentType";
+        public static final String ComponentTypeScript = "http://www.simantics.org/Structural-1.2/ComponentTypeScript";
+        public static final String ComponentTypeScript_code = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/code";
+        public static final String ComponentTypeScript_code_Inverse = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/code/Inverse";
+        public static final String ComponentTypeScript_type = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/type";
+        public static final String ComponentTypeScript_type_Inverse = "http://www.simantics.org/Structural-1.2/ComponentTypeScript/type/Inverse";
+        public static final String ComponentType_HasDefaultMonitorValueType = "http://www.simantics.org/Structural-1.2/ComponentType/HasDefaultMonitorValueType";
+        public static final String ComponentType_HasDefaultPropertyRelationType = "http://www.simantics.org/Structural-1.2/ComponentType/HasDefaultPropertyRelationType";
+        public static final String ComponentType_HasDefaultPropertyValueType = "http://www.simantics.org/Structural-1.2/ComponentType/HasDefaultPropertyValueType";
+        public static final String ComponentType_Locked = "http://www.simantics.org/Structural-1.2/ComponentType/Locked";
+        public static final String ComponentType_hasScript = "http://www.simantics.org/Structural-1.2/ComponentType/hasScript";
+        public static final String ComponentType_hasScript_Inverse = "http://www.simantics.org/Structural-1.2/ComponentType/hasScript/Inverse";
+        public static final String Composite = "http://www.simantics.org/Structural-1.2/Composite";
+        public static final String Composite_instantiationFunction = "http://www.simantics.org/Structural-1.2/Composite/instantiationFunction";
+        public static final String Composite_instantiationFunction_Inverse = "http://www.simantics.org/Structural-1.2/Composite/instantiationFunction/Inverse";
+        public static final String Composite_namingFunction = "http://www.simantics.org/Structural-1.2/Composite/namingFunction";
+        public static final String Composite_namingFunction_Inverse = "http://www.simantics.org/Structural-1.2/Composite/namingFunction/Inverse";
+        public static final String Connection = "http://www.simantics.org/Structural-1.2/Connection";
+        public static final String ConnectionConstraint = "http://www.simantics.org/Structural-1.2/ConnectionConstraint";
+        public static final String ConnectionConstraint_ErrorIssue = "http://www.simantics.org/Structural-1.2/ConnectionConstraint/ErrorIssue";
+        public static final String ConnectionConstraint_Source = "http://www.simantics.org/Structural-1.2/ConnectionConstraint/Source";
+        public static final String ConnectionDirection = "http://www.simantics.org/Structural-1.2/ConnectionDirection";
+        public static final String ConnectionJoin = "http://www.simantics.org/Structural-1.2/ConnectionJoin";
+        public static final String ConnectionRelation = "http://www.simantics.org/Structural-1.2/ConnectionRelation";
+        public static final String ConnectionRelation_connectionRequired = "http://www.simantics.org/Structural-1.2/ConnectionRelation/connectionRequired";
+        public static final String ConnectionRelation_connectionRequired_Inverse = "http://www.simantics.org/Structural-1.2/ConnectionRelation/connectionRequired/Inverse";
+        public static final String ConnectionRelation_equivalentConnectionPoint = "http://www.simantics.org/Structural-1.2/ConnectionRelation/equivalentConnectionPoint";
+        public static final String ConnectionType = "http://www.simantics.org/Structural-1.2/ConnectionType";
+        public static final String ConnectionType_isUserSelectable = "http://www.simantics.org/Structural-1.2/ConnectionType/isUserSelectable";
+        public static final String ConnectionType_isUserSelectable_Inverse = "http://www.simantics.org/Structural-1.2/ConnectionType/isUserSelectable/Inverse";
+        public static final String Connects = "http://www.simantics.org/Structural-1.2/Connects";
+        public static final String DefaultConnectionType = "http://www.simantics.org/Structural-1.2/DefaultConnectionType";
+        public static final String DefaultModelingRules = "http://www.simantics.org/Structural-1.2/DefaultModelingRules";
+        public static final String DefaultsToConnectionType = "http://www.simantics.org/Structural-1.2/DefaultsToConnectionType";
+        public static final String DefaultsToConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/DefaultsToConnectionType/Inverse";
+        public static final String DefinedComponentType = "http://www.simantics.org/Structural-1.2/DefinedComponentType";
+        public static final String Defines = "http://www.simantics.org/Structural-1.2/Defines";
+        public static final String Functions = "http://www.simantics.org/Structural-1.2/Functions";
+        public static final String Functions_computeExpression = "http://www.simantics.org/Structural-1.2/Functions/computeExpression";
+        public static final String Functions_connectionExtension = "http://www.simantics.org/Structural-1.2/Functions/connectionExtension";
+        public static final String Functions_connectionIssueDescription = "http://www.simantics.org/Structural-1.2/Functions/connectionIssueDescription";
+        public static final String Functions_connectionValidator = "http://www.simantics.org/Structural-1.2/Functions/connectionValidator";
+        public static final String Functions_connectionValueAccessor = "http://www.simantics.org/Structural-1.2/Functions/connectionValueAccessor";
+        public static final String Functions_expressionValueAccessor = "http://www.simantics.org/Structural-1.2/Functions/expressionValueAccessor";
+        public static final String Functions_structuralChildDomainChildren = "http://www.simantics.org/Structural-1.2/Functions/structuralChildDomainChildren";
+        public static final String Functions_structuralChildDomainProperties = "http://www.simantics.org/Structural-1.2/Functions/structuralChildDomainProperties";
+        public static final String Functions_structuralRunDomainChildren = "http://www.simantics.org/Structural-1.2/Functions/structuralRunDomainChildren";
+        public static final String GroupBelongsTo = "http://www.simantics.org/Structural-1.2/GroupBelongsTo";
+        public static final String GroupBelongsToInverse = "http://www.simantics.org/Structural-1.2/GroupBelongsToInverse";
+        public static final String GroupSubsumption = "http://www.simantics.org/Structural-1.2/GroupSubsumption";
+        public static final String HasAttachmentRelation = "http://www.simantics.org/Structural-1.2/HasAttachmentRelation";
+        public static final String HasCardinalityRestriction = "http://www.simantics.org/Structural-1.2/HasCardinalityRestriction";
+        public static final String HasConnectionConstraint = "http://www.simantics.org/Structural-1.2/HasConnectionConstraint";
+        public static final String HasConnectionDirection = "http://www.simantics.org/Structural-1.2/HasConnectionDirection";
+        public static final String HasConnectionJoin = "http://www.simantics.org/Structural-1.2/HasConnectionJoin";
+        public static final String HasConnectionType = "http://www.simantics.org/Structural-1.2/HasConnectionType";
+        public static final String HasExpression = "http://www.simantics.org/Structural-1.2/HasExpression";
+        public static final String HasExpression_Inverse = "http://www.simantics.org/Structural-1.2/HasExpression/Inverse";
+        public static final String HasJoinClusterSet = "http://www.simantics.org/Structural-1.2/HasJoinClusterSet";
+        public static final String HasJoinClusterSet_Inverse = "http://www.simantics.org/Structural-1.2/HasJoinClusterSet/Inverse";
+        public static final String HasLowerBound = "http://www.simantics.org/Structural-1.2/HasLowerBound";
+        public static final String HasLowerBound_Inverse = "http://www.simantics.org/Structural-1.2/HasLowerBound/Inverse";
+        public static final String HasModelingRules = "http://www.simantics.org/Structural-1.2/HasModelingRules";
+        public static final String HasSubgroup = "http://www.simantics.org/Structural-1.2/HasSubgroup";
+        public static final String HasUpperBound = "http://www.simantics.org/Structural-1.2/HasUpperBound";
+        public static final String HasUpperBound_Inverse = "http://www.simantics.org/Structural-1.2/HasUpperBound/Inverse";
+        public static final String InComposite = "http://www.simantics.org/Structural-1.2/InComposite";
+        public static final String InComposite_Inverse = "http://www.simantics.org/Structural-1.2/InComposite/Inverse";
+        public static final String InputDirection = "http://www.simantics.org/Structural-1.2/InputDirection";
+        public static final String InvalidSCLExpressionIssue = "http://www.simantics.org/Structural-1.2/InvalidSCLExpressionIssue";
+        public static final String IsBoundBy = "http://www.simantics.org/Structural-1.2/IsBoundBy";
+        public static final String IsConnectedTo = "http://www.simantics.org/Structural-1.2/IsConnectedTo";
+        public static final String IsDefinedBy = "http://www.simantics.org/Structural-1.2/IsDefinedBy";
+        public static final String IsIncludedInConnectionType = "http://www.simantics.org/Structural-1.2/IsIncludedInConnectionType";
+        public static final String IsIncludedInConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/IsIncludedInConnectionType/Inverse";
+        public static final String IsJoinedBy = "http://www.simantics.org/Structural-1.2/IsJoinedBy";
+        public static final String Joins = "http://www.simantics.org/Structural-1.2/Joins";
+        public static final String JoinsComposite = "http://www.simantics.org/Structural-1.2/JoinsComposite";
+        public static final String ModelingRules = "http://www.simantics.org/Structural-1.2/ModelingRules";
+        public static final String MonitorValue = "http://www.simantics.org/Structural-1.2/MonitorValue";
+        public static final String MonitorValueType = "http://www.simantics.org/Structural-1.2/MonitorValueType";
+        public static final String OrderedComposite = "http://www.simantics.org/Structural-1.2/OrderedComposite";
+        public static final String OutputDirection = "http://www.simantics.org/Structural-1.2/OutputDirection";
+        public static final String OverridesConnectionType = "http://www.simantics.org/Structural-1.2/OverridesConnectionType";
+        public static final String OverridesConnectionType_Inverse = "http://www.simantics.org/Structural-1.2/OverridesConnectionType/Inverse";
+        public static final String ProceduralComponentType = "http://www.simantics.org/Structural-1.2/ProceduralComponentType";
+        public static final String ProceduralComponentTypeCode = "http://www.simantics.org/Structural-1.2/ProceduralComponentTypeCode";
+        public static final String ProceduralComponentType_code = "http://www.simantics.org/Structural-1.2/ProceduralComponentType/code";
+        public static final String ProceduralComponentType_code_Inverse = "http://www.simantics.org/Structural-1.2/ProceduralComponentType/code/Inverse";
+        public static final String ProceduralComponentType_environment = "http://www.simantics.org/Structural-1.2/ProceduralComponentType/environment";
+        public static final String Property = "http://www.simantics.org/Structural-1.2/Property";
+        public static final String ProvidingConnectionRelation = "http://www.simantics.org/Structural-1.2/ProvidingConnectionRelation";
+        public static final String Run = "http://www.simantics.org/Structural-1.2/Run";
+        public static final String SCLValue = "http://www.simantics.org/Structural-1.2/SCLValue";
+        public static final String SimpleModelingRules = "http://www.simantics.org/Structural-1.2/SimpleModelingRules";
+        public static final String StandardModelingRules = "http://www.simantics.org/Structural-1.2/StandardModelingRules";
+        public static final String SupportsConnectionType = "http://www.simantics.org/Structural-1.2/SupportsConnectionType";
+        public static final String SupportsDirection = "http://www.simantics.org/Structural-1.2/SupportsDirection";
+        public static final String SynchronizedConnectionRelation = "http://www.simantics.org/Structural-1.2/SynchronizedConnectionRelation";
+        public static final String SynchronizedRelation = "http://www.simantics.org/Structural-1.2/SynchronizedRelation";
+        public static final String UserDefinedProperty = "http://www.simantics.org/Structural-1.2/UserDefinedProperty";
+        public static final String input = "http://www.simantics.org/Structural-1.2/input";
+        public static final String input_Inverse = "http://www.simantics.org/Structural-1.2/input/Inverse";
+        public static final String scl = "http://www.simantics.org/Structural-1.2/scl";
+        public static final String sclValue = "http://www.simantics.org/Structural-1.2/sclValue";
+        public static final String structuralRevision = "http://www.simantics.org/Structural-1.2/structuralRevision";
+        public static final String structuralRevision_Inverse = "http://www.simantics.org/Structural-1.2/structuralRevision/Inverse";
+        public static final String synchronizedRevision = "http://www.simantics.org/Structural-1.2/synchronizedRevision";
+        public static final String synchronizedRevision_Inverse = "http://www.simantics.org/Structural-1.2/synchronizedRevision/Inverse";
+    }
+    
+    public static Resource getResourceOrNull(ReadGraph graph, String uri) {
+        try {
+            return graph.getResource(uri);
+        } catch(DatabaseException e) {
+            System.err.println(e.getMessage());
+            return null;
+        }
+    }
+    
+    public StructuralResource2(ReadGraph graph) {
+        AbstractDefinedComponentType = getResourceOrNull(graph, URIs.AbstractDefinedComponentType);
+        AllowsConnectionType = getResourceOrNull(graph, URIs.AllowsConnectionType);
+        AllowsConnectionType_Inverse = getResourceOrNull(graph, URIs.AllowsConnectionType_Inverse);
+        BelongsTo = getResourceOrNull(graph, URIs.BelongsTo);
+        BelongsToInverse = getResourceOrNull(graph, URIs.BelongsToInverse);
+        Binds = getResourceOrNull(graph, URIs.Binds);
+        CardinalityRestriction = getResourceOrNull(graph, URIs.CardinalityRestriction);
+        Component = getResourceOrNull(graph, URIs.Component);
+        ComponentGroup = getResourceOrNull(graph, URIs.ComponentGroup);
+        ComponentType = getResourceOrNull(graph, URIs.ComponentType);
+        ComponentTypeScript = getResourceOrNull(graph, URIs.ComponentTypeScript);
+        ComponentTypeScript_code = getResourceOrNull(graph, URIs.ComponentTypeScript_code);
+        ComponentTypeScript_code_Inverse = getResourceOrNull(graph, URIs.ComponentTypeScript_code_Inverse);
+        ComponentTypeScript_type = getResourceOrNull(graph, URIs.ComponentTypeScript_type);
+        ComponentTypeScript_type_Inverse = getResourceOrNull(graph, URIs.ComponentTypeScript_type_Inverse);
+        ComponentType_HasDefaultMonitorValueType = getResourceOrNull(graph, URIs.ComponentType_HasDefaultMonitorValueType);
+        ComponentType_HasDefaultPropertyRelationType = getResourceOrNull(graph, URIs.ComponentType_HasDefaultPropertyRelationType);
+        ComponentType_HasDefaultPropertyValueType = getResourceOrNull(graph, URIs.ComponentType_HasDefaultPropertyValueType);
+        ComponentType_Locked = getResourceOrNull(graph, URIs.ComponentType_Locked);
+        ComponentType_hasScript = getResourceOrNull(graph, URIs.ComponentType_hasScript);
+        ComponentType_hasScript_Inverse = getResourceOrNull(graph, URIs.ComponentType_hasScript_Inverse);
+        Composite = getResourceOrNull(graph, URIs.Composite);
+        Composite_instantiationFunction = getResourceOrNull(graph, URIs.Composite_instantiationFunction);
+        Composite_instantiationFunction_Inverse = getResourceOrNull(graph, URIs.Composite_instantiationFunction_Inverse);
+        Composite_namingFunction = getResourceOrNull(graph, URIs.Composite_namingFunction);
+        Composite_namingFunction_Inverse = getResourceOrNull(graph, URIs.Composite_namingFunction_Inverse);
+        Connection = getResourceOrNull(graph, URIs.Connection);
+        ConnectionConstraint = getResourceOrNull(graph, URIs.ConnectionConstraint);
+        ConnectionConstraint_ErrorIssue = getResourceOrNull(graph, URIs.ConnectionConstraint_ErrorIssue);
+        ConnectionConstraint_Source = getResourceOrNull(graph, URIs.ConnectionConstraint_Source);
+        ConnectionDirection = getResourceOrNull(graph, URIs.ConnectionDirection);
+        ConnectionJoin = getResourceOrNull(graph, URIs.ConnectionJoin);
+        ConnectionRelation = getResourceOrNull(graph, URIs.ConnectionRelation);
+        ConnectionRelation_connectionRequired = getResourceOrNull(graph, URIs.ConnectionRelation_connectionRequired);
+        ConnectionRelation_connectionRequired_Inverse = getResourceOrNull(graph, URIs.ConnectionRelation_connectionRequired_Inverse);
+        ConnectionRelation_equivalentConnectionPoint = getResourceOrNull(graph, URIs.ConnectionRelation_equivalentConnectionPoint);
+        ConnectionType = getResourceOrNull(graph, URIs.ConnectionType);
+        ConnectionType_isUserSelectable = getResourceOrNull(graph, URIs.ConnectionType_isUserSelectable);
+        ConnectionType_isUserSelectable_Inverse = getResourceOrNull(graph, URIs.ConnectionType_isUserSelectable_Inverse);
+        Connects = getResourceOrNull(graph, URIs.Connects);
+        DefaultConnectionType = getResourceOrNull(graph, URIs.DefaultConnectionType);
+        DefaultModelingRules = getResourceOrNull(graph, URIs.DefaultModelingRules);
+        DefaultsToConnectionType = getResourceOrNull(graph, URIs.DefaultsToConnectionType);
+        DefaultsToConnectionType_Inverse = getResourceOrNull(graph, URIs.DefaultsToConnectionType_Inverse);
+        DefinedComponentType = getResourceOrNull(graph, URIs.DefinedComponentType);
+        Defines = getResourceOrNull(graph, URIs.Defines);
+        Functions = getResourceOrNull(graph, URIs.Functions);
+        Functions_computeExpression = getResourceOrNull(graph, URIs.Functions_computeExpression);
+        Functions_connectionExtension = getResourceOrNull(graph, URIs.Functions_connectionExtension);
+        Functions_connectionIssueDescription = getResourceOrNull(graph, URIs.Functions_connectionIssueDescription);
+        Functions_connectionValidator = getResourceOrNull(graph, URIs.Functions_connectionValidator);
+        Functions_connectionValueAccessor = getResourceOrNull(graph, URIs.Functions_connectionValueAccessor);
+        Functions_expressionValueAccessor = getResourceOrNull(graph, URIs.Functions_expressionValueAccessor);
+        Functions_structuralChildDomainChildren = getResourceOrNull(graph, URIs.Functions_structuralChildDomainChildren);
+        Functions_structuralChildDomainProperties = getResourceOrNull(graph, URIs.Functions_structuralChildDomainProperties);
+        Functions_structuralRunDomainChildren = getResourceOrNull(graph, URIs.Functions_structuralRunDomainChildren);
+        GroupBelongsTo = getResourceOrNull(graph, URIs.GroupBelongsTo);
+        GroupBelongsToInverse = getResourceOrNull(graph, URIs.GroupBelongsToInverse);
+        GroupSubsumption = getResourceOrNull(graph, URIs.GroupSubsumption);
+        HasAttachmentRelation = getResourceOrNull(graph, URIs.HasAttachmentRelation);
+        HasCardinalityRestriction = getResourceOrNull(graph, URIs.HasCardinalityRestriction);
+        HasConnectionConstraint = getResourceOrNull(graph, URIs.HasConnectionConstraint);
+        HasConnectionDirection = getResourceOrNull(graph, URIs.HasConnectionDirection);
+        HasConnectionJoin = getResourceOrNull(graph, URIs.HasConnectionJoin);
+        HasConnectionType = getResourceOrNull(graph, URIs.HasConnectionType);
+        HasExpression = getResourceOrNull(graph, URIs.HasExpression);
+        HasExpression_Inverse = getResourceOrNull(graph, URIs.HasExpression_Inverse);
+        HasJoinClusterSet = getResourceOrNull(graph, URIs.HasJoinClusterSet);
+        HasJoinClusterSet_Inverse = getResourceOrNull(graph, URIs.HasJoinClusterSet_Inverse);
+        HasLowerBound = getResourceOrNull(graph, URIs.HasLowerBound);
+        HasLowerBound_Inverse = getResourceOrNull(graph, URIs.HasLowerBound_Inverse);
+        HasModelingRules = getResourceOrNull(graph, URIs.HasModelingRules);
+        HasSubgroup = getResourceOrNull(graph, URIs.HasSubgroup);
+        HasUpperBound = getResourceOrNull(graph, URIs.HasUpperBound);
+        HasUpperBound_Inverse = getResourceOrNull(graph, URIs.HasUpperBound_Inverse);
+        InComposite = getResourceOrNull(graph, URIs.InComposite);
+        InComposite_Inverse = getResourceOrNull(graph, URIs.InComposite_Inverse);
+        InputDirection = getResourceOrNull(graph, URIs.InputDirection);
+        InvalidSCLExpressionIssue = getResourceOrNull(graph, URIs.InvalidSCLExpressionIssue);
+        IsBoundBy = getResourceOrNull(graph, URIs.IsBoundBy);
+        IsConnectedTo = getResourceOrNull(graph, URIs.IsConnectedTo);
+        IsDefinedBy = getResourceOrNull(graph, URIs.IsDefinedBy);
+        IsIncludedInConnectionType = getResourceOrNull(graph, URIs.IsIncludedInConnectionType);
+        IsIncludedInConnectionType_Inverse = getResourceOrNull(graph, URIs.IsIncludedInConnectionType_Inverse);
+        IsJoinedBy = getResourceOrNull(graph, URIs.IsJoinedBy);
+        Joins = getResourceOrNull(graph, URIs.Joins);
+        JoinsComposite = getResourceOrNull(graph, URIs.JoinsComposite);
+        ModelingRules = getResourceOrNull(graph, URIs.ModelingRules);
+        MonitorValue = getResourceOrNull(graph, URIs.MonitorValue);
+        MonitorValueType = getResourceOrNull(graph, URIs.MonitorValueType);
+        OrderedComposite = getResourceOrNull(graph, URIs.OrderedComposite);
+        OutputDirection = getResourceOrNull(graph, URIs.OutputDirection);
+        OverridesConnectionType = getResourceOrNull(graph, URIs.OverridesConnectionType);
+        OverridesConnectionType_Inverse = getResourceOrNull(graph, URIs.OverridesConnectionType_Inverse);
+        ProceduralComponentType = getResourceOrNull(graph, URIs.ProceduralComponentType);
+        ProceduralComponentTypeCode = getResourceOrNull(graph, URIs.ProceduralComponentTypeCode);
+        ProceduralComponentType_code = getResourceOrNull(graph, URIs.ProceduralComponentType_code);
+        ProceduralComponentType_code_Inverse = getResourceOrNull(graph, URIs.ProceduralComponentType_code_Inverse);
+        ProceduralComponentType_environment = getResourceOrNull(graph, URIs.ProceduralComponentType_environment);
+        Property = getResourceOrNull(graph, URIs.Property);
+        ProvidingConnectionRelation = getResourceOrNull(graph, URIs.ProvidingConnectionRelation);
+        Run = getResourceOrNull(graph, URIs.Run);
+        SCLValue = getResourceOrNull(graph, URIs.SCLValue);
+        SimpleModelingRules = getResourceOrNull(graph, URIs.SimpleModelingRules);
+        StandardModelingRules = getResourceOrNull(graph, URIs.StandardModelingRules);
+        SupportsConnectionType = getResourceOrNull(graph, URIs.SupportsConnectionType);
+        SupportsDirection = getResourceOrNull(graph, URIs.SupportsDirection);
+        SynchronizedConnectionRelation = getResourceOrNull(graph, URIs.SynchronizedConnectionRelation);
+        SynchronizedRelation = getResourceOrNull(graph, URIs.SynchronizedRelation);
+        UserDefinedProperty = getResourceOrNull(graph, URIs.UserDefinedProperty);
+        input = getResourceOrNull(graph, URIs.input);
+        input_Inverse = getResourceOrNull(graph, URIs.input_Inverse);
+        scl = getResourceOrNull(graph, URIs.scl);
+        sclValue = getResourceOrNull(graph, URIs.sclValue);
+        structuralRevision = getResourceOrNull(graph, URIs.structuralRevision);
+        structuralRevision_Inverse = getResourceOrNull(graph, URIs.structuralRevision_Inverse);
+        synchronizedRevision = getResourceOrNull(graph, URIs.synchronizedRevision);
+        synchronizedRevision_Inverse = getResourceOrNull(graph, URIs.synchronizedRevision_Inverse);
+    }
+    
+    public static StructuralResource2 getInstance(ReadGraph graph) {
+        Session session = graph.getSession();
+        StructuralResource2 ret = session.peekService(StructuralResource2.class);
+        if(ret == null) {
+            QueryControl qc = graph.getService(QueryControl.class);
+            ret = new StructuralResource2(qc.getIndependentGraph(graph));
+            session.registerService(StructuralResource2.class, ret);
+        }
+        return ret;
+    }
+    
+    public static StructuralResource2 getInstance(RequestProcessor session) throws DatabaseException {
+        StructuralResource2 ret = session.peekService(StructuralResource2.class);
+        if(ret == null) {
+            ret = session.syncRequest(new Read<StructuralResource2>() {
+                public StructuralResource2 perform(ReadGraph graph) throws DatabaseException {
+                    QueryControl qc = graph.getService(QueryControl.class);
+                    return new StructuralResource2(qc.getIndependentGraph(graph));
+                }
+            });
+            session.registerService(StructuralResource2.class, ret);
+        }
+        return ret;
+    }
+    
+}
+