From 047ca46b3c2ac95bb34227106b40b8b1d1a0bee0 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 23 Dec 2014 16:47:32 +0200 Subject: client: don't send temp nodes/link topo_diffs to server --- src/client/model/graph.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/client') diff --git a/src/client/model/graph.js b/src/client/model/graph.js index 301e1b80..9d178636 100644 --- a/src/client/model/graph.js +++ b/src/client/model/graph.js @@ -36,7 +36,7 @@ function Graph() { node; notify = undefined === notify ? true : notify; - peer_notify = undefined === peer_notify ? true : peer_notify; + peer_notify = undefined === peer_notify ? spec.state != 'temp' : peer_notify; if (undefined == spec.id) { existing_node = findNodeByName(spec.name) @@ -65,7 +65,8 @@ function Graph() { util.assert(undefined != node.id, '__addNode: node id missing'); nodes.push(node); id_to_node_map[node.id] = node; - console.log('__addNode: node added: id: ' + node.id); + console.log('__addNode: node added: id: ' + node.id + ' state ' + node.state + + (rz_config.backend_enabled && peer_notify ? ' _commit_ ' : '')); if (rz_config.backend_enabled && peer_notify){ var topo_diff = model_diff.new_topo_diff({ @@ -94,10 +95,14 @@ function Graph() { peer_notify = undefined === peer_notify ? true : peer_notify; - var cascade_link_rm_set = []; // track cascading link removals + var cascade_link_rm_set = [], // track cascading link removals + has_non_temp = false; for (var j = 0; j < ns.length; j++) { var n = ns[j]; var i = 0; + if (n.state != 'temp') { + has_non_temp = true; + } while (i < links.length) { var link = links[i]; if ((link['__src'].equals(n)) || (link['__dst'].equals(n))) { // compare by id @@ -121,7 +126,7 @@ function Graph() { console.log('_remove_node_set: removed node: id: ' + n.id); }); - if (rz_config.backend_enabled && peer_notify){ + if (rz_config.backend_enabled && peer_notify && has_non_temp) { var topo_diff = model_diff.new_topo_diff({ node_set_rm : ns.map(function(n){ return n.id; }), link_set_rm : cascade_link_rm_set.map(function(l){ return l.id; }), @@ -332,7 +337,7 @@ function Graph() { util.assert(link instanceof model_core.Link); - peer_notify = undefined === peer_notify ? true : peer_notify; + peer_notify = undefined === peer_notify ? link.state != 'temp' : peer_notify; if (link.name.length != trimmed_name.length) { console.log('bug: addLink with name containing spaces - removing before sending to server'); -- cgit v1.3.1