home *** CD-ROM | disk | FTP | other *** search
- package hhapplet;
-
- import java.io.File;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- public class URLFileHandler {
- public static String GetNormalizedLocal2(String var0) {
- String var1 = var0;
-
- for(int var2 = 0; var2 < var1.length(); ++var2) {
- if (var1.charAt(var2) > 127) {
- String var3 = Integer.toString(var1.charAt(var2), 16);
- if (var3.length() > 2) {
- var3 = var3.substring(2);
- }
-
- var1 = var1.substring(0, var2) + "%" + var3 + var1.substring(var2 + 1, var1.length());
- }
- }
-
- return var1;
- }
-
- public static String GetNormalizedLocal(String var0) {
- String var1 = var0;
- if (System.getProperty("java.vendor").indexOf("Netscape") != -1 || var0.startsWith("http://")) {
- var1 = GetNormalizedLocal2(var0);
- }
-
- return var1;
- }
-
- public static String TruncURLtoQuestionMark(String var0) {
- String var1 = var0;
- int var2 = var0.indexOf(63);
- if (var2 != -1) {
- var1 = var0.substring(0, var2);
- }
-
- return var1;
- }
-
- public static URL makeURL(URL var0, String var1, String var2) throws MalformedURLException {
- try {
- String var3 = var0.getProtocol();
- String var14 = var0.getHost();
- String var5 = var0.getFile();
- int var6 = var0.getPort();
- String var7 = tuHtmlToText(var5);
- String var8 = GetNormalizedLocal(var7);
- String var9 = TruncURLtoQuestionMark(var8);
- URL var10 = new URL(var3, var14, var6, var9);
- String var11 = tuHtmlToText(var1);
- String var12 = GetNormalizedLocal(var11);
- return new URL(var10, var12);
- } catch (MalformedURLException var13) {
- ((Throwable)var13).printStackTrace();
- File var4 = new File(var1);
- return var4.exists() ? new URL("file:/" + var1) : new URL(var0, var2);
- }
- }
-
- static String tuHtmlToText(String var0) {
- if (var0 == null) {
- return null;
- } else {
- int var1 = var0.indexOf(38);
- if (var1 < 0) {
- return var0;
- } else {
- String var2 = "";
-
- while(var1 > -1 && var1 < var0.length() - 2) {
- var2 = var2 + var0.substring(0, var1);
- String var3 = var0.substring(var1);
- int var4 = var3.indexOf(59);
- if (var4 < 0) {
- var2 = var2 + var3;
- break;
- }
-
- if (var4 < var3.length() - 1) {
- var0 = var3.substring(var4 + 1);
- } else {
- var0 = "";
- }
-
- var3 = var3.substring(1, var4);
- switch (Character.toUpperCase(var3.charAt(0))) {
- case 'A':
- if (var3.equalsIgnoreCase("amp")) {
- var3 = "&";
- }
- break;
- case 'C':
- if (var3.equalsIgnoreCase("copy")) {
- var3 = "(c)";
- }
- break;
- case 'G':
- if (var3.equalsIgnoreCase("gt")) {
- var3 = ">";
- }
- break;
- case 'L':
- if (var3.equalsIgnoreCase("lt")) {
- var3 = "<";
- }
- break;
- case 'N':
- if (var3.equalsIgnoreCase("nbsp")) {
- var3 = " ";
- }
- break;
- case 'Q':
- if (var3.equalsIgnoreCase("quot")) {
- var3 = "\"";
- }
- break;
- case 'R':
- if (var3.equalsIgnoreCase("reg")) {
- var3 = "(R)";
- }
- }
-
- var2 = var2 + var3;
- var1 = var0.indexOf(38);
- if (var1 < 0) {
- var2 = var2 + var0;
- }
- }
-
- return var2;
- }
- }
- }
- }
-