]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.interop.diagram/src/org/simantics/interop/diagram/Symbol.java
Fixed connection creation
[simantics/interop.git] / org.simantics.interop.diagram / src / org / simantics / interop / diagram / Symbol.java
index 22160aa916d422684cabaea578aa55959296d687..c52bfa451df4b5dd869718c2538b213e4372f0ab 100644 (file)
@@ -207,21 +207,26 @@ public abstract class Symbol {
                
                // Relation from element1 to connector1
                Resource isConnected1 = getDiagramConnectionRelation(g, element, componentConRel1);
-               
+               Resource connectorRel1 = g.getPossibleObject(componentConRel1, s.HasAttachmentRelation);
+               if (connectorRel1 == null)
+                       connectorRel1 = d.HasPlainConnector;
+                               
                // connector1
                Resource connector1 = g.newResource();
                g.claim(connector1, b.InstanceOf, d.Connector);
                g.claim(element, isConnected1, connector1);
-               g.claim(diagramConnection, d.HasPlainConnector, connector1);
+               g.claim(diagramConnection, connectorRel1, connector1);
                
                // Relation from element2 to connector2
                Resource isConnected2 = getDiagramConnectionRelation(g, symbolConf2.element, componentConRel2);
-               
+               Resource connectorRel2 = g.getPossibleObject(componentConRel2, s.HasAttachmentRelation);
+               if (connectorRel2 == null)
+                       connectorRel2 = d.HasArrowConnector;
                // connector2
                Resource connector2 = g.newResource();
                g.claim(connector2, b.InstanceOf, d.Connector);
                g.claim(symbolConf2.element, isConnected2, connector2);
-               g.claim(diagramConnection, d.HasArrowConnector, connector2);
+               g.claim(diagramConnection, connectorRel2, connector2);
                
                // connect connectors
                g.claim(connector1, d.AreConnected, connector2);