summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2014-10-12 23:43:43 +0300
committerAlon Levy <alon@pobox.com>2014-10-12 23:47:55 +0300
commit64bb111592675a5f2d48ca141ab3ba813d740dd4 (patch)
tree887777e2461d39d2e94a0fd553240c53757df024
parent0911cf3f355fcd6d96fe6dbe2248ef4ee150e825 (diff)
Fixes #85 - compare using lower case
The whole lower case thing is a hack. We should separete id and name. But right now it seems to be holding.
-rw-r--r--scripts/rhizicore.js22
-rw-r--r--scripts/textanalysis.js23
2 files changed, 29 insertions, 16 deletions
diff --git a/scripts/rhizicore.js b/scripts/rhizicore.js
index 74ae2869..86a560a9 100644
--- a/scripts/rhizicore.js
+++ b/scripts/rhizicore.js
@@ -210,7 +210,18 @@ function myGraph(el) {
var changed_nodes;
var verbose = false; // XXX should be global. should have only one global. sigh.
var set_old_id, set_new_id;
+ var new_id_to_name = {};
+ new_nodes.map(function (f) {
+ if (!f.name) {
+ f.name = f.id;
+ }
+ f.id = f.id.toLowerCase();
+ new_id_to_name[f.id] = f.name;
+ if (verbose) {
+ console.log('new_id_to_name ' + f.id + ' -> ' + new_id_to_name[f.id]);
+ }
+ });
new_nodes.sort();
new_links.sort();
if (new_nodes.length != state_nodes.length || new_links.length != state_links.length) {
@@ -219,12 +230,12 @@ function myGraph(el) {
}
return {graph_same: false};
}
- changed_nodes = set_diff(set_from_array(state_nodes.map(function(d) { return d.id; })),
- set_from_array(new_nodes));
+ changed_nodes = set_diff(set_from_array(state_nodes.map(function(d) { return d.id.toLowerCase(); })),
+ set_from_array(new_nodes.map(function (f) { return f.id.toLowerCase(); })));
// we allow any number of changed nodes as long as we it is 1 or 2 :)
if (changed_nodes.a_b.length <= 2) {
- set_old_id = set_from_array(changed_nodes.a_b.map(function (f) { return f.toLowerCase(); }));
- set_new_id = set_from_array(changed_nodes.b_a.map(function (f) { return f.toLowerCase(); }));
+ set_old_id = set_from_array(changed_nodes.a_b);
+ set_new_id = set_from_array(changed_nodes.b_a);
} else {
if (verbose) {
console.log('changed too many nodes');
@@ -252,7 +263,8 @@ function myGraph(el) {
return {graph_same: false};
}
}
- return {graph_same: true, old_id: changed_nodes.a_b, new_id: changed_nodes.b_a};
+ return {graph_same: true, old_id: changed_nodes.a_b, new_id: changed_nodes.b_a,
+ new_name: changed_nodes.b_a.map(function (k) { return new_id_to_name[k]; })};
}
this.addLink = function(sourceId, targetId, name, state, drop_conjugator_links) {
diff --git a/scripts/textanalysis.js b/scripts/textanalysis.js
index edd2a0d7..0b9318b7 100644
--- a/scripts/textanalysis.js
+++ b/scripts/textanalysis.js
@@ -369,20 +369,21 @@ var textAnalyser2 = function (newtext, finalize) {
ret.applyToGraph = function(graph) {
window.ret = ret;
- var comp = graph.compareSubset('temp', ret.nodes.filter(
- function(node) {
- return !graph.hasNode(node.id, "perm");
- }).map(function (node) {
- return node.id;
- }), ret.links.map(
- function (link) {
- return [link.sourceId.toLowerCase(), link.targetId.toLowerCase()];
- }
- ));
+ var comp = graph.compareSubset('temp',
+ ret.nodes.filter(
+ function(node) {
+ return !graph.hasNode(node.id, "perm");
+ }).map(function (node) {
+ return {id: node.id, name: node.name};
+ }),
+ ret.links.map(
+ function (link) {
+ return [link.sourceId.toLowerCase(), link.targetId.toLowerCase()];
+ }));
var k, n, l;
if (comp.graph_same && !finalize) {
if (comp.old_id && comp.new_id) {
- up_to_two_renames(graph, comp.old_id, comp.new_id);
+ up_to_two_renames(graph, comp.old_id, comp.new_name);
}
for (k in ret.links) {
l = ret.links[k];