home *** CD-ROM | disk | FTP | other *** search
- package com.zerog.lax;
-
- import com.zerog.util.QuotedStreamTokenizer;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.PrintStream;
- import java.io.StringReader;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import java.util.Enumeration;
- import java.util.Properties;
- import java.util.Vector;
-
- public class LAX {
- // $FF: renamed from: a java.lang.String[]
- public String[] field_0;
- // $FF: renamed from: b java.util.Properties
- public Properties field_1;
-
- // $FF: renamed from: a (java.lang.String) void
- public void method_0(String var1) {
- this.field_1 = new Properties(System.getProperties());
-
- try {
- FileInputStream var2 = new FileInputStream(new File(var1));
- this.field_1.load(var2);
- ((InputStream)var2).close();
- Enumeration var3 = System.getProperties().propertyNames();
-
- while(var3.hasMoreElements()) {
- String var4 = ((String)var3.nextElement()).toLowerCase();
- if (var4.startsWith("lax.")) {
- this.field_1.remove(var4);
- }
- }
-
- var3 = this.field_1.propertyNames();
-
- while(var3.hasMoreElements()) {
- String var13 = (String)var3.nextElement();
- if (var13.startsWith("LAX.")) {
- String var5 = this.field_1.getProperty(var13);
- this.field_1.put(var13.toLowerCase(), var5);
- }
- }
-
- System.setProperties(this.field_1);
- String var14 = System.getProperty("os.name").toLowerCase();
- if (var14.indexOf("unix") != -1 || var14.indexOf("irix") != -1 || var14.indexOf("netbsd") != -1 || var14.indexOf("freebsd") != -1 || var14.indexOf("bsdi") != -1 || var14.indexOf("bsd") != -1 || var14.indexOf("unixware") != -1 || var14.indexOf("aix") != -1 || var14.indexOf("dg/ux") != -1 || var14.indexOf("dgux") != -1 || var14.indexOf("linux") != -1 || var14.indexOf("machten") != -1 || var14.indexOf("nextstep") != -1 || var14.indexOf("rhapsody") != -1 || var14.indexOf("hp-ux") != -1 || var14.indexOf("hpux") != -1 || var14.indexOf("sunos") != -1 || var14.indexOf("solaris") != -1 || var14.indexOf("windows") != -1) {
- this.method_1();
- }
-
- String var15 = System.getProperty("LISTARGS");
- if (var15 != null) {
- PrintStream var6 = System.out;
- if (var15.length() != 0) {
- try {
- var6 = new PrintStream(new FileOutputStream(new File(var15)));
- } catch (IOException var10) {
- }
- }
-
- var6.println("Args");
- var6.println("----");
-
- for(int var7 = 0; var7 < this.field_0.length; ++var7) {
- var6.println("arg[" + var7 + "]= '" + this.field_0[var7] + "'");
- }
-
- var6.println("");
- }
-
- var15 = System.getProperty("LISTPROPS");
- if (var15 != null) {
- PrintStream var17 = System.out;
- if (var15.length() != 0) {
- try {
- var17 = new PrintStream(new FileOutputStream(new File(var15)));
- } catch (IOException var9) {
- }
- }
-
- var17.println("Properties");
- var17.println("----------");
- Enumeration var18 = this.field_1.propertyNames();
-
- while(var18.hasMoreElements()) {
- String var8 = (String)var18.nextElement();
- var17.println(var8 + " = " + this.field_1.getProperty(var8));
- }
-
- var17.println("");
- }
- } catch (IOException var11) {
- ((Throwable)var11).printStackTrace();
- }
-
- }
-
- // $FF: renamed from: a () void
- private void method_1() {
- String var1;
- if ((var1 = System.getProperty("lax.stdout.redirect")) != null && var1.length() > 0 && !var1.toLowerCase().trim().equals("console") && !var1.toLowerCase().trim().equals("")) {
- try {
- System.setOut(new PrintStream(new FileOutputStream(var1, true)));
- } catch (IOException var5) {
- ((Throwable)var5).printStackTrace();
- }
- }
-
- String var2;
- if ((var2 = System.getProperty("lax.stderr.redirect")) != null && var2.length() > 0 && !var2.toLowerCase().trim().equals("console") && !var2.toLowerCase().trim().equals("")) {
- if (var2.equals(var1)) {
- System.setErr(System.out);
- } else {
- try {
- System.setErr(new PrintStream(new FileOutputStream(var2, true)));
- } catch (IOException var4) {
- ((Throwable)var4).printStackTrace();
- }
- }
- }
-
- }
-
- // $FF: renamed from: b () void
- private void method_2() throws Throwable {
- Class var1 = null;
- String var2 = this.field_1.getProperty("lax.main.class");
- if (var2 == null) {
- throw new RuntimeException("lax.main.class" + " was not found in the properties file.");
- } else {
- Method var3 = null;
- String var4 = this.field_1.getProperty("lax.main.method");
- if (var4 == null) {
- throw new RuntimeException("lax.main.method" + " was not found in class " + var2);
- } else {
- String var5 = this.field_1.getProperty("lax.command.line.args");
-
- try {
- var1 = Class.forName(var2);
- } catch (ClassNotFoundException var13) {
- ((Throwable)var13).printStackTrace();
- }
-
- try {
- Class[] var6 = new Class[]{(new String[0]).getClass()};
- var3 = var1.getMethod(var4, var6);
- } catch (NoSuchMethodException var12) {
- ((Throwable)var12).printStackTrace();
- }
-
- try {
- Object[] var14 = new Object[]{this.method_3(var5)};
- var3.invoke((Object)null, var14);
- } catch (IllegalAccessException var7) {
- System.err.println("LAX: Method is inaccessible.");
- System.err.println("The class " + var2 + " must be public and");
- System.err.println("have a public static void " + var4 + "(String[]) method.");
- System.exit(-1);
- } catch (IllegalArgumentException var8) {
- System.err.println("LAX: Method is inaccessible.");
- System.err.println("The class " + var2 + " must be public and");
- System.err.println("have a public static void " + var4 + "(String[]) method.");
- System.exit(-1);
- } catch (InvocationTargetException var9) {
- throw var9.getTargetException();
- } catch (NullPointerException var10) {
- System.err.println("LAX: Method.invoke() threw NullPointerException:");
- Thread.dumpStack();
- ((Throwable)var10).printStackTrace(System.err);
- System.err.println("LAX: exiting.");
- System.exit(-1);
- } catch (Exception var11) {
- System.err.println("LAX: Method.invoke() threw Exception:");
- Thread.dumpStack();
- ((Throwable)var11).printStackTrace(System.err);
- System.err.println("LAX: exiting.");
- System.exit(-1);
- }
-
- }
- }
- }
-
- // $FF: renamed from: b (java.lang.String) java.lang.String[]
- private String[] method_3(String var1) {
- if (var1 != null && var1.length() > 0) {
- QuotedStreamTokenizer var2 = new QuotedStreamTokenizer(new StringReader(var1));
- Vector var4 = new Vector();
-
- String var3;
- try {
- while((var3 = var2.c()) != null) {
- if (var2.a() == -10) {
- var4.addElement(var3);
- } else if (var2.a() == -11) {
- var4.addElement(var3);
- } else if (var2.a() == -12) {
- var4.addElement(var3);
- }
- }
- } catch (Exception var8) {
- ((Throwable)var8).printStackTrace();
- }
-
- if (var4.size() <= 0) {
- return new String[0];
- } else {
- for(int var5 = 0; var5 < var4.size(); ++var5) {
- Object var6 = var4.elementAt(var5);
- if (((String)var6).equals("$CMD_LINE_ARGUMENTS$")) {
- for(int var7 = this.field_0.length - 1; var7 > 1; --var7) {
- var4.insertElementAt(this.field_0[var7], var5);
- }
-
- var4.removeElement(var6);
- }
- }
-
- String[] var9 = new String[var4.size()];
-
- for(int var10 = 0; var10 < var4.size(); ++var10) {
- var9[var10] = (String)var4.elementAt(var10);
- }
-
- return var9;
- }
- } else {
- return new String[0];
- }
- }
-
- // $FF: renamed from: c () void
- private void method_4() {
- System.out.println("\nLaunchAnywhere(tm) - The Universal Java Application Launcher");
- System.out.println(" Version 3.0 - Copyright 1998-99 Zero G Software, Inc.\n");
- }
-
- public static void main(String[] var0) throws Throwable {
- new LAX(var0);
- }
-
- public LAX() {
- this.method_4();
- }
-
- public LAX(String[] var1) throws Throwable {
- this.method_4();
- this.field_0 = var1;
- if (var1 != null && var1.length > 0) {
- if (var1[0].toUpperCase().endsWith(".LAX")) {
- this.method_0(var1[0]);
- }
-
- if (var1.length > 1 && !var1[1].equals("lax_no_temp_file")) {
- File var3 = new File(var1[1]);
- if (var3 != null && var3.exists()) {
- this.method_0(var3.getPath());
- var3.delete();
- }
- }
- } else {
- System.out.println("Path not supplied to properties file");
- }
-
- this.method_2();
- }
- }
-