home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / icsclass.jar / lotus / domino / servlet / NativeStub.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-15  |  6.4 KB  |  324 lines

  1. package lotus.domino.servlet;
  2.  
  3. import java.util.Hashtable;
  4.  
  5. public class NativeStub {
  6.    public static final int HTTP_NOACTION = 0;
  7.    public static final int HTTP_CONTINUE = 100;
  8.    public static final int HTTP_SWITCHING_PROTOCOLS = 101;
  9.    public static final int HTTP_OK = 200;
  10.    public static final int HTTP_CREATED = 201;
  11.    public static final int HTTP_ACCEPTED = 202;
  12.    public static final int HTTP_NON_AUTHORITATIVE = 203;
  13.    public static final int HTTP_NO_CONTENT = 204;
  14.    public static final int HTTP_RESET_CONTENT = 205;
  15.    public static final int HTTP_PARTIAL_CONENT = 206;
  16.    public static final int HTTP_MULTIPLE_CHOICES = 300;
  17.    public static final int HTTP_MOVED_PERMANENTLY = 301;
  18.    public static final int HTTP_MOVED_TEMPORARILY = 302;
  19.    public static final int HTTP_SEE_OTHER = 303;
  20.    public static final int HTTP_NOT_MODIFIED = 304;
  21.    public static final int HTTP_USE_PROXY = 305;
  22.    public static final int HTTP_TEMPORARY_REDIRECT = 307;
  23.    public static final int HTTP_BAD_REQUEST = 400;
  24.    public static final int HTTP_UNAUTHORIZED = 401;
  25.    public static final int HTTP_FORBIDDEN = 403;
  26.    public static final int HTTP_NOT_FOUND = 404;
  27.    public static final int HTTP_METHOD_NOT_ALLOWED = 405;
  28.    public static final int HTTP_NOT_ACCEPTABLE = 406;
  29.    public static final int HTTP_PROXY_UNAUTHORIZED = 407;
  30.    public static final int HTTP_REQUEST_TIMEOUT = 408;
  31.    public static final int HTTP_CONFLICT = 409;
  32.    public static final int HTTP_GONE = 410;
  33.    public static final int HTTP_LENGTH_REQUIRED = 411;
  34.    public static final int HTTP_PRECONDITION_FAILED = 412;
  35.    public static final int HTTP_ENTITY_TOO_LARGE = 413;
  36.    public static final int HTTP_URI_TOO_LONG = 414;
  37.    public static final int HTTP_BAD_MEDIA_TYPE = 415;
  38.    public static final int HTTP_SERVER_ERROR = 500;
  39.    public static final int HTTP_NOT_IMPLEMENTED = 501;
  40.    public static final int HTTP_BAD_GATEWAY = 502;
  41.    public static final int HTTP_SERVICE_UNAVAILABLE = 503;
  42.    public static final int HTTP_GATEWAY_TIMEOUT = 504;
  43.    public static final int HTTP_BAD_VERSION = 505;
  44.    public static final int HTTPD_UNSUPPORTED = -1;
  45.    public static final int HTTPD_SUCCESS = 0;
  46.    public static final int HTTPD_FAILURE = 1;
  47.    public static final int HTTPD_INTERNAL_ERROR = 2;
  48.    public static final int HTTPD_PARAMETER_ERROR = 3;
  49.    public static final int HTTPD_STATE_CHECK = 4;
  50.    public static final int HTTPD_READ_ONLY = 5;
  51.    public static final int HTTPD_BUFFER_TOO_SMALL = 6;
  52.    public static final int HTTPD_AUTHENTICATE_FAILED = 7;
  53.    public static final int HTTPD_EOF = 8;
  54.    public static final int HTTPD_ABORT_REQUEST = 9;
  55.    public static final int HTTPD_REQUEST_SERVICED = 10;
  56.    public static final int HTTPD_RESPONSE_ALREADY_COMPLETED = 11;
  57.    public static final int HTTPD_MISSING_HANDLE = 25;
  58.    public static final int HTTPD_EXPIRED_HANDLE = 26;
  59.    public static Hashtable i_attributeTable;
  60.  
  61.    public static String getAttribute(String var0) {
  62.       return (String)i_attributeTable.get(var0);
  63.    }
  64.  
  65.    public static Hashtable getAttributeTable() {
  66.       return i_attributeTable;
  67.    }
  68.  
  69.    public static void setAttribute(String var0, String var1) {
  70.       i_attributeTable.put(var0, var1);
  71.    }
  72.  
  73.    public static void write(byte[] var0) throws NativeStubException {
  74.       if (var0 == null) {
  75.          throw new NullPointerException();
  76.       } else {
  77.          int var1 = HTTPD_write(var0, var0.length);
  78.          if (var1 != 0) {
  79.             throw new NativeStubException(var1);
  80.          }
  81.       }
  82.    }
  83.  
  84.    public static void write(String var0) throws NativeStubException {
  85.       if (var0 == null) {
  86.          throw new NullPointerException();
  87.       } else {
  88.          write(var0.getBytes());
  89.       }
  90.    }
  91.  
  92.    public static String extract(String var0) throws NativeStubException {
  93.       if (var0 == null) {
  94.          throw new NullPointerException();
  95.       } else {
  96.          int var1 = 6;
  97.          int var2 = 0;
  98.          byte[] var3 = new byte[0];
  99.          new String();
  100.  
  101.          int var5;
  102.          for(var5 = 0; var1 == 6; var1 = HTTPD_extract(var0, var3, var5)) {
  103.             var5 += 512;
  104.             var3 = new byte[var5];
  105.          }
  106.  
  107.          if (var1 != 0) {
  108.             if (var1 == 3) {
  109.                return null;
  110.             } else {
  111.                throw new NativeStubException(var1);
  112.             }
  113.          } else {
  114.             for(int var6 = 0; var6 < var5 && (char)var3[var6] != 0; ++var6) {
  115.                ++var2;
  116.             }
  117.  
  118.             String var4 = new String(var3, 0, var2);
  119.             return var4;
  120.          }
  121.       }
  122.    }
  123.  
  124.    public static void set(String var0, String var1) throws NativeStubException {
  125.       if (var0 != null && var1 != null) {
  126.          int var2 = HTTPD_set(var0, var1);
  127.          if (var2 != 0) {
  128.             throw new NativeStubException(var2);
  129.          }
  130.       } else {
  131.          throw new NullPointerException();
  132.       }
  133.    }
  134.  
  135.    public static int log_error(String var0) {
  136.       if (var0 == null) {
  137.          throw new NullPointerException();
  138.       } else {
  139.          return HTTPD_log_error(var0);
  140.       }
  141.    }
  142.  
  143.    public static int log_trace(String var0) {
  144.       if (var0 == null) {
  145.          throw new NullPointerException();
  146.       } else {
  147.          return HTTPD_log_trace(var0);
  148.       }
  149.    }
  150.  
  151.    public static byte[] read() throws NativeStubException {
  152.       String var0 = extract("CONTENT_LENGTH");
  153.       if (var0 == null) {
  154.          return null;
  155.       } else {
  156.          int var1 = Integer.parseInt(var0);
  157.          byte[] var2 = new byte[var1];
  158.          int var3 = HTTPD_read(var2, var1);
  159.          if (var3 == 4) {
  160.             throw new NativeStubException(var3);
  161.          } else {
  162.             return var2;
  163.          }
  164.       }
  165.    }
  166.  
  167.    public static String reverse_translate(String var0) throws NativeStubException {
  168.       if (var0 == null) {
  169.          throw new NullPointerException();
  170.       } else {
  171.          int var1 = 6;
  172.          int var2 = 0;
  173.          byte[] var3 = new byte[0];
  174.          new String();
  175.  
  176.          int var5;
  177.          for(var5 = 0; var1 == 6; var1 = HTTPD_reverse_translate(var0, var3, var5)) {
  178.             var5 += 512;
  179.             var3 = new byte[var5];
  180.          }
  181.  
  182.          if (var1 != 0) {
  183.             if (var1 == 1) {
  184.                return null;
  185.             } else {
  186.                throw new NativeStubException(var1);
  187.             }
  188.          } else {
  189.             for(int var6 = 0; var6 < var5 && (char)var3[var6] != 0; ++var6) {
  190.                ++var2;
  191.             }
  192.  
  193.             String var4 = new String(var3, 0, var2);
  194.             return var4;
  195.          }
  196.       }
  197.    }
  198.  
  199.    public static String translate(String var0) throws NativeStubException {
  200.       if (var0 == null) {
  201.          throw new NullPointerException();
  202.       } else {
  203.          int var1 = 6;
  204.          int var2 = 0;
  205.          byte[] var3 = new byte[0];
  206.          new String();
  207.  
  208.          int var5;
  209.          for(var5 = 0; var1 == 6; var1 = HTTPD_translate(var0, var3, var5)) {
  210.             var5 += 512;
  211.             var3 = new byte[var5];
  212.          }
  213.  
  214.          if (var1 != 0) {
  215.             if (var1 == 1) {
  216.                return null;
  217.             } else {
  218.                throw new NativeStubException(var1);
  219.             }
  220.          } else {
  221.             for(int var6 = 0; var6 < var5 && (char)var3[var6] != 0; ++var6) {
  222.                ++var2;
  223.             }
  224.  
  225.             String var4 = new String(var3, 0, var2);
  226.             return var4;
  227.          }
  228.       }
  229.    }
  230.  
  231.    public static String attributes(String var0) throws NativeStubException {
  232.       if (var0 == null) {
  233.          throw new NullPointerException();
  234.       } else {
  235.          int var1 = 6;
  236.          int var2 = 0;
  237.          byte[] var3 = new byte[0];
  238.          new String();
  239.  
  240.          int var5;
  241.          for(var5 = 0; var1 == 6; var1 = HTTPD_attributes(var0, var3, var5)) {
  242.             var5 += 512;
  243.             var3 = new byte[var5];
  244.          }
  245.  
  246.          if (var1 != 0) {
  247.             if (var1 == 1) {
  248.                return null;
  249.             } else {
  250.                throw new NativeStubException(var1);
  251.             }
  252.          } else {
  253.             for(int var6 = 0; var6 < var5 && (char)var3[var6] != 0; ++var6) {
  254.                ++var2;
  255.             }
  256.  
  257.             String var4 = new String(var3, 0, var2);
  258.             return var4;
  259.          }
  260.       }
  261.    }
  262.  
  263.    private static native int HTTPD_write(byte[] var0, int var1);
  264.  
  265.    private static native int HTTPD_extract(String var0, byte[] var1, int var2);
  266.  
  267.    private static native int HTTPD_set(String var0, String var1);
  268.  
  269.    private static native int HTTPD_log_error(String var0);
  270.  
  271.    private static native int HTTPD_log_trace(String var0);
  272.  
  273.    private static native int HTTPD_read(byte[] var0, int var1);
  274.  
  275.    private static native int HTTPD_reverse_translate(String var0, byte[] var1, int var2);
  276.  
  277.    private static native int HTTPD_translate(String var0, byte[] var1, int var2);
  278.  
  279.    private static native int HTTPD_attributes(String var0, byte[] var1, int var2);
  280.  
  281.    static {
  282.       String var0 = System.getProperty("os.name");
  283.       String var1 = System.getProperty("os.arch");
  284.       var0 = var0.toUpperCase();
  285.       var1 = var1.toUpperCase();
  286.  
  287.       try {
  288.          String var2 = null;
  289.          String var3 = "";
  290.          i_attributeTable = new Hashtable();
  291.          if (!var0.equals("WINDOWS NT") && !var0.equals("WINDOWS 95")) {
  292.             if (var0.equals("WINDOWS")) {
  293.                var2 = "_";
  294.             } else if (var0.equals("OS/2")) {
  295.                var2 = "i";
  296.             } else if (var0.equals("AIX")) {
  297.                var2 = "";
  298.                var3 = "_r";
  299.             } else if (var0.equals("SOLARIS")) {
  300.                var2 = "";
  301.             } else if (var0.equals("HPUX")) {
  302.                var2 = "";
  303.             } else {
  304.                var2 = "";
  305.             }
  306.          } else if (var1.equals("X86")) {
  307.             var2 = "n";
  308.          } else if (var1.equals("ALPHA")) {
  309.             var2 = "a";
  310.          }
  311.  
  312.          if (var2 == null) {
  313.             System.err.println("Could not load dll for " + var0);
  314.             throw new NativeStubException(2);
  315.          } else {
  316.             String var4 = var2 + "jvwrap" + var3;
  317.             System.loadLibrary(var4);
  318.          }
  319.       } catch (Exception var5) {
  320.          ((Throwable)var5).printStackTrace();
  321.       }
  322.    }
  323. }
  324.