r9977 - apps/gobi/trunk/code/Global
[email protected] Wed, 30 Sep 2009 11:13:10 +0200 (CEST)
| Newsgroups | gmane.comp.java.helma.cvs |
|---|---|
| Message-ID | <20090930091310.88CBF3D0E2@mia> |
Author: hannes
Date: 2009-09-30 11:13:10 +0200 (Wed, 30 Sep 2009)
New Revision: 9977
Modified:
apps/gobi/trunk/code/Global/Diff.js
Log:
Reformat to consistent 4 space indentation
Details at http://dev.helma.org/trac/helma/changeset/9977
Modified: apps/gobi/trunk/code/Global/Diff.js
===================================================================
--- apps/gobi/trunk/code/Global/Diff.js 2009-09-30 09:06:46 UTC (rev 9976)
+++ apps/gobi/trunk/code/Global/Diff.js 2009-09-30 09:13:10 UTC (rev 9977)
@@ -25,169 +25,168 @@
* Render the diff between two versions of a page. This utilizes the Gnu diff
* class that is part of the Helma package.
*/
-function diff (version0, version1, form0, form1) {
+function diff(version0, version1, form0, form1) {
- formDiff(form0, form1)
+ formDiff(form0, form1)
- var removed = DIFF_STYLE_REMOVED;
- var added = DIFF_STYLE_ADDED;
+ var removed = DIFF_STYLE_REMOVED;
+ var added = DIFF_STYLE_ADDED;
- // get the diff.
- var diff = getDiffs(version0, version1);
+ // get the diff.
+ var diff = getDiffs(version0, version1);
- if (diff) {
- res.write("<div class='diffbody'>");
+ if (diff) {
+ res.write("<div class='diffbody'>");
- for (var i in diff) {
- var line = diff[i];
- if (line.deleted && line.inserted) {
-
- var length = Math.min(line.deleted.length, line.inserted.length);
- for (var j = 0; j < length; j++) {
- var linediff = getDiffs(line.deleted[j], line.inserted[j], "[\\s\\.,=\"']"); // "[\\s<>=\"']");
-
- for (var k in linediff) {
- var word = linediff[k];
- if (word.deleted) {
- res.write(removed);
- res.push();
- for (var l = 0; l < word.deleted.length; l++) {
- res.write(word.deleted[l]);
- }
- res.write(diffEncode(res.pop()));
- res.write("</span>");
- }
- if (word.inserted) {
- // if (word.deleted)
- // res.write(" ");
- res.write(added);
- res.push();
- for (var l = 0; l < word.inserted.length; l++) {
- res.write(word.inserted[l]);
- }
- res.write(diffEncode(res.pop()));
- res.write("</span>");
- }
- if (word.value) {
- res.write(diffEncode(word.value));
- }
- }
- res.writeln("<br />");
+ for (var i in diff) {
+ var line = diff[i];
+ if (line.deleted && line.inserted) {
+
+ var length = Math.min(line.deleted.length, line.inserted.length);
+ for (var j = 0; j < length; j++) {
+ var linediff = getDiffs(line.deleted[j], line.inserted[j], "[\\s\\.,=\"']"); // "[\\s<>=\"']");
+
+ for (var k in linediff) {
+ var word = linediff[k];
+ if (word.deleted) {
+ res.write(removed);
+ res.push();
+ for (var l = 0; l < word.deleted.length; l++) {
+ res.write(word.deleted[l]);
+ }
+ res.write(diffEncode(res.pop()));
+ res.write("</span>");
+ }
+ if (word.inserted) {
+ // if (word.deleted)
+ // res.write(" ");
+ res.write(added);
+ res.push();
+ for (var l = 0; l < word.inserted.length; l++) {
+ res.write(word.inserted[l]);
+ }
+ res.write(diffEncode(res.pop()));
+ res.write("</span>");
+ }
+ if (word.value) {
+ res.write(diffEncode(word.value));
+ }
+ }
+ res.writeln("<br />");
+ }
+ // write out remaining lines
+ if (line.deleted) {
+ for (var j = length; j < line.deleted.length; j++)
+ res.writeln(removed + diffEncode(line.deleted[j]) + "</span><br />");
+ }
+ if (line.inserted) {
+ for (var j = length; j < line.inserted.length; j++)
+ res.writeln(added + diffEncode(line.inserted[j]) + "</span><br />");
+ }
+ } else if (line.deleted) {
+ for (var j = 0; j < line.deleted.length; j++)
+ res.writeln(removed + diffEncode(line.deleted[j]) + "</span><br />");
+ } else if (line.inserted) {
+ for (var j = 0; j < line.inserted.length; j++)
+ res.writeln(added + diffEncode(line.inserted[j]) + "</span><br />");
+ } else if (line.value != null) {
+ res.writeln("<span>" + diffEncode(line.value) + "</span><br />");
+ }
}
- // write out remaining lines
- if (line.deleted) {
- for (var j = length; j < line.deleted.length; j++)
- res.writeln(removed + diffEncode(line.deleted[j]) + "</span><br />");
- }
- if (line.inserted) {
- for (var j=length; j<line.inserted.length; j++)
- res.writeln(added + diffEncode(line.inserted[j]) + "</span><br />");
- }
- } else if (line.deleted) {
- for (var j = 0; j < line.deleted.length; j++)
- res.writeln(removed + diffEncode(line.deleted[j]) + "</span><br />");
- } else if (line.inserted) {
- for (var j = 0; j < line.inserted.length; j++)
- res.writeln(added + diffEncode(line.inserted[j]) + "</span><br />");
- } else if (line.value != null) {
- res.writeln("<span>" + diffEncode(line.value) + "</span><br />");
- }
+ res.write("</div>");
}
- res.write("</div>");
- }
- // print a short explanation of the output format
- res.write("<p>" + removed + " </span> ");
- res.write(" " + msg ("history_label_removed") + "<br />");
- res.write( added + " </span> ");
- res.write(" " + msg("history_label_added") + "</p>");
+ // print a short explanation of the output format
+ res.write("<p>" + removed + " </span> ");
+ res.write(" " + msg("history_label_removed") + "<br />");
+ res.write(added + " </span> ");
+ res.write(" " + msg("history_label_added") + "</p>");
}
-/**
+/**
* Render the diff between two versions of a page. This utilizes the Gnu diff
* class that is part of the Helma package.
*/
-function diff2 (version0, version1, form0, form1) {
+function diff2(version0, version1, form0, form1) {
- formDiff(form0, form1);
+ formDiff(form0, form1);
- // get the diff.
- var diff = getDiffs(version0, version1);
+ // get the diff.
+ var diff = getDiffs(version0, version1);
- if (diff) {
- var removed = DIFF_STYLE_REMOVED;
- var added = DIFF_STYLE_ADDED;
+ if (diff) {
+ var removed = DIFF_STYLE_REMOVED;
+ var added = DIFF_STYLE_ADDED;
- res.write("<div class='diffbody'>");
- var numColStyle ="width:2em; color:#999; vertical-align: top;";
+ res.write("<div class='diffbody'>");
- var table = new Html.TableBuilder(2);
- for (var i = 0; i < diff.length; i++) {
- var line = diff[i];
- if (line.deleted && line.inserted) {
+ var table = new Html.TableBuilder(2);
+ for (var i = 0; i < diff.length; i++) {
+ var line = diff[i];
+ if (line.deleted && line.inserted) {
- var length = Math.min(line.deleted.length, line.inserted.length);
- for (var j = 0; j < length; j++) {
+ var length = Math.min(line.deleted.length, line.inserted.length);
+ for (var j = 0; j < length; j++) {
- table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
- var linediff = getDiffs(line.deleted[j], line.inserted[j], "[\\s\\.,=\"']"); // "[\\s<>=\"']");
- res.push();
- for (var k = 0; k < linediff.length; k++) {
- var word = linediff[k];
- if (word.deleted) {
- res.write(removed);
- res.push()
- for (var l = 0; l < word.deleted.length; l++) {
- res.write(word.deleted[l]);
- }
- res.write(diffEncode(res.pop()));
- res.write("</span>");
- }
- if (word.inserted) {
- res.write(added);
- res.push();
- for (var l = 0; l < word.inserted.length; l++) {
- res.write(word.inserted[l]);
- }
- res.write(diffEncode(res.pop()));
- res.write("</span>");
- }
- if (word.value) {
- res.write(diffEncode(word.value));
- }
- }
- table.add(res.pop());
+ table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
+ var linediff = getDiffs(line.deleted[j], line.inserted[j], "[\\s\\.,=\"']"); // "[\\s<>=\"']");
+ res.push();
+ for (var k = 0; k < linediff.length; k++) {
+ var word = linediff[k];
+ if (word.deleted) {
+ res.write(removed);
+ res.push()
+ for (var l = 0; l < word.deleted.length; l++) {
+ res.write(word.deleted[l]);
+ }
+ res.write(diffEncode(res.pop()));
+ res.write("</span>");
+ }
+ if (word.inserted) {
+ res.write(added);
+ res.push();
+ for (var l = 0; l < word.inserted.length; l++) {
+ res.write(word.inserted[l]);
+ }
+ res.write(diffEncode(res.pop()));
+ res.write("</span>");
+ }
+ if (word.value) {
+ res.write(diffEncode(word.value));
+ }
+ }
+ table.add(res.pop());
+ }
+ // write out remaining lines
+ if (line.deleted) {
+ for (var j = length; j < line.deleted.length; j++) {
+ table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
+ table.add(removed + diffEncode(line.deleted[j]) + "</span>");
+ }
+ }
+ if (line.inserted) {
+ for (var j = length; j < line.inserted.length; j++) {
+ table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
+ table.add(added + diffEncode(line.inserted[j]) + "</span>");
+ }
+ }
+ } else if (line.deleted) {
+ for (var j = 0; j < line.deleted.length; j++) {
+ table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
+ table.add(removed + diffEncode(line.deleted[j]) + "</span>");
+ }
+ } else if (line.inserted) {
+ for (var j = 0; j < line.inserted.length; j++) {
+ table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
+ table.add(added + diffEncode(line.inserted[j]) + "</span>");
+ }
+ } else if (line.value != null) {
+ // res.writeln("<span>" + encode(line.value) + "</span><br />");
+ }
}
- // write out remaining lines
- if (line.deleted) {
- for (var j = length; j < line.deleted.length; j++) {
- table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
- table.add(removed + diffEncode(line.deleted[j]) + "</span>");
- }
- }
- if (line.inserted) {
- for (var j = length; j < line.inserted.length; j++) {
- table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
- table.add(added + diffEncode(line.inserted[j]) + "</span>");
- }
- }
- } else if (line.deleted) {
- for (var j = 0; j < line.deleted.length; j++) {
- table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
- table.add(removed + diffEncode(line.deleted[j]) + "</span>");
- }
- } else if (line.inserted) {
- for (var j = 0; j < line.inserted.length; j++) {
- table.add(parseInt(i) + parseInt(j) + 1, {style: numColStyle});
- table.add(added + diffEncode(line.inserted[j]) + "</span>");
- }
- } else if (line.value != null) {
- // res.writeln("<span>" + encode(line.value) + "</span><br />");
- }
+ res.write(table);
+ res.write("</div>");
}
- res.write(table);
- res.write("</div>");
- }
}
@@ -195,62 +194,62 @@
* Compares two strings using helma.util.Diff
*/
function getDiffs(str1, str2, separator) {
- // split both strings into arrays
- if (str1 == null) str1 = "";
- if (str2 == null) str2 = "";
- // if no separator use line separator
- var splitByLines = typeof(separator) == "undefined";
- if (splitByLines) {
- str1 = str1.split(/\r\n|\r|\n/);
- str2 = str2.split(/\r\n|\r|\n/);
- } else {
- str1 = splitString(str1, new RegExp(separator, "g"));
- str2 = splitString(str2, new RegExp(separator, "g"));
- }
- // create the Diff object
- var diff = new Packages.helma.util.Diff(str1, str2);
- // get the diff.
- var delta = diff.diff();
- if (!delta && splitByLines)
- return null;
+ // split both strings into arrays
+ if (str1 == null) str1 = "";
+ if (str2 == null) str2 = "";
+ // if no separator use line separator
+ var splitByLines = typeof(separator) == "undefined";
+ if (splitByLines) {
+ str1 = str1.split(/\r\n|\r|\n/);
+ str2 = str2.split(/\r\n|\r|\n/);
+ } else {
+ str1 = splitString(str1, new RegExp(separator, "g"));
+ str2 = splitString(str2, new RegExp(separator, "g"));
+ }
+ // create the Diff object
+ var diff = new Packages.helma.util.Diff(str1, str2);
+ // get the diff.
+ var delta = diff.diff();
+ if (!delta && splitByLines)
+ return null;
- var result = [];
- var max = Math.max(str1.length, str2.length);
- var previous = null;
- for (var i = 0; i < max; i++) {
- if (!delta || i < delta.line1) {
- if (typeof(str2[i]) == "undefined")
- continue;
- if (previous)
- previous.value += str2[i];
- else {
- // concatenate unchanged tokens unless we're splitting lines
- previous = {num: i+1, value: str2[i]};
- result.push(previous);
- if (splitByLines)
- previous = null;
- }
- } else if (delta) {
- var line = { num: i + 1 };
- if (delta.deleted) {
- var del = new Array();
- for (var j = delta.line0; j < delta.line0 + delta.deleted; j++)
- del.push(str1[j]);
- line.deleted = del;
- }
- if (delta.inserted) {
- var ins = new Array();
- for (var j = delta.line1; j < delta.line1 + delta.inserted; j++)
- ins.push(str2[j]);
- line.inserted = ins;
- }
- result.push(line);
- i = delta.line1 + delta.inserted - 1;
- delta = delta.link;
- previous = null;
- }
- }
- return result;
+ var result = [];
+ var max = Math.max(str1.length, str2.length);
+ var previous = null;
+ for (var i = 0; i < max; i++) {
+ if (!delta || i < delta.line1) {
+ if (typeof(str2[i]) == "undefined")
+ continue;
+ if (previous)
+ previous.value += str2[i];
+ else {
+ // concatenate unchanged tokens unless we're splitting lines
+ previous = {num: i + 1, value: str2[i]};
+ result.push(previous);
+ if (splitByLines)
+ previous = null;
+ }
+ } else if (delta) {
+ var line = { num: i + 1 };
+ if (delta.deleted) {
+ var del = new Array();
+ for (var j = delta.line0; j < delta.line0 + delta.deleted; j++)
+ del.push(str1[j]);
+ line.deleted = del;
+ }
+ if (delta.inserted) {
+ var ins = new Array();
+ for (var j = delta.line1; j < delta.line1 + delta.inserted; j++)
+ ins.push(str2[j]);
+ line.inserted = ins;
+ }
+ result.push(line);
+ i = delta.line1 + delta.inserted - 1;
+ delta = delta.link;
+ previous = null;
+ }
+ }
+ return result;
}
function splitString(str, regexp) {