in graphLayout/jetbrains.mps.graphLayout.graph/source_gen/jetbrains/mps/graphLayout/graph/GroupedGraphModificationSynchronizer.java [26:83]
public void process(GraphModificationEvent event) {
switch (event.getType()) {
case NODE_CREATED:
Node addedNode = event.getNode();
Node syncNode;
if (addedNode.isDummy()) {
syncNode = mySynchronizedGraph.createDummyNode();
} else {
syncNode = mySynchronizedGraph.createNode();
}
MapSequence.fromMap(myNodeMap).put(addedNode, syncNode);
break;
case NODE_DETETED:
Node deletedNode = event.getNode();
if (MapSequence.fromMap(myNodeMap).containsKey(deletedNode)) {
mySynchronizedGraph.deleteNode(MapSequence.fromMap(myNodeMap).get(deletedNode));
}
break;
case EDGE_ADDED:
Edge addedEdge = event.getEdge();
Node source = addedEdge.getSource();
Node target = addedEdge.getTarget();
if (MapSequence.fromMap(myEdgeMap).containsKey(addedEdge)) {
mySynchronizedGraph.addEdge(MapSequence.fromMap(myEdgeMap).get(addedEdge));
} else if (MapSequence.fromMap(myNodeMap).containsKey(source) && MapSequence.fromMap(myNodeMap).containsKey(target)) {
Node syncSource = MapSequence.fromMap(myNodeMap).get(source);
Node syncTarget = MapSequence.fromMap(myNodeMap).get(target);
Edge edge = mySynchronizedGraph.connect(syncSource, syncTarget);
MapSequence.fromMap(myEdgeMap).put(addedEdge, edge);
if (showInfo > 0) {
System.out.println("added " + addedEdge + " sync = " + edge);
}
}
break;
case EDGE_REMOVED:
Edge removedEdge = event.getEdge();
if (showInfo > 0) {
System.out.println("removed " + removedEdge + " sync = ");
}
if (MapSequence.fromMap(myEdgeMap).containsKey(removedEdge)) {
mySynchronizedGraph.removeEdge(MapSequence.fromMap(myEdgeMap).get(removedEdge));
if (showInfo > 0) {
System.out.println(MapSequence.fromMap(myEdgeMap).get(removedEdge));
}
}
break;
case EDGE_REVERTED:
Edge revertedEdge = event.getEdge();
if (MapSequence.fromMap(myEdgeMap).containsKey(revertedEdge)) {
mySynchronizedGraph.revertEdge(MapSequence.fromMap(myEdgeMap).get(revertedEdge));
}
break;
case EDGE_SPLITTED:
this.processSplitEvent(event);
break;
default:
}
}