From f8261b417268f1fc4cf068492db8ba000b1993c7 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 16 Dec 2014 15:29:52 +0200 Subject: textanalysis: fix compareSubset 1. make sure compareSubset links array is pairs of strings (source,dest). 2. factor out the link addition - we recreate all links anyway right now, and the special case for small name change was wrong anyway (used {__src,__dst}.name instead of __src,__dst) --- src/textanalysis.js | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) (limited to 'src/textanalysis.js') diff --git a/src/textanalysis.js b/src/textanalysis.js index 71621b95..830c16c1 100644 --- a/src/textanalysis.js +++ b/src/textanalysis.js @@ -392,22 +392,17 @@ var textAnalyser = function (newtext, finalize) { var n_set = ret.node_set_add.filter(function(node) { return false == graph.hasNodeByNameAndNotState(node.name, "temp") && node.type !== 'bubble'; - }); - - var comp = graph.compareSubset('temp', n_set, ret.link_set_add); + }), + link_set = ret.link_set_add.map( + function (link) { + return [link.__src, link.__dst]; + }), + comp = graph.compareSubset('temp', n_set, link_set); if (false == finalize && comp.graph_same) { if (comp.old_name && comp.new_name) { up_to_two_renames(graph, comp.old_name, comp.new_name); } - - ret.for_each_link_add(function (link) { - apply_conjugator_link_logic(link, ret.drop_conjugator_links); - graph.addLinkByName(link.__src.name, - link.__dst.name, - link.name, - link.state); - }); } else { // REINITIALISE GRAPH (DUMB BUT IT WORKS) graph.removeNodes(function(n){ return "temp" == n.state; }); @@ -424,17 +419,16 @@ var textAnalyser = function (newtext, finalize) { } } }); - - ret.for_each_link_add(function (link) { - if (false == finalize || link.name !== 'and') { - apply_conjugator_link_logic(link, ret.drop_conjugator_links); - graph.addLinkByName(link.__src, - link.__dst, - link.name, - link.state); - } - }); } + ret.for_each_link_add(function (link) { + if (false == finalize || link.name !== 'and') { + apply_conjugator_link_logic(link, ret.drop_conjugator_links); + graph.addLinkByName(link.__src, + link.__dst, + link.name, + link.state); + } + }); if (!finalize) { graph.markRelated(token_set_new_node_names); -- cgit v1.3.1