]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.objmap2/src/org/simantics/objmap/structural/schema/SimpleLinkType.java
Java object to ordered set mapping
[simantics/3d.git] / org.simantics.objmap2 / src / org / simantics / objmap / structural / schema / SimpleLinkType.java
index eb9d57c4c498f88eaa32807c62e56e10b7ca2475..7ad6b6d072060c1b8b93ef7e28265f537e961eaa 100644 (file)
@@ -69,15 +69,13 @@ public class SimpleLinkType implements ILinkType<StructuralResource,IStructuralO
                 );\r
             if (rangeElement.getContext().size() == 0) {\r
                // there is no context, this not a structural resource / object.\r
-               Resource result = g.newResource();\r
-               g.claim(result, Layer0.getInstance(g).InstanceOf, null, domainType);\r
+               Resource result = newResource(g, domainType);\r
                return new StructuralResource(g,result);\r
             } else {\r
                if (rangeElement.getContext().size() == 1 && rangeElement.getContext().get(0).equals(rangeElement)) {\r
                        // Structural object's context is itself, we are instantiating a new structural model.\r
                        Resource type = rangeElement.getType();\r
-                       Resource result = g.newResource();\r
-                       g.claim(result, Layer0.getInstance(g).InstanceOf, null, type);\r
+                       Resource result = newResource(g, type);\r
                        return new StructuralResource(g,result,result);\r
                } else {\r
                        // Structural object's context is not itself, which means that the object is inside of a structural model.\r
@@ -89,6 +87,12 @@ public class SimpleLinkType implements ILinkType<StructuralResource,IStructuralO
             throw new MappingException(e);\r
         }\r
     }\r
+    \r
+    protected Resource newResource(WriteGraph g, Resource type) throws DatabaseException {\r
+       Resource result = g.newResource();\r
+       g.claim(result, Layer0.getInstance(g).InstanceOf, null, type);\r
+       return result;\r
+    }\r
     @Override\r
     public IStructuralObject createRangeElement(ReadGraph g, StructuralResource domainElement)\r
             throws MappingException {\r