X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=bin%2Fjalview%2Futil%2FParseHtmlBodyAndLinks.js;h=8e415480d318f2b7074a09ab81ac78e96f25be5f;hp=bf67f6a9a3b44f96aade447476c353943f3d7204;hb=8ffd05b3abe52c0b6b79b011c0966361f82d5fe6;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/bin/jalview/util/ParseHtmlBodyAndLinks.js b/bin/jalview/util/ParseHtmlBodyAndLinks.js index bf67f6a..8e41548 100644 --- a/bin/jalview/util/ParseHtmlBodyAndLinks.js +++ b/bin/jalview/util/ParseHtmlBodyAndLinks.js @@ -1,78 +1,78 @@ -Clazz.declarePackage ("jalview.util"); -Clazz.load (["java.lang.StringBuffer", "java.util.ArrayList", "java.util.regex.Pattern"], "jalview.util.ParseHtmlBodyAndLinks", ["java.util.StringTokenizer"], function () { -c$ = Clazz.decorateAsClass (function () { -this.orig = null; -this.htmlContent = true; -this.links = null; -this.sb = null; -Clazz.instantialize (this, arguments); -}, jalview.util, "ParseHtmlBodyAndLinks"); -Clazz.prepareFields (c$, function () { -this.links = new java.util.ArrayList (); -this.sb = new StringBuffer (); -}); -Clazz.defineMethod (c$, "getOrig", -function () { -return this.orig; -}); -Clazz.defineMethod (c$, "isHtmlContent", -function () { -return this.htmlContent; -}); -Clazz.defineMethod (c$, "getContent", -function () { -return this.sb.toString (); -}); -Clazz.defineMethod (c$, "getLinks", -function () { -return this.links; -}); -Clazz.makeConstructor (c$, -function (description, removeHTML, newline) { -if (description == null || description.length == 0) { -this.htmlContent = false; -return; -}if (description.toUpperCase ().indexOf ("") == -1) { -this.htmlContent = false; -}this.orig = description; -var st = new java.util.StringTokenizer (description, "<"); -var token; -var link; -var startTag; -var tag = null; -while (st.hasMoreElements ()) { -token = st.nextToken ("&>"); -if (token.equalsIgnoreCase ("html") || token.startsWith ("/")) { -continue; -}tag = null; -startTag = token.indexOf ("<"); -if (startTag > -1) { -tag = token.substring (startTag + 1); -token = token.substring (0, startTag); -}if (tag != null && tag.toUpperCase ().startsWith ("A HREF=")) { -if (token.length > 0) { -this.sb.append (token); -}link = tag.substring (tag.indexOf ("\"") + 1, tag.length - 1); -var label = st.nextToken ("<>"); -this.links.add (label + "|" + link); -this.sb.append (label + "%LINK%"); -} else if (tag != null && tag.equalsIgnoreCase ("br")) { -this.sb.append (newline); -} else if (token.startsWith ("lt;")) { -this.sb.append ("<" + token.substring (3)); -} else if (token.startsWith ("gt;")) { -this.sb.append (">" + token.substring (3)); -} else if (token.startsWith ("amp;")) { -this.sb.append ("&" + token.substring (4)); -} else { -this.sb.append (token); -}} -if (removeHTML && !this.htmlContent) { -this.sb = new StringBuffer (jalview.util.ParseHtmlBodyAndLinks.LEFT_ANGLE_BRACKET_PATTERN.matcher (description).replaceAll ("<")); -}}, "~S,~B,~S"); -Clazz.defineMethod (c$, "getNonHtmlContent", -function () { -return this.isHtmlContent () ? this.sb.toString () : this.orig; -}); -c$.LEFT_ANGLE_BRACKET_PATTERN = c$.prototype.LEFT_ANGLE_BRACKET_PATTERN = java.util.regex.Pattern.compile ("<"); -}); +Clazz.declarePackage ("jalview.util"); +Clazz.load (["java.lang.StringBuffer", "java.util.ArrayList", "java.util.regex.Pattern"], "jalview.util.ParseHtmlBodyAndLinks", ["java.util.StringTokenizer"], function () { +c$ = Clazz.decorateAsClass (function () { +this.orig = null; +this.htmlContent = true; +this.links = null; +this.sb = null; +Clazz.instantialize (this, arguments); +}, jalview.util, "ParseHtmlBodyAndLinks"); +Clazz.prepareFields (c$, function () { +this.links = new java.util.ArrayList (); +this.sb = new StringBuffer (); +}); +Clazz.defineMethod (c$, "getOrig", +function () { +return this.orig; +}); +Clazz.defineMethod (c$, "isHtmlContent", +function () { +return this.htmlContent; +}); +Clazz.defineMethod (c$, "getContent", +function () { +return this.sb.toString (); +}); +Clazz.defineMethod (c$, "getLinks", +function () { +return this.links; +}); +Clazz.makeConstructor (c$, +function (description, removeHTML, newline) { +if (description == null || description.length == 0) { +this.htmlContent = false; +return; +}if (description.toUpperCase ().indexOf ("") == -1) { +this.htmlContent = false; +}this.orig = description; +var st = new java.util.StringTokenizer (description, "<"); +var token; +var link; +var startTag; +var tag = null; +while (st.hasMoreElements ()) { +token = st.nextToken ("&>"); +if (token.equalsIgnoreCase ("html") || token.startsWith ("/")) { +continue; +}tag = null; +startTag = token.indexOf ("<"); +if (startTag > -1) { +tag = token.substring (startTag + 1); +token = token.substring (0, startTag); +}if (tag != null && tag.toUpperCase ().startsWith ("A HREF=")) { +if (token.length > 0) { +this.sb.append (token); +}link = tag.substring (tag.indexOf ("\"") + 1, tag.length - 1); +var label = st.nextToken ("<>"); +this.links.add (label + "|" + link); +this.sb.append (label + "%LINK%"); +} else if (tag != null && tag.equalsIgnoreCase ("br")) { +this.sb.append (newline); +} else if (token.startsWith ("lt;")) { +this.sb.append ("<" + token.substring (3)); +} else if (token.startsWith ("gt;")) { +this.sb.append (">" + token.substring (3)); +} else if (token.startsWith ("amp;")) { +this.sb.append ("&" + token.substring (4)); +} else { +this.sb.append (token); +}} +if (removeHTML && !this.htmlContent) { +this.sb = new StringBuffer (jalview.util.ParseHtmlBodyAndLinks.LEFT_ANGLE_BRACKET_PATTERN.matcher (description).replaceAll ("<")); +}}, "~S,~B,~S"); +Clazz.defineMethod (c$, "getNonHtmlContent", +function () { +return this.isHtmlContent () ? this.sb.toString () : this.orig; +}); +c$.LEFT_ANGLE_BRACKET_PATTERN = c$.prototype.LEFT_ANGLE_BRACKET_PATTERN = java.util.regex.Pattern.compile ("<"); +});