home *** CD-ROM | disk | FTP | other *** search
- package sun.plugin;
-
- import com.sun.deploy.util.URLUtil;
- import java.applet.Applet;
- import java.beans.Beans;
- import java.beans.XMLDecoder;
- import java.io.ByteArrayInputStream;
- import java.io.IOException;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.swing.JComponent;
- import javax.swing.LayoutFocusTraversalPolicy;
- import sun.applet.AppletClassLoader;
-
- public class BeansViewer extends AppletViewer {
- public static final int APPLET_DISPOSE = 0;
- public static final int APPLET_ERROR = 7;
- private byte[] bytes = null;
-
- public static Applet createJavaBeanComponent(AppletViewer var0, AppletClassLoader var1) throws ClassNotFoundException, IllegalAccessException, IOException, InstantiationException, InterruptedException {
- String var3 = var0.getSerializedObject();
- String var4 = var0.getCode();
- if (var4 != null && var3 != null) {
- System.err.println(AppletViewer.getMessage("bean_code_and_ser"));
- return null;
- } else {
- if (var4 == null && var3 == null) {
- String var5 = "nocode";
- var0.setStatus(7);
- var0.showAppletStatus(var5);
- var0.showAppletLog(var5);
- var0.repaint();
- }
-
- Applet var2;
- if (var4 != null) {
- Object var10 = Beans.instantiate(var1, var4);
- var2 = createApplet(var10);
- var0.setDoInit(true);
- } else {
- Object var11 = Beans.instantiate(var1, var3);
- var2 = createApplet(var11);
- var0.setDoInit(false);
- }
-
- if (Thread.interrupted()) {
- try {
- var0.setStatus(0);
- Object var9 = null;
- var0.showAppletStatus("death");
- } finally {
- Thread.currentThread().interrupt();
- }
-
- return null;
- } else {
- return var2;
- }
- }
- }
-
- protected Applet createApplet(AppletClassLoader var1) throws ClassNotFoundException, IllegalAccessException, IOException, InstantiationException, InterruptedException {
- if (this.bytes == null) {
- return createJavaBeanComponent(this, var1);
- } else {
- ByteArrayInputStream var2 = new ByteArrayInputStream(this.bytes);
- XMLDecoder var3 = new XMLDecoder(var2);
- Object var4 = var3.readObject();
- Applet var5 = createApplet(var4);
- var2.close();
- this.setDoInit(true);
- return var5;
- }
- }
-
- protected String getHandledType() {
- return "JavaBeans";
- }
-
- public URL getCodeBase() {
- if (!this.codeBaseInit) {
- String var1 = this.getParameter("java_codebase");
- if (var1 == null) {
- var1 = this.getParameter("codebase");
- }
-
- if (var1 != null) {
- if (!var1.equals(".") && !var1.endsWith("/")) {
- var1 = var1 + "/";
- }
-
- try {
- this.baseURL = new URL(URLUtil.canonicalize(var1));
- } catch (MalformedURLException var3) {
- }
- }
-
- this.codeBaseInit = true;
- }
-
- return this.baseURL;
- }
-
- public URL getDocumentBase() {
- return null;
- }
-
- public void setByteStream(byte[] var1) {
- this.bytes = var1;
- }
-
- static Applet createApplet(Object var0) {
- BeansApplet var1 = new BeansApplet(var0);
- if (var0 instanceof JComponent) {
- ((Applet)var1).setFocusTraversalPolicy(new LayoutFocusTraversalPolicy());
- ((Applet)var1).setFocusTraversalPolicyProvider(true);
- }
-
- return var1;
- }
- }
-