Author: nextgens
Date: 2006-08-05 10:37:51 +0000 (Sat, 05 Aug 2006)
New Revision: 9897
Modified:
trunk/freenet/src/freenet/clients/http/QueueToadlet.java
trunk/freenet/src/freenet/support/HTMLDecoder.java
trunk/freenet/src/freenet/support/HTMLEncoder.java
Log:
Some work on HTMLEncoder ; maybe fix the /queue page when identifiers have
weird (non-us) characters
Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2006-08-05
02:09:37 UTC (rev 9896)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2006-08-05
10:37:51 UTC (rev 9897)
@@ -58,10 +58,10 @@
}
if(request.isParameterSet("remove_request") &&
(request.getParam("remove_request").length() > 0)) {
- String identifier = request.getParam("identifier");
+ String identifier =
HTMLDecoder.decode(request.getParam("identifier"));
Logger.minor(this, "Removing "+identifier);
try {
-
fcp.removeGlobalRequest(HTMLDecoder.decode(identifier));
+ fcp.removeGlobalRequest(identifier);
} catch (MessageInvalidException e) {
this.sendErrorPage(ctx, 200, "Failed to remove
request", "Failed to remove "+HTMLEncoder.encode(identifier)+" :
"+HTMLEncoder.encode(e.getMessage()));
}
@@ -73,11 +73,12 @@
Logger.minor(this, "Request count: "+reqs.length);
for(int i=0; i<reqs.length ; i++){
- Logger.minor(this, "Removing
"+reqs[i].getIdentifier());
+ String identifier =
HTMLDecoder.decode(reqs[i].getIdentifier());
+ Logger.minor(this, "Removing "+identifier);
try {
-
fcp.removeGlobalRequest(reqs[i].getIdentifier());
+ fcp.removeGlobalRequest(identifier);
} catch (MessageInvalidException e) {
- this.sendErrorPage(ctx, 200, "Failed to
remove request", "Failed to remove
"+HTMLEncoder.encode(reqs[i].getIdentifier())+" :
"+HTMLEncoder.encode(e.getMessage()));
+ this.sendErrorPage(ctx, 200, "Failed to
remove request", "Failed to remove "+HTMLEncoder.encode(identifier)+" :
"+HTMLEncoder.encode(e.getMessage()));
}
}
writePermanentRedirect(ctx, "Done", "/queue/");
@@ -94,7 +95,7 @@
}
FreenetURI fetchURI;
try {
- fetchURI = new
FreenetURI(request.getParam("key"));
+ fetchURI = new
FreenetURI(HTMLDecoder.decode(request.getParam("key")));
} catch (MalformedURLException e) {
writeError("Invalid URI to download", "Invalid
URI to download");
return;
@@ -650,7 +651,7 @@
buf.append("<td>");
if(uri != null) {
buf.append("<span class=\"identifier_with_uri\"><a
href=\"/");
- buf.append(uri.toString(false));
+ buf.append(HTMLEncoder.encode(uri.toString(false)));
buf.append("\">");
buf.append(HTMLEncoder.encode(p.getIdentifier()));
buf.append("</a></span>");
Modified: trunk/freenet/src/freenet/support/HTMLDecoder.java
===================================================================
--- trunk/freenet/src/freenet/support/HTMLDecoder.java 2006-08-05 02:09:37 UTC
(rev 9896)
+++ trunk/freenet/src/freenet/support/HTMLDecoder.java 2006-08-05 10:37:51 UTC
(rev 9897)
@@ -10,7 +10,7 @@
*/
public class HTMLDecoder {
- private static final HashMap charTable;
+ public static final HashMap charTable;
public static String decode(String s) {
String t;
@@ -154,258 +154,258 @@
static {
charTable = new HashMap();
- charTable.put("quot", new Character((char) 34));
- charTable.put("amp", new Character((char) 38));
- charTable.put("apos", new Character((char) 39));
- charTable.put("lt", new Character((char) 60));
- charTable.put("gt", new Character((char) 62));
- charTable.put("nbsp", new Character((char) 160));
- charTable.put("iexcl", new Character((char) 161));
- charTable.put("cent", new Character((char) 162));
- charTable.put("pound", new Character((char) 163));
- charTable.put("curren", new Character((char) 164));
- charTable.put("yen", new Character((char) 165));
- charTable.put("brvbar", new Character((char) 166));
- charTable.put("sect", new Character((char) 167));
- charTable.put("uml", new Character((char) 168));
- charTable.put("copy", new Character((char) 169));
- charTable.put("ordf", new Character((char) 170));
- charTable.put("laquo", new Character((char) 171));
- charTable.put("not", new Character((char) 172));
- charTable.put("shy", new Character((char) 173));
- charTable.put("reg", new Character((char) 174));
- charTable.put("macr", new Character((char) 175));
- charTable.put("deg", new Character((char) 176));
- charTable.put("plusmn", new Character((char) 177));
- charTable.put("sup2", new Character((char) 178));
- charTable.put("sup3", new Character((char) 179));
- charTable.put("acute", new Character((char) 180));
- charTable.put("micro", new Character((char) 181));
- charTable.put("para", new Character((char) 182));
- charTable.put("middot", new Character((char) 183));
- charTable.put("cedil", new Character((char) 184));
- charTable.put("sup1", new Character((char) 185));
- charTable.put("ordm", new Character((char) 186));
- charTable.put("raquo", new Character((char) 187));
- charTable.put("frac14", new Character((char) 188));
- charTable.put("frac12", new Character((char) 189));
- charTable.put("frac34", new Character((char) 190));
- charTable.put("iquest", new Character((char) 191));
- charTable.put("Agrave", new Character((char) 192));
- charTable.put("Aacute", new Character((char) 193));
- charTable.put("Acirc", new Character((char) 194));
- charTable.put("Atilde", new Character((char) 195));
- charTable.put("Auml", new Character((char) 196));
- charTable.put("Aring", new Character((char) 197));
- charTable.put("AElig", new Character((char) 198));
- charTable.put("Ccedil", new Character((char) 199));
- charTable.put("Egrave", new Character((char) 200));
- charTable.put("Eacute", new Character((char) 201));
- charTable.put("Ecirc", new Character((char) 202));
- charTable.put("Euml", new Character((char) 203));
- charTable.put("Igrave", new Character((char) 204));
- charTable.put("Iacute", new Character((char) 205));
- charTable.put("Icirc", new Character((char) 206));
- charTable.put("Iuml", new Character((char) 207));
- charTable.put("ETH", new Character((char) 208));
- charTable.put("Ntilde", new Character((char) 209));
- charTable.put("Ograve", new Character((char) 210));
- charTable.put("Oacute", new Character((char) 211));
- charTable.put("Ocirc", new Character((char) 212));
- charTable.put("Otilde", new Character((char) 213));
- charTable.put("Ouml", new Character((char) 214));
- charTable.put("times", new Character((char) 215));
- charTable.put("Oslash", new Character((char) 216));
- charTable.put("Ugrave", new Character((char) 217));
- charTable.put("Uacute", new Character((char) 218));
- charTable.put("Ucirc", new Character((char) 219));
- charTable.put("Uuml", new Character((char) 220));
- charTable.put("Yacute", new Character((char) 221));
- charTable.put("THORN", new Character((char) 222));
- charTable.put("szlig", new Character((char) 223));
- charTable.put("agrave", new Character((char) 224));
- charTable.put("aacute", new Character((char) 225));
- charTable.put("acirc", new Character((char) 226));
- charTable.put("atilde", new Character((char) 227));
- charTable.put("auml", new Character((char) 228));
- charTable.put("aring", new Character((char) 229));
- charTable.put("aelig", new Character((char) 230));
- charTable.put("ccedil", new Character((char) 231));
- charTable.put("egrave", new Character((char) 232));
- charTable.put("eacute", new Character((char) 233));
- charTable.put("ecirc", new Character((char) 234));
- charTable.put("euml", new Character((char) 235));
- charTable.put("igrave", new Character((char) 236));
- charTable.put("iacute", new Character((char) 237));
- charTable.put("icirc", new Character((char) 238));
- charTable.put("iuml", new Character((char) 239));
- charTable.put("eth", new Character((char) 240));
- charTable.put("ntilde", new Character((char) 241));
- charTable.put("ograve", new Character((char) 242));
- charTable.put("oacute", new Character((char) 243));
- charTable.put("ocirc", new Character((char) 244));
- charTable.put("otilde", new Character((char) 245));
- charTable.put("ouml", new Character((char) 246));
- charTable.put("divide", new Character((char) 247));
- charTable.put("oslash", new Character((char) 248));
- charTable.put("ugrave", new Character((char) 249));
- charTable.put("uacute", new Character((char) 250));
- charTable.put("ucirc", new Character((char) 251));
- charTable.put("uuml", new Character((char) 252));
- charTable.put("yacute", new Character((char) 253));
- charTable.put("thorn", new Character((char) 254));
- charTable.put("yuml", new Character((char) 255));
- charTable.put("OElig", new Character((char) 338));
- charTable.put("oelig", new Character((char) 339));
- charTable.put("Scaron", new Character((char) 352));
- charTable.put("scaron", new Character((char) 353));
- charTable.put("Yuml", new Character((char) 376));
- charTable.put("fnof", new Character((char) 402));
- charTable.put("circ", new Character((char) 710));
- charTable.put("tilde", new Character((char) 732));
- charTable.put("Alpha", new Character((char) 913));
- charTable.put("Beta", new Character((char) 914));
- charTable.put("Gamma", new Character((char) 915));
- charTable.put("Delta", new Character((char) 916));
- charTable.put("Epsilon", new Character((char) 917));
- charTable.put("Zeta", new Character((char) 918));
- charTable.put("Eta", new Character((char) 919));
- charTable.put("Theta", new Character((char) 920));
- charTable.put("Iota", new Character((char) 921));
- charTable.put("Kappa", new Character((char) 922));
- charTable.put("Lambda", new Character((char) 923));
- charTable.put("Mu", new Character((char) 924));
- charTable.put("Nu", new Character((char) 925));
- charTable.put("Xi", new Character((char) 926));
- charTable.put("Omicron", new Character((char) 927));
- charTable.put("Pi", new Character((char) 928));
- charTable.put("Rho", new Character((char) 929));
- charTable.put("Sigma", new Character((char) 931));
- charTable.put("Tau", new Character((char) 932));
- charTable.put("Upsilon", new Character((char) 933));
- charTable.put("Phi", new Character((char) 934));
- charTable.put("Chi", new Character((char) 935));
- charTable.put("Psi", new Character((char) 936));
- charTable.put("Omega", new Character((char) 937));
- charTable.put("alpha", new Character((char) 945));
- charTable.put("beta", new Character((char) 946));
- charTable.put("gamma", new Character((char) 947));
- charTable.put("delta", new Character((char) 948));
- charTable.put("epsilon", new Character((char) 949));
- charTable.put("zeta", new Character((char) 950));
- charTable.put("eta", new Character((char) 951));
- charTable.put("theta", new Character((char) 952));
- charTable.put("iota", new Character((char) 953));
- charTable.put("kappa", new Character((char) 954));
- charTable.put("lambda", new Character((char) 955));
- charTable.put("mu", new Character((char) 956));
- charTable.put("nu", new Character((char) 957));
- charTable.put("xi", new Character((char) 958));
- charTable.put("omicron", new Character((char) 959));
- charTable.put("pi", new Character((char) 960));
- charTable.put("rho", new Character((char) 961));
- charTable.put("sigmaf", new Character((char) 962));
- charTable.put("sigma", new Character((char) 963));
- charTable.put("tau", new Character((char) 964));
- charTable.put("upsilon", new Character((char) 965));
- charTable.put("phi", new Character((char) 966));
- charTable.put("chi", new Character((char) 967));
- charTable.put("psi", new Character((char) 968));
- charTable.put("omega", new Character((char) 969));
- charTable.put("thetasym", new Character((char) 977));
- charTable.put("upsih", new Character((char) 978));
- charTable.put("piv", new Character((char) 982));
- charTable.put("ensp", new Character((char) 8194));
- charTable.put("emsp", new Character((char) 8195));
- charTable.put("thinsp", new Character((char) 8201));
- charTable.put("zwnj", new Character((char) 8204));
- charTable.put("zwj", new Character((char) 8205));
- charTable.put("lrm", new Character((char) 8206));
- charTable.put("rlm", new Character((char) 8207));
- charTable.put("ndash", new Character((char) 8211));
- charTable.put("mdash", new Character((char) 8212));
- charTable.put("lsquo", new Character((char) 8216));
- charTable.put("rsquo", new Character((char) 8217));
- charTable.put("sbquo", new Character((char) 8218));
- charTable.put("ldquo", new Character((char) 8220));
- charTable.put("rdquo", new Character((char) 8221));
- charTable.put("bdquo", new Character((char) 8222));
- charTable.put("dagger", new Character((char) 8224));
- charTable.put("Dagger", new Character((char) 8225));
- charTable.put("bull", new Character((char) 8226));
- charTable.put("hellip", new Character((char) 8230));
- charTable.put("permil", new Character((char) 8240));
- charTable.put("prime", new Character((char) 8242));
- charTable.put("Prime", new Character((char) 8243));
- charTable.put("lsaquo", new Character((char) 8249));
- charTable.put("rsaquo", new Character((char) 8250));
- charTable.put("oline", new Character((char) 8254));
- charTable.put("frasl", new Character((char) 8260));
- charTable.put("euro", new Character((char) 8364));
- charTable.put("image", new Character((char) 8465));
- charTable.put("weierp", new Character((char) 8472));
- charTable.put("real", new Character((char) 8476));
- charTable.put("trade", new Character((char) 8482));
- charTable.put("alefsym", new Character((char) 8501));
- charTable.put("larr", new Character((char) 8592));
- charTable.put("uarr", new Character((char) 8593));
- charTable.put("rarr", new Character((char) 8594));
- charTable.put("darr", new Character((char) 8595));
- charTable.put("harr", new Character((char) 8596));
- charTable.put("crarr", new Character((char) 8629));
- charTable.put("lArr", new Character((char) 8656));
- charTable.put("uArr", new Character((char) 8657));
- charTable.put("rArr", new Character((char) 8658));
- charTable.put("dArr", new Character((char) 8659));
- charTable.put("hArr", new Character((char) 8660));
- charTable.put("forall", new Character((char) 8704));
- charTable.put("part", new Character((char) 8706));
- charTable.put("exist", new Character((char) 8707));
- charTable.put("empty", new Character((char) 8709));
- charTable.put("nabla", new Character((char) 8711));
- charTable.put("isin", new Character((char) 8712));
- charTable.put("notin", new Character((char) 8713));
- charTable.put("ni", new Character((char) 8715));
- charTable.put("prod", new Character((char) 8719));
- charTable.put("sum", new Character((char) 8721));
- charTable.put("minus", new Character((char) 8722));
- charTable.put("lowast", new Character((char) 8727));
- charTable.put("radic", new Character((char) 8730));
- charTable.put("prop", new Character((char) 8733));
- charTable.put("infin", new Character((char) 8734));
- charTable.put("ang", new Character((char) 8736));
- charTable.put("and", new Character((char) 8743));
- charTable.put("or", new Character((char) 8744));
- charTable.put("cap", new Character((char) 8745));
- charTable.put("cup", new Character((char) 8746));
- charTable.put("int", new Character((char) 8747));
- charTable.put("there4", new Character((char) 8756));
- charTable.put("sim", new Character((char) 8764));
- charTable.put("cong", new Character((char) 8773));
- charTable.put("asymp", new Character((char) 8776));
- charTable.put("ne", new Character((char) 8800));
- charTable.put("equiv", new Character((char) 8801));
- charTable.put("le", new Character((char) 8804));
- charTable.put("ge", new Character((char) 8805));
- charTable.put("sub", new Character((char) 8834));
- charTable.put("sup", new Character((char) 8835));
- charTable.put("nsub", new Character((char) 8836));
- charTable.put("sube", new Character((char) 8838));
- charTable.put("supe", new Character((char) 8839));
- charTable.put("oplus", new Character((char) 8853));
- charTable.put("otimes", new Character((char) 8855));
- charTable.put("perp", new Character((char) 8869));
- charTable.put("sdot", new Character((char) 8901));
- charTable.put("lceil", new Character((char) 8968));
- charTable.put("rceil", new Character((char) 8969));
- charTable.put("lfloor", new Character((char) 8970));
- charTable.put("rfloor", new Character((char) 8971));
- charTable.put("lang", new Character((char) 9001));
- charTable.put("rang", new Character((char) 9002));
- charTable.put("loz", new Character((char) 9674));
- charTable.put("spades", new Character((char) 9824));
- charTable.put("clubs", new Character((char) 9827));
- charTable.put("hearts", new Character((char) 9829));
- charTable.put("diams", new Character((char) 9830));
+ charTable.put("quot", Character.valueOf((char)34));
+ charTable.put("amp", Character.valueOf((char)38));
+ charTable.put("apos", Character.valueOf((char)39));
+ charTable.put("lt", Character.valueOf((char)60));
+ charTable.put("gt", Character.valueOf((char)62));
+ charTable.put("nbsp", Character.valueOf((char)160));
+ charTable.put("iexcl", Character.valueOf((char)161));
+ charTable.put("cent", Character.valueOf((char)162));
+ charTable.put("pound", Character.valueOf((char)163));
+ charTable.put("curren", Character.valueOf((char)164));
+ charTable.put("yen", Character.valueOf((char)165));
+ charTable.put("brvbar", Character.valueOf((char)166));
+ charTable.put("sect", Character.valueOf((char)167));
+ charTable.put("uml", Character.valueOf((char)168));
+ charTable.put("copy", Character.valueOf((char)169));
+ charTable.put("ordf", Character.valueOf((char)170));
+ charTable.put("laquo", Character.valueOf((char)171));
+ charTable.put("not", Character.valueOf((char)172));
+ charTable.put("shy", Character.valueOf((char)173));
+ charTable.put("reg", Character.valueOf((char)174));
+ charTable.put("macr", Character.valueOf((char)175));
+ charTable.put("deg", Character.valueOf((char)176));
+ charTable.put("plusmn", Character.valueOf((char)177));
+ charTable.put("sup2", Character.valueOf((char)178));
+ charTable.put("sup3", Character.valueOf((char)179));
+ charTable.put("acute", Character.valueOf((char)180));
+ charTable.put("micro", Character.valueOf((char)181));
+ charTable.put("para", Character.valueOf((char)182));
+ charTable.put("middot", Character.valueOf((char)183));
+ charTable.put("cedil", Character.valueOf((char)184));
+ charTable.put("sup1", Character.valueOf((char)185));
+ charTable.put("ordm", Character.valueOf((char)186));
+ charTable.put("raquo", Character.valueOf((char)187));
+ charTable.put("frac14", Character.valueOf((char)188));
+ charTable.put("frac12", Character.valueOf((char)189));
+ charTable.put("frac34", Character.valueOf((char)190));
+ charTable.put("iquest", Character.valueOf((char)191));
+ charTable.put("Agrave", Character.valueOf((char)192));
+ charTable.put("Aacute", Character.valueOf((char)193));
+ charTable.put("Acirc", Character.valueOf((char)194));
+ charTable.put("Atilde", Character.valueOf((char)195));
+ charTable.put("Auml", Character.valueOf((char)196));
+ charTable.put("Aring", Character.valueOf((char)197));
+ charTable.put("AElig", Character.valueOf((char)198));
+ charTable.put("Ccedil", Character.valueOf((char)199));
+ charTable.put("Egrave", Character.valueOf((char)200));
+ charTable.put("Eacute", Character.valueOf((char)201));
+ charTable.put("Ecirc", Character.valueOf((char)202));
+ charTable.put("Euml", Character.valueOf((char)203));
+ charTable.put("Igrave", Character.valueOf((char)204));
+ charTable.put("Iacute", Character.valueOf((char)205));
+ charTable.put("Icirc", Character.valueOf((char)206));
+ charTable.put("Iuml", Character.valueOf((char)207));
+ charTable.put("ETH", Character.valueOf((char)208));
+ charTable.put("Ntilde", Character.valueOf((char)209));
+ charTable.put("Ograve", Character.valueOf((char)210));
+ charTable.put("Oacute", Character.valueOf((char)211));
+ charTable.put("Ocirc", Character.valueOf((char)212));
+ charTable.put("Otilde", Character.valueOf((char)213));
+ charTable.put("Ouml", Character.valueOf((char)214));
+ charTable.put("times", Character.valueOf((char)215));
+ charTable.put("Oslash", Character.valueOf((char)216));
+ charTable.put("Ugrave", Character.valueOf((char)217));
+ charTable.put("Uacute", Character.valueOf((char)218));
+ charTable.put("Ucirc", Character.valueOf((char)219));
+ charTable.put("Uuml", Character.valueOf((char)220));
+ charTable.put("Yacute", Character.valueOf((char)221));
+ charTable.put("THORN", Character.valueOf((char)222));
+ charTable.put("szlig", Character.valueOf((char)223));
+ charTable.put("agrave", Character.valueOf((char)224));
+ charTable.put("aacute", Character.valueOf((char)225));
+ charTable.put("acirc", Character.valueOf((char)226));
+ charTable.put("atilde", Character.valueOf((char)227));
+ charTable.put("auml", Character.valueOf((char)228));
+ charTable.put("aring", Character.valueOf((char)229));
+ charTable.put("aelig", Character.valueOf((char)230));
+ charTable.put("ccedil", Character.valueOf((char)231));
+ charTable.put("egrave", Character.valueOf((char)232));
+ charTable.put("eacute", Character.valueOf((char)233));
+ charTable.put("ecirc", Character.valueOf((char)234));
+ charTable.put("euml", Character.valueOf((char)235));
+ charTable.put("igrave", Character.valueOf((char)236));
+ charTable.put("iacute", Character.valueOf((char)237));
+ charTable.put("icirc", Character.valueOf((char)238));
+ charTable.put("iuml", Character.valueOf((char)239));
+ charTable.put("eth", Character.valueOf((char)240));
+ charTable.put("ntilde", Character.valueOf((char)241));
+ charTable.put("ograve", Character.valueOf((char)242));
+ charTable.put("oacute", Character.valueOf((char)243));
+ charTable.put("ocirc", Character.valueOf((char)244));
+ charTable.put("otilde", Character.valueOf((char)245));
+ charTable.put("ouml", Character.valueOf((char)246));
+ charTable.put("divide", Character.valueOf((char)247));
+ charTable.put("oslash", Character.valueOf((char)248));
+ charTable.put("ugrave", Character.valueOf((char)249));
+ charTable.put("uacute", Character.valueOf((char)250));
+ charTable.put("ucirc", Character.valueOf((char)251));
+ charTable.put("uuml", Character.valueOf((char)252));
+ charTable.put("yacute", Character.valueOf((char)253));
+ charTable.put("thorn", Character.valueOf((char)254));
+ charTable.put("yuml", Character.valueOf((char)255));
+ charTable.put("OElig", Character.valueOf((char)338));
+ charTable.put("oelig", Character.valueOf((char)339));
+ charTable.put("Scaron", Character.valueOf((char)352));
+ charTable.put("scaron", Character.valueOf((char)353));
+ charTable.put("Yuml", Character.valueOf((char)376));
+ charTable.put("fnof", Character.valueOf((char)402));
+ charTable.put("circ", Character.valueOf((char)710));
+ charTable.put("tilde", Character.valueOf((char)732));
+ charTable.put("Alpha", Character.valueOf((char)913));
+ charTable.put("Beta", Character.valueOf((char)914));
+ charTable.put("Gamma", Character.valueOf((char)915));
+ charTable.put("Delta", Character.valueOf((char)916));
+ charTable.put("Epsilon", Character.valueOf((char)917));
+ charTable.put("Zeta", Character.valueOf((char)918));
+ charTable.put("Eta", Character.valueOf((char)919));
+ charTable.put("Theta", Character.valueOf((char)920));
+ charTable.put("Iota", Character.valueOf((char)921));
+ charTable.put("Kappa", Character.valueOf((char)922));
+ charTable.put("Lambda", Character.valueOf((char)923));
+ charTable.put("Mu", Character.valueOf((char)924));
+ charTable.put("Nu", Character.valueOf((char)925));
+ charTable.put("Xi", Character.valueOf((char)926));
+ charTable.put("Omicron", Character.valueOf((char)927));
+ charTable.put("Pi", Character.valueOf((char)928));
+ charTable.put("Rho", Character.valueOf((char)929));
+ charTable.put("Sigma", Character.valueOf((char)931));
+ charTable.put("Tau", Character.valueOf((char)932));
+ charTable.put("Upsilon", Character.valueOf((char)933));
+ charTable.put("Phi", Character.valueOf((char)934));
+ charTable.put("Chi", Character.valueOf((char)935));
+ charTable.put("Psi", Character.valueOf((char)936));
+ charTable.put("Omega", Character.valueOf((char)937));
+ charTable.put("alpha", Character.valueOf((char)945));
+ charTable.put("beta", Character.valueOf((char)946));
+ charTable.put("gamma", Character.valueOf((char)947));
+ charTable.put("delta", Character.valueOf((char)948));
+ charTable.put("epsilon", Character.valueOf((char)949));
+ charTable.put("zeta", Character.valueOf((char)950));
+ charTable.put("eta", Character.valueOf((char)951));
+ charTable.put("theta", Character.valueOf((char)952));
+ charTable.put("iota", Character.valueOf((char)953));
+ charTable.put("kappa", Character.valueOf((char)954));
+ charTable.put("lambda", Character.valueOf((char)955));
+ charTable.put("mu", Character.valueOf((char)956));
+ charTable.put("nu", Character.valueOf((char)957));
+ charTable.put("xi", Character.valueOf((char)958));
+ charTable.put("omicron", Character.valueOf((char)959));
+ charTable.put("pi", Character.valueOf((char)960));
+ charTable.put("rho", Character.valueOf((char)961));
+ charTable.put("sigmaf", Character.valueOf((char)962));
+ charTable.put("sigma", Character.valueOf((char)963));
+ charTable.put("tau", Character.valueOf((char)964));
+ charTable.put("upsilon", Character.valueOf((char)965));
+ charTable.put("phi", Character.valueOf((char)966));
+ charTable.put("chi", Character.valueOf((char)967));
+ charTable.put("psi", Character.valueOf((char)968));
+ charTable.put("omega", Character.valueOf((char)969));
+ charTable.put("thetasym", Character.valueOf((char)977));
+ charTable.put("upsih", Character.valueOf((char)978));
+ charTable.put("piv", Character.valueOf((char)982));
+ charTable.put("ensp", Character.valueOf((char)8194));
+ charTable.put("emsp", Character.valueOf((char)8195));
+ charTable.put("thinsp", Character.valueOf((char)8201));
+ charTable.put("zwnj", Character.valueOf((char)8204));
+ charTable.put("zwj", Character.valueOf((char)8205));
+ charTable.put("lrm", Character.valueOf((char)8206));
+ charTable.put("rlm", Character.valueOf((char)8207));
+ charTable.put("ndash", Character.valueOf((char)8211));
+ charTable.put("mdash", Character.valueOf((char)8212));
+ charTable.put("lsquo", Character.valueOf((char)8216));
+ charTable.put("rsquo", Character.valueOf((char)8217));
+ charTable.put("sbquo", Character.valueOf((char)8218));
+ charTable.put("ldquo", Character.valueOf((char)8220));
+ charTable.put("rdquo", Character.valueOf((char)8221));
+ charTable.put("bdquo", Character.valueOf((char)8222));
+ charTable.put("dagger", Character.valueOf((char)8224));
+ charTable.put("Dagger", Character.valueOf((char)8225));
+ charTable.put("bull", Character.valueOf((char)8226));
+ charTable.put("hellip", Character.valueOf((char)8230));
+ charTable.put("permil", Character.valueOf((char)8240));
+ charTable.put("prime", Character.valueOf((char)8242));
+ charTable.put("Prime", Character.valueOf((char)8243));
+ charTable.put("lsaquo", Character.valueOf((char)8249));
+ charTable.put("rsaquo", Character.valueOf((char)8250));
+ charTable.put("oline", Character.valueOf((char)8254));
+ charTable.put("frasl", Character.valueOf((char)8260));
+ charTable.put("euro", Character.valueOf((char)8364));
+ charTable.put("image", Character.valueOf((char)8465));
+ charTable.put("weierp", Character.valueOf((char)8472));
+ charTable.put("real", Character.valueOf((char)8476));
+ charTable.put("trade", Character.valueOf((char)8482));
+ charTable.put("alefsym", Character.valueOf((char)8501));
+ charTable.put("larr", Character.valueOf((char)8592));
+ charTable.put("uarr", Character.valueOf((char)8593));
+ charTable.put("rarr", Character.valueOf((char)8594));
+ charTable.put("darr", Character.valueOf((char)8595));
+ charTable.put("harr", Character.valueOf((char)8596));
+ charTable.put("crarr", Character.valueOf((char)8629));
+ charTable.put("lArr", Character.valueOf((char)8656));
+ charTable.put("uArr", Character.valueOf((char)8657));
+ charTable.put("rArr", Character.valueOf((char)8658));
+ charTable.put("dArr", Character.valueOf((char)8659));
+ charTable.put("hArr", Character.valueOf((char)8660));
+ charTable.put("forall", Character.valueOf((char)8704));
+ charTable.put("part", Character.valueOf((char)8706));
+ charTable.put("exist", Character.valueOf((char)8707));
+ charTable.put("empty", Character.valueOf((char)8709));
+ charTable.put("nabla", Character.valueOf((char)8711));
+ charTable.put("isin", Character.valueOf((char)8712));
+ charTable.put("notin", Character.valueOf((char)8713));
+ charTable.put("ni", Character.valueOf((char)8715));
+ charTable.put("prod", Character.valueOf((char)8719));
+ charTable.put("sum", Character.valueOf((char)8721));
+ charTable.put("minus", Character.valueOf((char)8722));
+ charTable.put("lowast", Character.valueOf((char)8727));
+ charTable.put("radic", Character.valueOf((char)8730));
+ charTable.put("prop", Character.valueOf((char)8733));
+ charTable.put("infin", Character.valueOf((char)8734));
+ charTable.put("ang", Character.valueOf((char)8736));
+ charTable.put("and", Character.valueOf((char)8743));
+ charTable.put("or", Character.valueOf((char)8744));
+ charTable.put("cap", Character.valueOf((char)8745));
+ charTable.put("cup", Character.valueOf((char)8746));
+ charTable.put("int", Character.valueOf((char)8747));
+ charTable.put("there4", Character.valueOf((char)8756));
+ charTable.put("sim", Character.valueOf((char)8764));
+ charTable.put("cong", Character.valueOf((char)8773));
+ charTable.put("asymp", Character.valueOf((char)8776));
+ charTable.put("ne", Character.valueOf((char)8800));
+ charTable.put("equiv", Character.valueOf((char)8801));
+ charTable.put("le", Character.valueOf((char)8804));
+ charTable.put("ge", Character.valueOf((char)8805));
+ charTable.put("sub", Character.valueOf((char)8834));
+ charTable.put("sup", Character.valueOf((char)8835));
+ charTable.put("nsub", Character.valueOf((char)8836));
+ charTable.put("sube", Character.valueOf((char)8838));
+ charTable.put("supe", Character.valueOf((char)8839));
+ charTable.put("oplus", Character.valueOf((char)8853));
+ charTable.put("otimes", Character.valueOf((char)8855));
+ charTable.put("perp", Character.valueOf((char)8869));
+ charTable.put("sdot", Character.valueOf((char)8901));
+ charTable.put("lceil", Character.valueOf((char)8968));
+ charTable.put("rceil", Character.valueOf((char)8969));
+ charTable.put("lfloor", Character.valueOf((char)8970));
+ charTable.put("rfloor", Character.valueOf((char)8971));
+ charTable.put("lang", Character.valueOf((char)9001));
+ charTable.put("rang", Character.valueOf((char)9002));
+ charTable.put("loz", Character.valueOf((char)9674));
+ charTable.put("spades", Character.valueOf((char)9824));
+ charTable.put("clubs", Character.valueOf((char)9827));
+ charTable.put("hearts", Character.valueOf((char)9829));
+ charTable.put("diams", Character.valueOf((char)9830));
}
}
Modified: trunk/freenet/src/freenet/support/HTMLEncoder.java
===================================================================
--- trunk/freenet/src/freenet/support/HTMLEncoder.java 2006-08-05 02:09:37 UTC
(rev 9896)
+++ trunk/freenet/src/freenet/support/HTMLEncoder.java 2006-08-05 10:37:51 UTC
(rev 9897)
@@ -1,39 +1,282 @@
package freenet.support;
+import java.util.HashMap;
+
/**
* Originally from com.websiteasp.ox pasckage.
*
* Author: Yves Lempereur
*/
public class HTMLEncoder {
+ public final static HashMap charTable;
public static String encode(String s) {
int n = s.length();
StringBuffer sb = new StringBuffer(n);
for (int i = 0; i < n; i++) {
char c = s.charAt(i);
- switch (c) {
- case '"' :
- sb.append(""");
- break;
- case '&' :
- sb.append("&");
- break;
- // case
'\'':
- //
sb.append("'");
- //
break;
- case '<' :
- sb.append("<");
- break;
- case '>' :
- sb.append(">");
- break;
- default :
- sb.append(c);
- break;
- }
+ if(charTable.containsKey(Character.valueOf(c))){
+
sb.append('&'+(String)charTable.get(Character.valueOf(c))+';');
+ }else
+ sb.append(c);
}
return sb.toString();
}
-
+
+ static {
+ charTable = new HashMap();
+ charTable.put(Character.valueOf((char)34), "quot");
+ charTable.put(Character.valueOf((char)38), "amp");
+ charTable.put(Character.valueOf((char)39), "apos");
+ charTable.put(Character.valueOf((char)60), "lt");
+ charTable.put(Character.valueOf((char)62), "gt");
+ charTable.put(Character.valueOf((char)160), "nbsp");
+ charTable.put(Character.valueOf((char)161), "iexcl");
+ charTable.put(Character.valueOf((char)162), "cent");
+ charTable.put(Character.valueOf((char)163), "pound");
+ charTable.put(Character.valueOf((char)164), "curren");
+ charTable.put(Character.valueOf((char)165), "yen");
+ charTable.put(Character.valueOf((char)166), "brvbar");
+ charTable.put(Character.valueOf((char)167), "sect");
+ charTable.put(Character.valueOf((char)168), "uml");
+ charTable.put(Character.valueOf((char)169), "copy");
+ charTable.put(Character.valueOf((char)170), "ordf");
+ charTable.put(Character.valueOf((char)171), "laquo");
+ charTable.put(Character.valueOf((char)172), "not");
+ charTable.put(Character.valueOf((char)173), "shy");
+ charTable.put(Character.valueOf((char)174), "reg");
+ charTable.put(Character.valueOf((char)175), "macr");
+ charTable.put(Character.valueOf((char)176), "deg");
+ charTable.put(Character.valueOf((char)177), "plusmn");
+ charTable.put(Character.valueOf((char)178), "sup2");
+ charTable.put(Character.valueOf((char)179), "sup3");
+ charTable.put(Character.valueOf((char)180), "acute");
+ charTable.put(Character.valueOf((char)181), "micro");
+ charTable.put(Character.valueOf((char)182), "para");
+ charTable.put(Character.valueOf((char)183), "middot");
+ charTable.put(Character.valueOf((char)184), "cedil");
+ charTable.put(Character.valueOf((char)185), "sup1");
+ charTable.put(Character.valueOf((char)186), "ordm");
+ charTable.put(Character.valueOf((char)187), "raquo");
+ charTable.put(Character.valueOf((char)188), "frac14");
+ charTable.put(Character.valueOf((char)189), "frac12");
+ charTable.put(Character.valueOf((char)190), "frac34");
+ charTable.put(Character.valueOf((char)191), "iquest");
+ charTable.put(Character.valueOf((char)192), "Agrave");
+ charTable.put(Character.valueOf((char)193), "Aacute");
+ charTable.put(Character.valueOf((char)194), "Acirc");
+ charTable.put(Character.valueOf((char)195), "Atilde");
+ charTable.put(Character.valueOf((char)196), "Auml");
+ charTable.put(Character.valueOf((char)197), "Aring");
+ charTable.put(Character.valueOf((char)198), "AElig");
+ charTable.put(Character.valueOf((char)199), "Ccedil");
+ charTable.put(Character.valueOf((char)200), "Egrave");
+ charTable.put(Character.valueOf((char)201), "Eacute");
+ charTable.put(Character.valueOf((char)202), "Ecirc");
+ charTable.put(Character.valueOf((char)203), "Euml");
+ charTable.put(Character.valueOf((char)204), "Igrave");
+ charTable.put(Character.valueOf((char)205), "Iacute");
+ charTable.put(Character.valueOf((char)206), "Icirc");
+ charTable.put(Character.valueOf((char)207), "Iuml");
+ charTable.put(Character.valueOf((char)208), "ETH");
+ charTable.put(Character.valueOf((char)209), "Ntilde");
+ charTable.put(Character.valueOf((char)210), "Ograve");
+ charTable.put(Character.valueOf((char)211), "Oacute");
+ charTable.put(Character.valueOf((char)212), "Ocirc");
+ charTable.put(Character.valueOf((char)213), "Otilde");
+ charTable.put(Character.valueOf((char)214), "Ouml");
+ charTable.put(Character.valueOf((char)215), "times");
+ charTable.put(Character.valueOf((char)216), "Oslash");
+ charTable.put(Character.valueOf((char)217), "Ugrave");
+ charTable.put(Character.valueOf((char)218), "Uacute");
+ charTable.put(Character.valueOf((char)219), "Ucirc");
+ charTable.put(Character.valueOf((char)220), "Uuml");
+ charTable.put(Character.valueOf((char)221), "Yacute");
+ charTable.put(Character.valueOf((char)222), "THORN");
+ charTable.put(Character.valueOf((char)223), "szlig");
+ charTable.put(Character.valueOf((char)224), "agrave");
+ charTable.put(Character.valueOf((char)225), "aacute");
+ charTable.put(Character.valueOf((char)226), "acirc");
+ charTable.put(Character.valueOf((char)227), "atilde");
+ charTable.put(Character.valueOf((char)228), "auml");
+ charTable.put(Character.valueOf((char)229), "aring");
+ charTable.put(Character.valueOf((char)230), "aelig");
+ charTable.put(Character.valueOf((char)231), "ccedil");
+ charTable.put(Character.valueOf((char)232), "egrave");
+ charTable.put(Character.valueOf((char)233), "eacute");
+ charTable.put(Character.valueOf((char)234), "ecirc");
+ charTable.put(Character.valueOf((char)235), "euml");
+ charTable.put(Character.valueOf((char)236), "igrave");
+ charTable.put(Character.valueOf((char)237), "iacute");
+ charTable.put(Character.valueOf((char)238), "icirc");
+ charTable.put(Character.valueOf((char)239), "iuml");
+ charTable.put(Character.valueOf((char)240), "eth");
+ charTable.put(Character.valueOf((char)241), "ntilde");
+ charTable.put(Character.valueOf((char)242), "ograve");
+ charTable.put(Character.valueOf((char)243), "oacute");
+ charTable.put(Character.valueOf((char)244), "ocirc");
+ charTable.put(Character.valueOf((char)245), "otilde");
+ charTable.put(Character.valueOf((char)246), "ouml");
+ charTable.put(Character.valueOf((char)247), "divide");
+ charTable.put(Character.valueOf((char)248), "oslash");
+ charTable.put(Character.valueOf((char)249), "ugrave");
+ charTable.put(Character.valueOf((char)250), "uacute");
+ charTable.put(Character.valueOf((char)251), "ucirc");
+ charTable.put(Character.valueOf((char)252), "uuml");
+ charTable.put(Character.valueOf((char)253), "yacute");
+ charTable.put(Character.valueOf((char)254), "thorn");
+ charTable.put(Character.valueOf((char)255), "yuml");
+ charTable.put(Character.valueOf((char)338), "OElig");
+ charTable.put(Character.valueOf((char)339), "oelig");
+ charTable.put(Character.valueOf((char)352), "Scaron");
+ charTable.put(Character.valueOf((char)353), "scaron");
+ charTable.put(Character.valueOf((char)376), "Yuml");
+ charTable.put(Character.valueOf((char)402), "fnof");
+ charTable.put(Character.valueOf((char)710), "circ");
+ charTable.put(Character.valueOf((char)732), "tilde");
+ charTable.put(Character.valueOf((char)913), "Alpha");
+ charTable.put(Character.valueOf((char)914), "Beta");
+ charTable.put(Character.valueOf((char)915), "Gamma");
+ charTable.put(Character.valueOf((char)916), "Delta");
+ charTable.put(Character.valueOf((char)917), "Epsilon");
+ charTable.put(Character.valueOf((char)918), "Zeta");
+ charTable.put(Character.valueOf((char)919), "Eta");
+ charTable.put(Character.valueOf((char)920), "Theta");
+ charTable.put(Character.valueOf((char)921), "Iota");
+ charTable.put(Character.valueOf((char)922), "Kappa");
+ charTable.put(Character.valueOf((char)923), "Lambda");
+ charTable.put(Character.valueOf((char)924), "Mu");
+ charTable.put(Character.valueOf((char)925), "Nu");
+ charTable.put(Character.valueOf((char)926), "Xi");
+ charTable.put(Character.valueOf((char)927), "Omicron");
+ charTable.put(Character.valueOf((char)928), "Pi");
+ charTable.put(Character.valueOf((char)929), "Rho");
+ charTable.put(Character.valueOf((char)931), "Sigma");
+ charTable.put(Character.valueOf((char)932), "Tau");
+ charTable.put(Character.valueOf((char)933), "Upsilon");
+ charTable.put(Character.valueOf((char)934), "Phi");
+ charTable.put(Character.valueOf((char)935), "Chi");
+ charTable.put(Character.valueOf((char)936), "Psi");
+ charTable.put(Character.valueOf((char)937), "Omega");
+ charTable.put(Character.valueOf((char)945), "alpha");
+ charTable.put(Character.valueOf((char)946), "beta");
+ charTable.put(Character.valueOf((char)947), "gamma");
+ charTable.put(Character.valueOf((char)948), "delta");
+ charTable.put(Character.valueOf((char)949), "epsilon");
+ charTable.put(Character.valueOf((char)950), "zeta");
+ charTable.put(Character.valueOf((char)951), "eta");
+ charTable.put(Character.valueOf((char)952), "theta");
+ charTable.put(Character.valueOf((char)953), "iota");
+ charTable.put(Character.valueOf((char)954), "kappa");
+ charTable.put(Character.valueOf((char)955), "lambda");
+ charTable.put(Character.valueOf((char)956), "mu");
+ charTable.put(Character.valueOf((char)957), "nu");
+ charTable.put(Character.valueOf((char)958), "xi");
+ charTable.put(Character.valueOf((char)959), "omicron");
+ charTable.put(Character.valueOf((char)960), "pi");
+ charTable.put(Character.valueOf((char)961), "rho");
+ charTable.put(Character.valueOf((char)962), "sigmaf");
+ charTable.put(Character.valueOf((char)963), "sigma");
+ charTable.put(Character.valueOf((char)964), "tau");
+ charTable.put(Character.valueOf((char)965), "upsilon");
+ charTable.put(Character.valueOf((char)966), "phi");
+ charTable.put(Character.valueOf((char)967), "chi");
+ charTable.put(Character.valueOf((char)968), "psi");
+ charTable.put(Character.valueOf((char)969), "omega");
+ charTable.put(Character.valueOf((char)977), "thetasym");
+ charTable.put(Character.valueOf((char)978), "upsih");
+ charTable.put(Character.valueOf((char)982), "piv");
+ charTable.put(Character.valueOf((char)8194), "ensp");
+ charTable.put(Character.valueOf((char)8195), "emsp");
+ charTable.put(Character.valueOf((char)8201), "thinsp");
+ charTable.put(Character.valueOf((char)8204), "zwnj");
+ charTable.put(Character.valueOf((char)8205), "zwj");
+ charTable.put(Character.valueOf((char)8206), "lrm");
+ charTable.put(Character.valueOf((char)8207), "rlm");
+ charTable.put(Character.valueOf((char)8211), "ndash");
+ charTable.put(Character.valueOf((char)8212), "mdash");
+ charTable.put(Character.valueOf((char)8216), "lsquo");
+ charTable.put(Character.valueOf((char)8217), "rsquo");
+ charTable.put(Character.valueOf((char)8218), "sbquo");
+ charTable.put(Character.valueOf((char)8220), "ldquo");
+ charTable.put(Character.valueOf((char)8221), "rdquo");
+ charTable.put(Character.valueOf((char)8222), "bdquo");
+ charTable.put(Character.valueOf((char)8224), "dagger");
+ charTable.put(Character.valueOf((char)8225), "Dagger");
+ charTable.put(Character.valueOf((char)8226), "bull");
+ charTable.put(Character.valueOf((char)8230), "hellip");
+ charTable.put(Character.valueOf((char)8240), "permil");
+ charTable.put(Character.valueOf((char)8242), "prime");
+ charTable.put(Character.valueOf((char)8243), "Prime");
+ charTable.put(Character.valueOf((char)8249), "lsaquo");
+ charTable.put(Character.valueOf((char)8250), "rsaquo");
+ charTable.put(Character.valueOf((char)8254), "oline");
+ charTable.put(Character.valueOf((char)8260), "frasl");
+ charTable.put(Character.valueOf((char)8364), "euro");
+ charTable.put(Character.valueOf((char)8465), "image");
+ charTable.put(Character.valueOf((char)8472), "weierp");
+ charTable.put(Character.valueOf((char)8476), "real");
+ charTable.put(Character.valueOf((char)8482), "trade");
+ charTable.put(Character.valueOf((char)8501), "alefsym");
+ charTable.put(Character.valueOf((char)8592), "larr");
+ charTable.put(Character.valueOf((char)8593), "uarr");
+ charTable.put(Character.valueOf((char)8594), "rarr");
+ charTable.put(Character.valueOf((char)8595), "darr");
+ charTable.put(Character.valueOf((char)8596), "harr");
+ charTable.put(Character.valueOf((char)8629), "crarr");
+ charTable.put(Character.valueOf((char)8656), "lArr");
+ charTable.put(Character.valueOf((char)8657), "uArr");
+ charTable.put(Character.valueOf((char)8658), "rArr");
+ charTable.put(Character.valueOf((char)8659), "dArr");
+ charTable.put(Character.valueOf((char)8660), "hArr");
+ charTable.put(Character.valueOf((char)8704), "forall");
+ charTable.put(Character.valueOf((char)8706), "part");
+ charTable.put(Character.valueOf((char)8707), "exist");
+ charTable.put(Character.valueOf((char)8709), "empty");
+ charTable.put(Character.valueOf((char)8711), "nabla");
+ charTable.put(Character.valueOf((char)8712), "isin");
+ charTable.put(Character.valueOf((char)8713), "notin");
+ charTable.put(Character.valueOf((char)8715), "ni");
+ charTable.put(Character.valueOf((char)8719), "prod");
+ charTable.put(Character.valueOf((char)8721), "sum");
+ charTable.put(Character.valueOf((char)8722), "minus");
+ charTable.put(Character.valueOf((char)8727), "lowast");
+ charTable.put(Character.valueOf((char)8730), "radic");
+ charTable.put(Character.valueOf((char)8733), "prop");
+ charTable.put(Character.valueOf((char)8734), "infin");
+ charTable.put(Character.valueOf((char)8736), "ang");
+ charTable.put(Character.valueOf((char)8743), "and");
+ charTable.put(Character.valueOf((char)8744), "or");
+ charTable.put(Character.valueOf((char)8745), "cap");
+ charTable.put(Character.valueOf((char)8746), "cup");
+ charTable.put(Character.valueOf((char)8747), "int");
+ charTable.put(Character.valueOf((char)8756), "there4");
+ charTable.put(Character.valueOf((char)8764), "sim");
+ charTable.put(Character.valueOf((char)8773), "cong");
+ charTable.put(Character.valueOf((char)8776), "asymp");
+ charTable.put(Character.valueOf((char)8800), "ne");
+ charTable.put(Character.valueOf((char)8801), "equiv");
+ charTable.put(Character.valueOf((char)8804), "le");
+ charTable.put(Character.valueOf((char)8805), "ge");
+ charTable.put(Character.valueOf((char)8834), "sub");
+ charTable.put(Character.valueOf((char)8835), "sup");
+ charTable.put(Character.valueOf((char)8836), "nsub");
+ charTable.put(Character.valueOf((char)8838), "sube");
+ charTable.put(Character.valueOf((char)8839), "supe");
+ charTable.put(Character.valueOf((char)8853), "oplus");
+ charTable.put(Character.valueOf((char)8855), "otimes");
+ charTable.put(Character.valueOf((char)8869), "perp");
+ charTable.put(Character.valueOf((char)8901), "sdot");
+ charTable.put(Character.valueOf((char)8968), "lceil");
+ charTable.put(Character.valueOf((char)8969), "rceil");
+ charTable.put(Character.valueOf((char)8970), "lfloor");
+ charTable.put(Character.valueOf((char)8971), "rfloor");
+ charTable.put(Character.valueOf((char)9001), "lang");
+ charTable.put(Character.valueOf((char)9002), "rang");
+ charTable.put(Character.valueOf((char)9674), "loz");
+ charTable.put(Character.valueOf((char)9824), "spades");
+ charTable.put(Character.valueOf((char)9827), "clubs");
+ charTable.put(Character.valueOf((char)9829), "hearts");
+ charTable.put(Character.valueOf((char)9830), "diams");
+ }
}