public void arcCreated(Object nodeId, Object targetNodeId, Object arcId) { if (targetNodeId != null) { List<NodeDiff> diffs = diffsByNode.get(nodeId); if (diffs != null) { for (int i = diffs.size() - 1; i >= 0; i--) { NodeDiff diff = diffs.get(i); if (diff instanceof ArcDeleteOperation) { ArcDeleteOperation arcDiff = (ArcDeleteOperation) diff; if (arcId.equals(arcDiff.getArcId()) && targetNodeId.equals(arcDiff.targetNodeId)) { diffs.remove(i); compressed.remove(arcDiff); return; } } } } } registerDiff(new ArcCreateOperation(nodeId, targetNodeId, arcId)); }
public void arcDeleted(Object nodeId, Object targetNodeId, Object arcId) { if (targetNodeId != null) { List<NodeDiff> diffs = diffsByNode.get(nodeId); if (diffs != null) { for (int i = diffs.size() - 1; i >= 0; i--) { NodeDiff diff = diffs.get(i); if (diff instanceof ArcCreateOperation) { ArcCreateOperation arcDiff = (ArcCreateOperation) diff; if (arcId.equals(arcDiff.getArcId()) && targetNodeId.equals(arcDiff.targetNodeId)) { diffs.remove(i); compressed.remove(arcDiff); return; } } } } } registerDiff(new ArcDeleteOperation(nodeId, targetNodeId, arcId)); }
public void nodeRemoved(Object nodeId) { registerDiff(new NodeDeleteOperation(nodeId)); if (deletedNodes == null) { deletedNodes = new HashSet<Object>(); } deletedNodes.add(nodeId); }
public void nodePropertyChanged( Object nodeId, String property, Object oldValue, Object newValue) { List<NodeDiff> diffs = diffsByNode.get(nodeId); if (diffs != null) { for (int i = diffs.size() - 1; i >= 0; i--) { NodeDiff diff = diffs.get(i); if (diff instanceof NodePropertyChangeOperation) { NodePropertyChangeOperation propertyDiff = (NodePropertyChangeOperation) diff; if (property.equals(propertyDiff.getProperty())) { propertyDiff.setNewValue(newValue); return; } } } } registerDiff(new NodePropertyChangeOperation( nodeId, property, oldValue, newValue)); }
public void nodeIdChanged(Object nodeId, Object newId) { registerDiff(new NodeIdChangeOperation(nodeId, newId)); }
public void nodeCreated(Object nodeId) { registerDiff(new NodeCreateOperation(nodeId)); if (createdNodes == null) { createdNodes = new HashSet<Object>(); } createdNodes.add(nodeId); }