|
@@ -468,6 +468,33 @@ class NodeController {
|
|
|
upperNode.getNodes().remove(object);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * Replaces {@code toBePlaced} by {@code by} in {@code upperNode}
|
|
|
+ * @param toBeReplaced
|
|
|
+ * @param by
|
|
|
+ * @param upperNode
|
|
|
+ */
|
|
|
+ public void replaceObjectInUpperNode(AbstractCpsObject toBeReplaced,
|
|
|
+ AbstractCpsObject by, CpsUpperNode upperNode) {
|
|
|
+
|
|
|
+ for(CpsEdge e: toBeReplaced.getConnections()){
|
|
|
+ if(e.getA() == toBeReplaced){
|
|
|
+ e.setA(by);
|
|
|
+ }else if(e.getB() == toBeReplaced){
|
|
|
+ e.setB(by);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if(e.getA() == e.getB())
|
|
|
+ deleteEdge(e, upperNode);
|
|
|
+ else
|
|
|
+ by.addConnection(e);
|
|
|
+ }
|
|
|
+
|
|
|
+ toBeReplaced.setConnections(new ArrayList<CpsEdge>(1));
|
|
|
+ deleteObjectInUpperNode(toBeReplaced, upperNode);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
* Add Edge in UpperNode
|
|
|
*/
|
|
@@ -527,5 +554,4 @@ class NodeController {
|
|
|
temp.setPosition(new Position(x, y));
|
|
|
|
|
|
}
|
|
|
-
|
|
|
}
|