home *** CD-ROM | disk | FTP | other *** search
- package sun.activator;
-
- import java.applet.Applet;
- import java.applet.AppletContext;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Window;
- import java.io.BufferedInputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Hashtable;
- import java.util.Properties;
- import sun.activator.protocol.ProxyType;
- import sun.activator.protocol.ftp.Handler;
- import sun.applet.AppletPanel;
- import sun.net.www.MimeTable;
-
- public abstract class AppletViewer extends AppletPanel implements ProxyType {
- public static final int NETWORK_ACCESS_NONE = 0;
- public static final int NETWORK_ACCESS_HOST = 1;
- public static final int NETWORK_ACCESS_UNRESTRICTED = 2;
- public static final int CLASS_ACCESS_RESTRICTED = 0;
- public static final int CLASS_ACCESS_UNRESTRICTED = 1;
- public static final int UNSIGNED_ACCESS_NO = 0;
- public static final int UNSIGNED_ACCESS_YES = 1;
- private static boolean debug = true;
- private static boolean initialized = false;
- public static boolean javaEnabled = true;
- public static String theVersion = "1.1";
- private static String defaultSaveFile = "Applet.ser";
- public static File theUserPropertiesFile;
- public static File theAppletViewerPropsFile;
- URL documentURL = null;
- URL baseURL = null;
- private static AppletMessageHandler amh = new AppletMessageHandler("appletpanel");
- protected Hashtable atts = new Hashtable();
- private ActivatorAppletContext appletContext;
-
- protected AppletViewer(ActivatorAppletContext var1) {
- if (var1 == null) {
- throw new IllegalArgumentException("AppletContext");
- } else {
- this.appletContext = var1;
- var1.addAppletInContext(this);
- }
- }
-
- static void debug(String var0) {
- if (debug) {
- System.err.println("AppletViewerPanel::" + var0);
- }
-
- }
-
- public Applet getApplet() {
- Applet var1 = super.getApplet();
- if (var1 != null) {
- return var1 instanceof BeansApplet ? null : var1;
- } else {
- return null;
- }
- }
-
- public AppletContext getAppletContext() {
- return this.appletContext;
- }
-
- public String getCode() {
- String var1 = this.getParameter("java_code");
- if (var1 == null) {
- var1 = this.getParameter("code");
- }
-
- return var1;
- }
-
- public URL getCodeBase() {
- return this.baseURL;
- }
-
- public URL getDocumentBase() {
- return this.documentURL;
- }
-
- protected String getHandledType() {
- return "Java Applet";
- }
-
- public int getHeight() {
- String var1 = this.getParameter("height");
- return var1 != null ? Integer.valueOf(var1) : 0;
- }
-
- public String getJarFiles() {
- String var1 = this.getParameter("java_archive");
- if (var1 == null) {
- var1 = this.getParameter("archive");
- }
-
- return var1;
- }
-
- public String getName() {
- String var1 = this.getParameter("name");
- if (var1 != null) {
- return var1;
- } else {
- var1 = this.getCode();
- if (var1 != null) {
- int var2 = var1.lastIndexOf(".class");
- if (var2 != -1) {
- var1 = var1.substring(0, var2);
- }
- } else {
- var1 = this.getSerializedObject();
- if (var1 != null) {
- int var4 = var1.lastIndexOf(".ser");
- if (var4 != -1) {
- var1 = var1.substring(0, var4);
- }
- }
- }
-
- return var1;
- }
- }
-
- public String getParameter(String var1) {
- var1 = var1.toLowerCase();
- if (this.atts.get(var1) != null) {
- return (String)this.atts.get(var1);
- } else {
- String var2 = null;
-
- try {
- var2 = this.getParameterFromHTML(var1);
- } catch (Throwable var4) {
- var4.printStackTrace();
- }
-
- if (var2 != null) {
- this.atts.put(var1.toLowerCase(), var2);
- }
-
- return var2;
- }
- }
-
- protected abstract String getParameterFromHTML(String var1);
-
- public String getSerializedObject() {
- String var1 = this.getParameter("java_object");
- if (var1 == null) {
- var1 = this.getParameter("object");
- }
-
- return var1;
- }
-
- public Object getViewedObject() {
- Applet var1 = super.getApplet();
- return var1 instanceof BeansApplet ? ((BeansApplet)var1).bean : var1;
- }
-
- public String getWaitingMessage() {
- return "Loading " + this.getHandledType() + " ...";
- }
-
- public int getWidth() {
- String var1 = this.getParameter("width");
- return var1 != null ? Integer.valueOf(var1) : 0;
- }
-
- public void init() {
- super.init();
- ((AppletPanel)this).sendEvent(1);
- ((AppletPanel)this).sendEvent(2);
- ((AppletPanel)this).sendEvent(3);
- }
-
- public static void initEnvironment(int var0, String var1, String var2) {
- if (!initialized) {
- initialized = true;
- Properties var3 = new Properties(System.getProperties());
- ((Hashtable)var3).put("acl.read", "+");
- ((Hashtable)var3).put("acl.read.default", "");
- ((Hashtable)var3).put("acl.write", "+");
- ((Hashtable)var3).put("acl.write.default", "");
- ((Hashtable)var3).put("browser", "sun.activator");
- ((Hashtable)var3).put("browser.version", theVersion);
- ((Hashtable)var3).put("browser.vendor", "Sun Microsystems Inc.");
- ((Hashtable)var3).put("http.agent", "Activator/" + theVersion);
- ((Hashtable)var3).put("package.restrict.access.sun", "true");
- ((Hashtable)var3).put("package.restrict.access.netscape", "true");
- ((Hashtable)var3).put("package.restrict.definition.java", "true");
- ((Hashtable)var3).put("package.restrict.definition.sun", "true");
- ((Hashtable)var3).put("package.restrict.definition.netscape", "true");
- ((Hashtable)var3).put("java.version.applet", "true");
- ((Hashtable)var3).put("java.vendor.applet", "true");
- ((Hashtable)var3).put("java.vendor.url.applet", "true");
- ((Hashtable)var3).put("java.class.version.applet", "true");
- ((Hashtable)var3).put("os.name.applet", "true");
- ((Hashtable)var3).put("os.version.applet", "true");
- ((Hashtable)var3).put("os.arch.applet", "true");
- ((Hashtable)var3).put("file.separator.applet", "true");
- ((Hashtable)var3).put("path.separator.applet", "true");
- ((Hashtable)var3).put("line.separator.applet", "true");
- ((Hashtable)var3).put("java.protocol.handler.pkgs", "sun.activator.protocol");
-
- try {
- FileInputStream var4 = new FileInputStream(theAppletViewerPropsFile);
- var3.load(new BufferedInputStream(var4));
- var4.close();
- } catch (Exception var9) {
- }
-
- try {
- FileInputStream var10 = new FileInputStream(theUserPropertiesFile);
- var3.load(new BufferedInputStream(var10));
- var10.close();
- } catch (Exception var8) {
- System.out.println("[no properties loaded, using defaults]");
- }
-
- if ("true".equalsIgnoreCase(var3.getProperty("activator.console", "false"))) {
- Frame var11 = JavaRunTime.openJavaConsole();
- if (var11 != null) {
- ((Window)var11).show();
- }
-
- String var5 = System.getProperty("activator.version");
- if (var5 == null) {
- System.out.println("Project Java Activator");
- } else {
- System.out.println("Project Java Activator: Version " + var5);
- }
-
- System.out.println("Using JRE version " + System.getProperty("java.version"));
- System.out.println("User home directory = " + System.getProperty("user.home"));
- }
-
- if ("false".equalsIgnoreCase(var3.getProperty("activator.proxy.usebrowsersettings", "true"))) {
- System.out.println("User has overriden browser's proxy settings.");
- var0 = 1;
- var1 = var3.getProperty("activator.proxy.settings", "");
- var2 = "";
- }
-
- switch (var0) {
- case 1:
- System.out.println("Proxy Configuration: Manual Configuration");
- System.out.println(" Proxy: " + var1);
- System.out.println(" Proxy Override: " + var2);
- break;
- case 2:
- System.out.println("Proxy Configuration: Automatic Proxy Configuration");
- break;
- default:
- System.out.println("Proxy Configuration: No Proxy");
- var0 = 0;
- }
-
- System.out.println("");
- ((Hashtable)var3).remove("http.proxyHost");
- ((Hashtable)var3).remove("http.proxyPort");
- ((Hashtable)var3).remove("ftpProxyHost");
- ((Hashtable)var3).remove("ftpProxyPort");
- ((Hashtable)var3).remove("ftpProxySet");
- ((Hashtable)var3).remove("gopherProxyHost");
- ((Hashtable)var3).remove("gopherProxyPort");
- ((Hashtable)var3).remove("gopherProxySet");
- if (var0 != 0) {
- ActivatorProxyHandler var12 = new ActivatorProxyHandler(var0, var1, var2);
-
- try {
- Handler.setProxyHandler(var12);
- sun.activator.protocol.http.Handler.setProxyHandler(var12);
- sun.activator.protocol.gopher.Handler.setProxyHandler(var12);
- } catch (Throwable var7) {
- sun.activator.protocol.jdk12.ftp.Handler.setProxyHandler(var12);
- sun.activator.protocol.http.Handler.setProxyHandler(var12);
- sun.activator.protocol.gopher.Handler.setProxyHandler(var12);
- ((Hashtable)var3).put("java.protocol.handler.pkgs", "sun.activator.protocol.jdk12");
- }
- }
-
- System.setProperties(var3);
- System.setSecurityManager(new ActivatorSecurityManager());
- Runtime.getRuntime();
- Runtime.runFinalizersOnExit(true);
-
- try {
- MimeTable var13 = MimeTable.getDefaultTable();
- } catch (Throwable var6) {
- var6.printStackTrace();
- }
-
- if ("false".equalsIgnoreCase(var3.getProperty("activator.enabled", "true"))) {
- javaEnabled = false;
- System.err.println("Java is not enabled");
- }
- }
- }
-
- protected void initProperties() {
- String var1 = this.getParameter("java_codebase");
- if (var1 == null) {
- var1 = this.getParameter("codebase");
- }
-
- if (var1 != null) {
- if (!var1.endsWith("/")) {
- var1 = var1 + "/";
- }
-
- try {
- this.baseURL = new URL(this.documentURL, var1);
- } catch (MalformedURLException var5) {
- }
- }
-
- if (this.baseURL == null) {
- String var2 = this.documentURL.getFile();
- int var3 = var2.lastIndexOf(47);
- if (var3 > 0 && var3 < var2.length() - 1) {
- try {
- this.baseURL = new URL(this.documentURL, var2.substring(0, var3 + 1));
- } catch (MalformedURLException var4) {
- }
- }
- }
-
- if (this.baseURL == null) {
- this.baseURL = this.documentURL;
- }
-
- }
-
- public static void loadPropertiesFiles() {
- String var0 = File.separator;
- theUserPropertiesFile = new File(System.getProperty("user.home") + var0 + ".java" + var0 + "properties");
- (new File(theUserPropertiesFile.getParent())).mkdirs();
- theAppletViewerPropsFile = new File(System.getProperty("java.home") + var0 + "lib" + var0 + "appletviewer.properties");
- }
-
- public void onClose(int var1) {
- this.appletContext.removeAppletFromContext(this);
- if (super.status == 1) {
- super.status = 7;
- ((AppletPanel)this).stopLoading();
- ((AppletPanel)this).getAppletHandlerThread().interrupt();
- } else {
- ((AppletPanel)this).sendEvent(4);
- ((AppletPanel)this).sendEvent(5);
- ((AppletPanel)this).sendEvent(0);
- ((AppletPanel)this).sendEvent(6);
-
- try {
- if (var1 >= 0) {
- ((AppletPanel)this).getAppletHandlerThread().join((long)var1);
- }
- } catch (InterruptedException var2) {
- }
-
- }
- }
-
- public void paint(Graphics var1) {
- if (this.getViewedObject() == null && var1 != null) {
- ((Component)this).setBackground(Color.white);
- var1.setColor(Color.black);
- Dimension var2 = ((Component)this).getSize();
- Font var3 = var1.getFont();
- FontMetrics var4 = null;
- if (var3 != null) {
- var4 = var1.getFontMetrics(var3);
- }
-
- String var5 = this.getWaitingMessage();
- if (var2 != null && var4 != null) {
- var1.drawString(var5, (var2.width - var4.stringWidth(var5)) / 2, (var2.height + var4.getAscent()) / 2);
- }
- }
-
- }
-
- public void setDoInit(boolean var1) {
- super.doInit = var1;
- }
-
- public void setDocumentBase(URL var1) {
- this.documentURL = var1;
- }
-
- public void setParameter(String var1, Object var2) {
- var1 = var1.toLowerCase();
- this.atts.put(var1, var2.toString());
- }
-
- public void setStatus(int var1) {
- super.status = var1;
- }
-
- public void showActivatorAppletLog(String var1) {
- ((AppletPanel)this).showAppletLog(var1);
- }
-
- public void showActivatorAppletStatus(String var1) {
- ((AppletPanel)this).showAppletStatus(var1);
- }
- }
-