home *** CD-ROM | disk | FTP | other *** search
- package sun.applet;
-
- import java.awt.Button;
- import java.awt.Choice;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Frame;
- import java.awt.GridLayout;
- import java.awt.Label;
- import java.awt.Panel;
- import java.awt.TextField;
- import java.awt.Window;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.Hashtable;
- import java.util.Properties;
- import sun.net.www.http.HttpClient;
-
- class AppletProps extends Frame {
- TextField proxyHost;
- TextField proxyPort;
- Choice networkMode;
- Choice accessMode;
- Choice unsignedMode;
- private static AppletMessageHandler amh = new AppletMessageHandler("appletprops");
-
- AppletProps() {
- ((Frame)this).setTitle(amh.getMessage("title"));
- Panel var1 = new Panel();
- ((Container)var1).setLayout(new GridLayout(0, 2));
- ((Container)var1).add(new Label(amh.getMessage("label.http.server", "Http proxy server:")));
- ((Container)var1).add(this.proxyHost = new TextField());
- ((Container)var1).add(new Label(amh.getMessage("label.http.proxy")));
- ((Container)var1).add(this.proxyPort = new TextField());
- ((Container)var1).add(new Label(amh.getMessage("label.network")));
- ((Container)var1).add(this.networkMode = new Choice());
- this.networkMode.addItem(amh.getMessage("choice.network.item.none"));
- this.networkMode.addItem(amh.getMessage("choice.network.item.applethost"));
- this.networkMode.addItem(amh.getMessage("choice.network.item.unrestricted"));
- ((Container)var1).add(new Label(amh.getMessage("label.class")));
- ((Container)var1).add(this.accessMode = new Choice());
- this.accessMode.addItem(amh.getMessage("choice.class.item.restricted"));
- this.accessMode.addItem(amh.getMessage("choice.class.item.unrestricted"));
- ((Container)var1).add(new Label(amh.getMessage("label.unsignedapplet")));
- ((Container)var1).add(this.unsignedMode = new Choice());
- this.unsignedMode.addItem(amh.getMessage("choice.unsignedapplet.no"));
- this.unsignedMode.addItem(amh.getMessage("choice.unsignedapplet.yes"));
- ((Container)this).add("Center", var1);
- var1 = new Panel();
- ((Container)var1).add(new Button(amh.getMessage("button.apply")));
- ((Container)var1).add(new Button(amh.getMessage("button.reset")));
- ((Container)var1).add(new Button(amh.getMessage("button.cancel")));
- ((Container)this).add("South", var1);
- ((Component)this).move(200, 150);
- ((Window)this).pack();
- this.reset();
- }
-
- void reset() {
- ((AppletSecurity)System.getSecurityManager()).reset();
- switch (((AppletSecurity)System.getSecurityManager()).networkMode) {
- case 1:
- this.networkMode.select(amh.getMessage("choice.network.item.none"));
- break;
- case 2:
- default:
- this.networkMode.select(amh.getMessage("choice.network.item.applethost"));
- break;
- case 3:
- this.networkMode.select(amh.getMessage("choice.network.item.unrestricted"));
- }
-
- if (Boolean.getBoolean("package.restrict.access.sun")) {
- this.accessMode.select(amh.getMessage("choice.class.item.restricted"));
- } else {
- this.accessMode.select(amh.getMessage("choice.class.item.unrestricted"));
- }
-
- if (System.getProperty("http.proxyHost") != null) {
- this.proxyHost.setText(System.getProperty("http.proxyHost"));
- this.proxyPort.setText(System.getProperty("http.proxyPort"));
- HttpClient.proxyPort = Integer.valueOf(System.getProperty("http.proxyPort"));
- } else {
- this.proxyHost.setText("");
- this.proxyPort.setText("");
- }
-
- if (Boolean.getBoolean("appletviewer.security.allowUnsigned")) {
- this.unsignedMode.select(amh.getMessage("choice.unsignedapplet.yes"));
- } else {
- this.unsignedMode.select(amh.getMessage("choice.unsignedapplet.no"));
- }
- }
-
- void apply() {
- Properties var1 = System.getProperties();
- ((Hashtable)var1).put("appletviewer.version", AppletViewer.theVersion);
- if (this.proxyHost.getText().length() > 0) {
- ((Hashtable)var1).put("http.proxyHost", this.proxyHost.getText().trim());
- ((Hashtable)var1).put("http.proxyPort", this.proxyPort.getText().trim());
- } else {
- ((Hashtable)var1).remove("http.proxyHost");
- }
-
- if (amh.getMessage("choice.network.item.none").equals(this.networkMode.getSelectedItem())) {
- ((Hashtable)var1).put("appletviewer.security.mode", "none");
- } else if (amh.getMessage("choice.network.item.unrestricted").equals(this.networkMode.getSelectedItem())) {
- ((Hashtable)var1).put("appletviewer.security.mode", "unrestricted");
- } else {
- ((Hashtable)var1).put("appletviewer.security.mode", "host");
- }
-
- if (amh.getMessage("choice.class.item.restricted").equals(this.accessMode.getSelectedItem())) {
- ((Hashtable)var1).put("package.restrict.access.sun", "true");
- ((Hashtable)var1).put("package.restrict.access.netscape", "true");
- } else {
- ((Hashtable)var1).put("package.restrict.access.sun", "false");
- ((Hashtable)var1).put("package.restrict.access.netscape", "false");
- }
-
- if (amh.getMessage("choice.unsignedapplet.yes").equals(this.unsignedMode.getSelectedItem())) {
- ((Hashtable)var1).put("appletviewer.security.allowUnsigned", "true");
- } else {
- ((Hashtable)var1).put("appletviewer.security.allowUnsigned", "false");
- }
-
- try {
- this.reset();
- FileOutputStream var2 = new FileOutputStream(AppletViewer.theUserPropertiesFile);
- var1.save(var2, "AppletViewer");
- var2.close();
- ((Component)this).hide();
- } catch (IOException var3) {
- System.out.println(amh.getMessage("apply.exception", var3));
- ((Throwable)var3).printStackTrace();
- this.reset();
- }
- }
-
- public boolean action(Event var1, Object var2) {
- if (amh.getMessage("button.apply").equals(var2)) {
- this.apply();
- return true;
- } else if (amh.getMessage("button.reset").equals(var2)) {
- this.reset();
- return true;
- } else if (amh.getMessage("button.cancel").equals(var2)) {
- ((Component)this).hide();
- return true;
- } else {
- return false;
- }
- }
- }
-