]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network/src/org/simantics/district/network/DistrictNetworkUtil.java
Additions to district features
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / DistrictNetworkUtil.java
index 9f6f46fa6de2efc150e4b962e0d62e265c25e321..165e6e96327dd1e655e09bb0997fa024fb2a4b9a 100644 (file)
@@ -20,16 +20,22 @@ import org.simantics.operation.Layer0X;
 public class DistrictNetworkUtil {
 
     public static Resource createEdge(WriteGraph graph, Resource composite) throws DatabaseException {
+        return createEdge(graph, composite, graph.getPossibleObject(composite, DistrictNetworkResource.getInstance(graph).EdgeDefaultMapping));
+    }
+    
+    public static Resource createEdge(WriteGraph graph, Resource composite, Resource mapping) throws DatabaseException {
         Layer0 L0 = Layer0.getInstance(graph);
         DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
+        if (mapping == null) {
+            mapping = graph.getSingleObject(composite, DN.EdgeDefaultMapping);
+        }
         
         Resource edge = graph.newResource();
         graph.claim(edge, L0.InstanceOf, DN.Edge);
         
-        Resource defaultEdgeMapping = graph.getPossibleObject(composite, DN.EdgeDefaultMapping);
-        graph.claim(edge, DN.HasMapping, defaultEdgeMapping);
+        graph.claim(edge, DN.HasMapping, mapping);
         
-        OrderedSetUtils.add(graph, composite, edge);
+        OrderedSetUtils.addFirst(graph, composite, edge);
         graph.claim(composite, L0.ConsistsOf, L0.PartOf, edge);
         
         claimFreshElementName(graph, composite, edge);