home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / windowsxp / ftgateoffice / ftgateoffice.exe / Main / webhelp.jar / hhapplet / URLFileHandler.class (.txt) < prev   
Encoding:
Java Class File  |  2000-11-07  |  2.4 KB  |  139 lines

  1. package hhapplet;
  2.  
  3. import java.io.File;
  4. import java.net.MalformedURLException;
  5. import java.net.URL;
  6.  
  7. public class URLFileHandler {
  8.    public static String GetNormalizedLocal2(String var0) {
  9.       String var1 = var0;
  10.  
  11.       for(int var2 = 0; var2 < var1.length(); ++var2) {
  12.          if (var1.charAt(var2) > 127) {
  13.             String var3 = Integer.toString(var1.charAt(var2), 16);
  14.             if (var3.length() > 2) {
  15.                var3 = var3.substring(2);
  16.             }
  17.  
  18.             var1 = var1.substring(0, var2) + "%" + var3 + var1.substring(var2 + 1, var1.length());
  19.          }
  20.       }
  21.  
  22.       return var1;
  23.    }
  24.  
  25.    public static String GetNormalizedLocal(String var0) {
  26.       String var1 = var0;
  27.       if (System.getProperty("java.vendor").indexOf("Netscape") != -1 || var0.startsWith("http://")) {
  28.          var1 = GetNormalizedLocal2(var0);
  29.       }
  30.  
  31.       return var1;
  32.    }
  33.  
  34.    public static String TruncURLtoQuestionMark(String var0) {
  35.       String var1 = var0;
  36.       int var2 = var0.indexOf(63);
  37.       if (var2 != -1) {
  38.          var1 = var0.substring(0, var2);
  39.       }
  40.  
  41.       return var1;
  42.    }
  43.  
  44.    public static URL makeURL(URL var0, String var1, String var2) throws MalformedURLException {
  45.       try {
  46.          String var3 = var0.getProtocol();
  47.          String var14 = var0.getHost();
  48.          String var5 = var0.getFile();
  49.          int var6 = var0.getPort();
  50.          String var7 = tuHtmlToText(var5);
  51.          String var8 = GetNormalizedLocal(var7);
  52.          String var9 = TruncURLtoQuestionMark(var8);
  53.          URL var10 = new URL(var3, var14, var6, var9);
  54.          String var11 = tuHtmlToText(var1);
  55.          String var12 = GetNormalizedLocal(var11);
  56.          return new URL(var10, var12);
  57.       } catch (MalformedURLException var13) {
  58.          ((Throwable)var13).printStackTrace();
  59.          File var4 = new File(var1);
  60.          return var4.exists() ? new URL("file:/" + var1) : new URL(var0, var2);
  61.       }
  62.    }
  63.  
  64.    static String tuHtmlToText(String var0) {
  65.       if (var0 == null) {
  66.          return null;
  67.       } else {
  68.          int var1 = var0.indexOf(38);
  69.          if (var1 < 0) {
  70.             return var0;
  71.          } else {
  72.             String var2 = "";
  73.  
  74.             while(var1 > -1 && var1 < var0.length() - 2) {
  75.                var2 = var2 + var0.substring(0, var1);
  76.                String var3 = var0.substring(var1);
  77.                int var4 = var3.indexOf(59);
  78.                if (var4 < 0) {
  79.                   var2 = var2 + var3;
  80.                   break;
  81.                }
  82.  
  83.                if (var4 < var3.length() - 1) {
  84.                   var0 = var3.substring(var4 + 1);
  85.                } else {
  86.                   var0 = "";
  87.                }
  88.  
  89.                var3 = var3.substring(1, var4);
  90.                switch (Character.toUpperCase(var3.charAt(0))) {
  91.                   case 'A':
  92.                      if (var3.equalsIgnoreCase("amp")) {
  93.                         var3 = "&";
  94.                      }
  95.                      break;
  96.                   case 'C':
  97.                      if (var3.equalsIgnoreCase("copy")) {
  98.                         var3 = "(c)";
  99.                      }
  100.                      break;
  101.                   case 'G':
  102.                      if (var3.equalsIgnoreCase("gt")) {
  103.                         var3 = ">";
  104.                      }
  105.                      break;
  106.                   case 'L':
  107.                      if (var3.equalsIgnoreCase("lt")) {
  108.                         var3 = "<";
  109.                      }
  110.                      break;
  111.                   case 'N':
  112.                      if (var3.equalsIgnoreCase("nbsp")) {
  113.                         var3 = " ";
  114.                      }
  115.                      break;
  116.                   case 'Q':
  117.                      if (var3.equalsIgnoreCase("quot")) {
  118.                         var3 = "\"";
  119.                      }
  120.                      break;
  121.                   case 'R':
  122.                      if (var3.equalsIgnoreCase("reg")) {
  123.                         var3 = "(R)";
  124.                      }
  125.                }
  126.  
  127.                var2 = var2 + var3;
  128.                var1 = var0.indexOf(38);
  129.                if (var1 < 0) {
  130.                   var2 = var2 + var0;
  131.                }
  132.             }
  133.  
  134.             return var2;
  135.          }
  136.       }
  137.    }
  138. }
  139.