home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 August / PCO0897.ISO / browser / tonline / ie32.exe / IEXPLORE.CAB / TCLASSES.ZIP / sun / applet / AppletProps.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-10-01  |  4.8 KB  |  168 lines

  1. package sun.applet;
  2.  
  3. import java.awt.Button;
  4. import java.awt.Choice;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.Frame;
  9. import java.awt.GridLayout;
  10. import java.awt.Label;
  11. import java.awt.Panel;
  12. import java.awt.TextField;
  13. import java.awt.Window;
  14. import java.io.FileOutputStream;
  15. import java.io.IOException;
  16. import java.util.Hashtable;
  17. import java.util.Properties;
  18. import sun.net.www.http.HttpClient;
  19.  
  20. class AppletProps extends Frame {
  21.    TextField proxyHost;
  22.    TextField proxyPort;
  23.    TextField firewallHost;
  24.    TextField firewallPort;
  25.    Choice networkMode;
  26.    Choice accessMode;
  27.  
  28.    AppletProps() {
  29.       ((Frame)this).setTitle("AppletViewer Properties");
  30.       Panel var1 = new Panel();
  31.       ((Container)var1).setLayout(new GridLayout(0, 2));
  32.       ((Container)var1).add(new Label("Http proxy server:"));
  33.       ((Container)var1).add(this.proxyHost = new TextField());
  34.       ((Container)var1).add(new Label("Http proxy port:"));
  35.       ((Container)var1).add(this.proxyPort = new TextField());
  36.       ((Container)var1).add(new Label("Firewall proxy server:"));
  37.       ((Container)var1).add(this.firewallHost = new TextField());
  38.       ((Container)var1).add(new Label("Firewall proxy port:"));
  39.       ((Container)var1).add(this.firewallPort = new TextField());
  40.       ((Container)var1).add(new Label("Network access:"));
  41.       ((Container)var1).add(this.networkMode = new Choice());
  42.       this.networkMode.addItem("None");
  43.       this.networkMode.addItem("Applet Host");
  44.       this.networkMode.addItem("Unrestricted");
  45.       ((Container)var1).add(new Label("Class access:"));
  46.       ((Container)var1).add(this.accessMode = new Choice());
  47.       this.accessMode.addItem("Restricted");
  48.       this.accessMode.addItem("Unrestricted");
  49.       ((Container)this).add("Center", var1);
  50.       var1 = new Panel();
  51.       ((Container)var1).add(new Button("Apply"));
  52.       ((Container)var1).add(new Button("Reset"));
  53.       ((Container)var1).add(new Button("Cancel"));
  54.       ((Container)this).add("South", var1);
  55.       ((Component)this).move(200, 150);
  56.       ((Window)this).pack();
  57.       this.reset();
  58.    }
  59.  
  60.    void reset() {
  61.       ((AppletSecurity)System.getSecurityManager()).reset();
  62.       switch (((AppletSecurity)System.getSecurityManager()).networkMode) {
  63.          case 1:
  64.             this.networkMode.select("None");
  65.             break;
  66.          case 2:
  67.          default:
  68.             this.networkMode.select("Applet Host");
  69.             break;
  70.          case 3:
  71.             this.networkMode.select("Unrestricted");
  72.       }
  73.  
  74.       if (Boolean.getBoolean("package.restrict.access.sun")) {
  75.          this.accessMode.select("Restricted");
  76.       } else {
  77.          this.accessMode.select("Unrestricted");
  78.       }
  79.  
  80.       if (Boolean.getBoolean("proxySet")) {
  81.          this.proxyHost.setText(System.getProperty("proxyHost"));
  82.          this.proxyPort.setText(System.getProperty("proxyPort"));
  83.          HttpClient.useProxyForCaching = true;
  84.          HttpClient.cachingProxyHost = System.getProperty("proxyHost");
  85.          HttpClient.cachingProxyPort = Integer.valueOf(System.getProperty("proxyPort"));
  86.       } else {
  87.          this.proxyHost.setText("");
  88.          this.proxyPort.setText("");
  89.          HttpClient.useProxyForCaching = false;
  90.       }
  91.  
  92.       if (Boolean.getBoolean("firewallSet")) {
  93.          this.firewallHost.setText(System.getProperty("firewallHost"));
  94.          this.firewallPort.setText(System.getProperty("firewallPort"));
  95.          HttpClient.useProxyForFirewall = true;
  96.          HttpClient.firewallProxyHost = System.getProperty("firewallHost");
  97.          HttpClient.firewallProxyPort = Integer.valueOf(System.getProperty("firewallPort"));
  98.       } else {
  99.          this.firewallHost.setText("");
  100.          this.firewallPort.setText("");
  101.          HttpClient.useProxyForFirewall = false;
  102.       }
  103.    }
  104.  
  105.    void apply() {
  106.       Properties var1 = System.getProperties();
  107.       ((Hashtable)var1).put("appletviewer.version", AppletViewer.theVersion);
  108.       if (this.proxyHost.getText().length() > 0) {
  109.          ((Hashtable)var1).put("proxySet", "true");
  110.          ((Hashtable)var1).put("proxyHost", this.proxyHost.getText().trim());
  111.          ((Hashtable)var1).put("proxyPort", this.proxyPort.getText().trim());
  112.       } else {
  113.          ((Hashtable)var1).put("proxySet", "false");
  114.       }
  115.  
  116.       if (this.firewallHost.getText().length() > 0) {
  117.          ((Hashtable)var1).put("firewallSet", "true");
  118.          ((Hashtable)var1).put("firewallHost", this.firewallHost.getText().trim());
  119.          ((Hashtable)var1).put("firewallPort", this.firewallPort.getText().trim());
  120.       } else {
  121.          ((Hashtable)var1).put("firewallSet", "false");
  122.       }
  123.  
  124.       if ("None".equals(this.networkMode.getSelectedItem())) {
  125.          ((Hashtable)var1).put("appletviewer.security.mode", "none");
  126.       } else if ("Unrestricted".equals(this.networkMode.getSelectedItem())) {
  127.          ((Hashtable)var1).put("appletviewer.security.mode", "unrestricted");
  128.       } else {
  129.          ((Hashtable)var1).put("appletviewer.security.mode", "host");
  130.       }
  131.  
  132.       if ("Restricted".equals(this.accessMode.getSelectedItem())) {
  133.          ((Hashtable)var1).put("package.restrict.access.sun", "true");
  134.          ((Hashtable)var1).put("package.restrict.access.netscape", "true");
  135.       } else {
  136.          ((Hashtable)var1).put("package.restrict.access.sun", "false");
  137.          ((Hashtable)var1).put("package.restrict.access.netscape", "false");
  138.       }
  139.  
  140.       try {
  141.          this.reset();
  142.          FileOutputStream var2 = new FileOutputStream(AppletViewer.theUserPropertiesFile);
  143.          var1.save(var2, "AppletViewer");
  144.          var2.close();
  145.          ((Component)this).hide();
  146.       } catch (IOException var3) {
  147.          System.out.println("Failed to save properties: " + var3);
  148.          ((Throwable)var3).printStackTrace();
  149.          this.reset();
  150.       }
  151.    }
  152.  
  153.    public boolean action(Event var1, Object var2) {
  154.       if ("Apply".equals(var2)) {
  155.          this.apply();
  156.          return true;
  157.       } else if ("Reset".equals(var2)) {
  158.          this.reset();
  159.          return true;
  160.       } else if ("Cancel".equals(var2)) {
  161.          ((Component)this).hide();
  162.          return true;
  163.       } else {
  164.          return false;
  165.       }
  166.    }
  167. }
  168.