home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPSingle.jar / JDesignerPro.class (.txt) next >
Encoding:
Java Class File  |  1999-02-11  |  16.6 KB  |  871 lines

  1. import java.applet.Applet;
  2. import java.applet.AppletContext;
  3. import java.awt.BorderLayout;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.Font;
  9. import java.awt.GridLayout;
  10. import java.awt.Image;
  11. import java.awt.Label;
  12. import java.awt.Panel;
  13. import java.io.ByteArrayOutputStream;
  14. import java.io.DataInputStream;
  15. import java.io.FileInputStream;
  16. import java.io.InputStream;
  17. import java.io.OutputStream;
  18. import java.io.PrintStream;
  19. import java.net.URL;
  20. import java.util.StringTokenizer;
  21. import java.util.Vector;
  22.  
  23. public class JDesignerPro extends Applet implements Runnable {
  24.    static boolean JDPLicensed;
  25.    static int JDPLicenses;
  26.    String JDPSystem;
  27.    String JDPClassName;
  28.    String JDPClassParameter;
  29.    String JDPInWebPage;
  30.    String JDPDomain;
  31.    String JDPDirectory = "";
  32.    String JDPJaggDir;
  33.    String JDPCompiler;
  34.    String JDPClasses;
  35.    String NDSPath;
  36.    String JDPJaggSetup;
  37.    String JDPJaggServer;
  38.    String JDPSystemDesc;
  39.    String boldFontName;
  40.    int boldFontSize;
  41.    String plainFontName;
  42.    int plainFontSize;
  43.    float versionnum;
  44.    String language;
  45.    String country;
  46.    String JDPJaggPath;
  47.    String JDPJaggDSN;
  48.    String JDPJaggCSTR;
  49.    String JDPJaggJdbcDriver;
  50.    String JDPJaggJdbcPrefix;
  51.    String JDPJaggJdbcSuffix;
  52.    String JDPJaggJdbcUserid;
  53.    String JDPJaggJdbcPassword;
  54.    String autoUsername;
  55.    String autoPassword;
  56.    Image iconImage;
  57.    Image JDPIconImage;
  58.    static ByteArrayOutputStream SystemOutStream;
  59.    JDPConsoleDialog consoleDialog;
  60.    static String version = "3.0";
  61.    static String actualversion = "3.00";
  62.    boolean installing;
  63.    JDPJagg jaggSQL;
  64.    JDPLogin login;
  65.    JDPUser[] user;
  66.    int userCount;
  67.    boolean exitapplet;
  68.    static boolean executable;
  69.    static boolean usingNDSSnapin;
  70.    AppletContext saveAppletContext;
  71.    Label updateLabel;
  72.    int maxprocess = 20;
  73.    String username;
  74.    boolean singlemode;
  75.    boolean expired;
  76.    String wintitle;
  77.    String thisDocument;
  78.    String wwwroot;
  79.    String IniContents = "";
  80.    static String pathDelimiter = ";";
  81.    static String serverPlatform = "";
  82.    static String serverSeparator = "\\";
  83.    static String dateFormat = "mm/dd/yy";
  84.    int daysRemaining;
  85.    // $FF: renamed from: r java.lang.Runtime
  86.    Runtime field_0;
  87.    int counter;
  88.  
  89.    public void stop() {
  90.       if (this.JDPInWebPage != null) {
  91.          this.jaggSQL.setFCTN("Logout");
  92.          this.jaggSQL.setFCTNP("");
  93.          Vector var1 = new Vector();
  94.          this.jaggSQL.execSQL("", var1);
  95.       }
  96.  
  97.    }
  98.  
  99.    JDPUser initUser(int var1) {
  100.       JDPUser var2;
  101.       if (this.JDPClassName == null) {
  102.          var2 = this.user[var1];
  103.       } else {
  104.          var2 = this.user[var1];
  105.          var2.u = new JDPUtils(var2);
  106.          var2.boldFontName = this.boldFontName;
  107.          var2.boldFontSize = this.boldFontSize;
  108.          var2.plainFontName = this.plainFontName;
  109.          var2.plainFontSize = this.plainFontSize;
  110.          var2.plainFont = new Font(this.plainFontName, 0, this.plainFontSize);
  111.          var2.boldFont = new Font(this.boldFontName, 1, this.boldFontSize);
  112.          ((Component)this).setFont(var2.plainFont);
  113.       }
  114.  
  115.       var2.JDesignerPro = this;
  116.       var2.process = new JDPProcessThread[this.maxprocess];
  117.       var2.processStatus = new int[this.maxprocess];
  118.       var2.jaggPath = this.JDPJaggPath;
  119.       var2.jaggDSN = this.JDPJaggDSN;
  120.       var2.jaggCSTR = this.JDPJaggCSTR;
  121.       var2.jdbcDriver = this.JDPJaggJdbcDriver;
  122.       var2.jdbcPrefix = this.JDPJaggJdbcPrefix;
  123.       var2.jdbcSuffix = this.JDPJaggJdbcSuffix;
  124.       var2.jdbcUserid = this.JDPJaggJdbcUserid;
  125.       var2.jdbcPassword = this.JDPJaggJdbcPassword;
  126.       var2.wwwroot = this.wwwroot;
  127.       var2.gParm = new Vector();
  128.       var2.JDPBuildTestPanel[0] = new Panel();
  129.       var2.JDPBuildTestPanel[1] = new Panel();
  130.       var2.JDPBuildTestPanel[2] = new Panel();
  131.       var2.JDPBuildTestPanel[3] = new Panel();
  132.       var2.JDPBuildTestPanel[4] = new Panel();
  133.       var2.saveProperties = new JDPSaveProps(var2);
  134.       var2.serverListener = new JDPServerListener(var2);
  135.       return var2;
  136.    }
  137.  
  138.    String addDelimiter(String var1) {
  139.       String var2 = var1.substring(var1.length() - 1);
  140.       if (!var2.equals("/") && !var2.equals("\\")) {
  141.          if (var1.indexOf("/") >= 0) {
  142.             var1 = var1 + "/";
  143.          } else {
  144.             var1 = var1 + "\\";
  145.          }
  146.       }
  147.  
  148.       if (var1.indexOf("/") >= 0) {
  149.          pathDelimiter = ":";
  150.       } else {
  151.          pathDelimiter = ";";
  152.       }
  153.  
  154.       return var1;
  155.    }
  156.  
  157.    void displayMessage(JDPUser var1, String var2, String var3, String var4, String var5) {
  158.       new JDPSvrMsgDialog(var1, var2, this, false, var3, var4, var5);
  159.    }
  160.  
  161.    boolean checkSetup(String var1, String var2, String var3) {
  162.       if (var3.substring(0, 4).compareTo("http") != 0) {
  163.          int var4 = var3.lastIndexOf("/");
  164.          if (var4 > 0) {
  165.             var3 = var3.substring(0, var4 + 1);
  166.             this.wwwroot = var3;
  167.          }
  168.       }
  169.  
  170.       var2 = this.loadIniFile(var3, var1);
  171.       this.getServerPlatform();
  172.       if (var2 == null) {
  173.          if (executable) {
  174.             this.JDPSystemDesc = "Could not open JDesignerPro.ini.";
  175.          } else {
  176.             this.JDPSystemDesc = "Could not connect to WebServer.";
  177.          }
  178.  
  179.          this.boldFontName = "Helvetica";
  180.          this.boldFontSize = 11;
  181.          this.plainFontName = "Helvetica";
  182.          this.plainFontSize = 11;
  183.          this.versionnum = 0.0F;
  184.          this.expired = true;
  185.          this.login = new JDPLogin(this, this.JDPSystemDesc);
  186.          if (executable) {
  187.             this.login.mainmsg.setStatusMsg("Check JDesignerPro dir permissions.", 0);
  188.          } else {
  189.             this.login.mainmsg.setStatusMsg("Check that WebServer is running.", 0);
  190.          }
  191.  
  192.          JDPJagg.cleanUp();
  193.          return false;
  194.       } else if (var2.length() > 0) {
  195.          return this.getSystem(var1, var2);
  196.       } else {
  197.          this.installing = true;
  198.          this.loadLicenseWindow();
  199.          this.versionnum = Float.valueOf(actualversion.trim().replace('b', '0'));
  200.          return true;
  201.       }
  202.    }
  203.  
  204.    void invalidLogin() {
  205.       this.exitapplet = true;
  206.    }
  207.  
  208.    public JDesignerPro() {
  209.    }
  210.  
  211.    public JDesignerPro(String var1, String var2) {
  212.       if (var1 == null) {
  213.          var1 = ((Applet)this).getCodeBase().toString();
  214.       } else {
  215.          executable = true;
  216.          SystemOutStream = new ByteArrayOutputStream();
  217.       }
  218.  
  219.       this.wwwroot = var1;
  220.       this.JDPSystem = var2;
  221.       this.init();
  222.    }
  223.  
  224.    public JDesignerPro(String var1, String var2, String var3, String var4) {
  225.       if (var1 == null) {
  226.          var1 = ((Applet)this).getCodeBase().toString();
  227.       } else {
  228.          executable = true;
  229.          SystemOutStream = new ByteArrayOutputStream();
  230.       }
  231.  
  232.       this.wwwroot = var1;
  233.       this.JDPSystem = var2;
  234.       this.autoUsername = var3;
  235.       this.autoPassword = var4;
  236.       this.init();
  237.    }
  238.  
  239.    public JDesignerPro(String var1, String var2, String var3, String var4, String var5) {
  240.       if (var1 == null) {
  241.          var1 = ((Applet)this).getCodeBase().toString();
  242.       } else {
  243.          executable = true;
  244.          SystemOutStream = new ByteArrayOutputStream();
  245.       }
  246.  
  247.       this.wwwroot = var1;
  248.       this.JDPSystem = var2;
  249.       this.autoUsername = var3;
  250.       this.autoPassword = var4;
  251.       this.JDPClassName = var5;
  252.       this.init();
  253.    }
  254.  
  255.    boolean getSystem(String var1, String var2) {
  256.       int var3 = var2.indexOf(" ");
  257.       this.JDPJaggPath = var2.substring(0, var3);
  258.       this.JDPJaggCSTR = var2.substring(var3 + 1);
  259.       int var4 = this.JDPJaggCSTR.indexOf("DSN=") + 4;
  260.       int var5 = this.JDPJaggCSTR.indexOf(";", var4);
  261.       this.JDPJaggDSN = this.JDPJaggCSTR.substring(var4, var5);
  262.       int var6 = var2.indexOf("JDBCDRIVER=");
  263.       if (var6 >= 0) {
  264.          var6 = var2.indexOf("=", var6 + 1);
  265.          var3 = var2.indexOf(";", var6 + 1);
  266.          this.JDPJaggJdbcDriver = var2.substring(var6 + 1, var3);
  267.          var6 = var2.indexOf("JDBCPREFIX=", var6 + 1);
  268.          var6 = var2.indexOf("=", var6 + 1);
  269.          var3 = var2.indexOf(";", var6 + 1);
  270.          this.JDPJaggJdbcPrefix = var2.substring(var6 + 1, var3);
  271.          var6 = var2.indexOf("JDBCSUFFIX=", var6 + 1);
  272.          var6 = var2.indexOf("=", var6 + 1);
  273.          var3 = var2.indexOf(";", var6 + 1);
  274.          this.JDPJaggJdbcSuffix = var2.substring(var6 + 1, var3);
  275.          var6 = var2.indexOf("UID=", var6 + 1);
  276.          var6 = var2.indexOf("=", var6 + 1);
  277.          var3 = var2.indexOf(";", var6 + 1);
  278.          this.JDPJaggJdbcUserid = var2.substring(var6 + 1, var3);
  279.          var6 = var2.indexOf("PWD=", var6 + 1);
  280.          var6 = var2.indexOf("=", var6 + 1);
  281.          var3 = var2.indexOf(";", var6 + 1);
  282.          this.JDPJaggJdbcPassword = var2.substring(var6 + 1, var3);
  283.          var6 = var2.indexOf("CSTR=", var6 + 1);
  284.          this.JDPJaggCSTR = "";
  285.          if (var6 > 0) {
  286.             var6 = var2.indexOf("=", var6 + 1);
  287.             this.JDPJaggCSTR = var2.substring(var6 + 1);
  288.          }
  289.       } else {
  290.          var6 = var2.indexOf("UID=", var6 + 1);
  291.          var6 = var2.indexOf("=", var6 + 1);
  292.          var3 = var2.indexOf(";", var6 + 1);
  293.          this.JDPJaggJdbcUserid = var2.substring(var6 + 1, var3);
  294.          var6 = var2.indexOf("PWD=", var6 + 1);
  295.          var6 = var2.indexOf("=", var6 + 1);
  296.          var3 = var2.indexOf(";", var6 + 1);
  297.          this.JDPJaggJdbcPassword = var2.substring(var6 + 1, var3);
  298.       }
  299.  
  300.       this.jaggSQL = new JDPJagg(this.JDPJaggPath);
  301.       this.jaggSQL.setSystem(var1);
  302.       this.jaggSQL.setDSN(this.JDPJaggDSN);
  303.       this.jaggSQL.setCSTR(this.JDPJaggCSTR);
  304.       this.jaggSQL.setJdbcDriver(this.JDPJaggJdbcDriver);
  305.       this.jaggSQL.setJdbcPrefix(this.JDPJaggJdbcPrefix);
  306.       this.jaggSQL.setJdbcSuffix(this.JDPJaggJdbcSuffix);
  307.       this.jaggSQL.setUID(this.JDPJaggJdbcUserid);
  308.       this.jaggSQL.setPWD(this.JDPJaggJdbcPassword);
  309.       this.jaggSQL.loadJdbcDataSources();
  310.       Vector var7 = new Vector();
  311.       int var9;
  312.       if (this.NDSPath != null) {
  313.          this.jaggSQL.setFCTN("NDSexecSQL");
  314.          String var8 = "SELECT Description,JDP:bfontname,JDP:bfontsize,JDP:pfontname, " + "JDP:pfontsize,JDP:versionnum, JDP:jlanguage, JDP:country, JDP:dateformat " + "FROM JDesignerPro System WHERE JDP:JDPSystem = '" + var1 + "'";
  315.          var9 = this.jaggSQL.execSQL(var8, var7);
  316.          this.jaggSQL.setFCTN("");
  317.       } else {
  318.          String var36 = "SELECT JDPSystemD,bfontname,bfontsize,pfontname, " + "pfontsize,versionnum, jlanguage, country, dateformat " + "FROM JDPSystemDef WHERE JDPSystem = '" + var1 + "'";
  319.          var9 = this.jaggSQL.execSQL(var36, var7);
  320.       }
  321.  
  322.       if (var9 < 0 || this.NDSPath != null && var9 == 0) {
  323.          if (this.user == null) {
  324.             this.user = new JDPUser[1];
  325.             this.user[0] = new JDPUser();
  326.          }
  327.  
  328.          this.user[0] = this.initUser(0);
  329.          this.user[0].jaggSQL = this.jaggSQL;
  330.          this.user[0].u = new JDPUtils(this.user[0]);
  331.          this.user[0].mainmsg = new JDPStatusMessage(this.user[0]);
  332.          this.performVersionUpdate();
  333.          this.performNDSUpdate();
  334.          var7 = new Vector();
  335.          if (this.NDSPath != null) {
  336.             this.jaggSQL.setFCTN("NDSexecSQL");
  337.             String var37 = "SELECT Description,JDP:bfontname,JDP:bfontsize,JDP:pfontname, " + "JDP:pfontsize,JDP:versionnum, JDP:jlanguage, JDP:country, JDP:dateformat " + "FROM JDesignerPro System WHERE JDP:JDPSystem = '" + var1 + "'";
  338.             var9 = this.jaggSQL.execSQL(var37, var7);
  339.             this.jaggSQL.setFCTN("");
  340.          } else {
  341.             String var38 = "SELECT JDPSystemD,bfontname,bfontsize,pfontname, " + "pfontsize,versionnum, 'en', ' ', 'mm/dd/yy' " + "FROM JDPSystemDef WHERE JDPSystem = '" + var1 + "'";
  342.             var9 = this.jaggSQL.execSQL(var38, var7);
  343.          }
  344.       }
  345.  
  346.       if (var9 < 0) {
  347.          this.daysRemaining = 1;
  348.       }
  349.  
  350.       String var10 = "\\";
  351.       if (this.JDPCompiler.indexOf("/") >= 0) {
  352.          var10 = "/";
  353.       }
  354.  
  355.       if (JDPJagg.useJaggServer && this.JDPJaggDir == null) {
  356.          this.getUnixDaysRemaining();
  357.       }
  358.  
  359.       if (JDPJagg.useJaggServer && var9 > 0 && this.JDPJaggDir != null) {
  360.          String var11 = this.JDPJaggDir + "JDPJagg.exe CheckLicense";
  361.          Vector var12 = new Vector();
  362.          this.jaggSQL.setFCTN("System");
  363.          this.jaggSQL.setFCTNP("");
  364.          int var13 = this.jaggSQL.execSQL(var11, var12);
  365.          this.daysRemaining = var13;
  366.          this.jaggSQL.setFCTN("");
  367.          if (var13 <= 0) {
  368.             System.out.println(this.jaggSQL.getError());
  369.             var9 = -1;
  370.             this.daysRemaining = 0;
  371.          }
  372.       }
  373.  
  374.       if (!JDPJagg.useJaggServer) {
  375.          this.getDaysRemaining();
  376.       }
  377.  
  378.       if (this.daysRemaining > 90) {
  379.          this.daysRemaining = 0;
  380.          var9 = -1;
  381.       }
  382.  
  383.       if (var9 != 1) {
  384.          if (var9 < 0 && this.daysRemaining == 0) {
  385.             this.boldFontName = "Helvetica";
  386.             this.boldFontSize = 11;
  387.             this.plainFontName = "Helvetica";
  388.             this.plainFontSize = 11;
  389.             this.versionnum = 0.0F;
  390.             this.expired = true;
  391.             this.loadExpiredMessage();
  392.             this.JDPSystemDesc = "Trial period expired.";
  393.             this.boldFontName = "Helvetica";
  394.             this.boldFontSize = 11;
  395.             this.plainFontName = "Helvetica";
  396.             this.plainFontSize = 11;
  397.             this.versionnum = 0.0F;
  398.             this.expired = true;
  399.             this.login = new JDPLogin(this, "Trial period expired.");
  400.             this.login.mainmsg.setStatusMsg("Please purchase a license from BulletProof.", 0);
  401.             return false;
  402.          } else {
  403.             this.jaggSQL.getError();
  404.             if (JDPJagg.useJaggServer) {
  405.                this.JDPSystemDesc = "Could not connect to JaggServer.";
  406.             } else {
  407.                this.JDPSystemDesc = "Could not connect to WebServer.";
  408.             }
  409.  
  410.             this.boldFontName = "Helvetica";
  411.             this.boldFontSize = 11;
  412.             this.plainFontName = "Helvetica";
  413.             this.plainFontSize = 11;
  414.             this.versionnum = 0.0F;
  415.             this.expired = true;
  416.             this.login = new JDPLogin(this, this.JDPSystemDesc);
  417.             if (JDPJagg.useJaggServer) {
  418.                this.login.mainmsg.setStatusMsg("Check that JaggServer is running.", 0);
  419.             } else {
  420.                this.login.mainmsg.setStatusMsg("Check that WebServer is running.", 0);
  421.             }
  422.  
  423.             return false;
  424.          }
  425.       } else {
  426.          String var40 = new String(this.jaggSQL.getSEP());
  427.          StringTokenizer var41 = new StringTokenizer((String)var7.elementAt(0));
  428.          this.JDPSystemDesc = var41.nextToken(var40).trim();
  429.          this.boldFontName = var41.nextToken(var40).trim();
  430.          this.boldFontSize = Integer.parseInt(var41.nextToken(var40).trim());
  431.          this.plainFontName = var41.nextToken(var40).trim();
  432.          this.plainFontSize = Integer.parseInt(var41.nextToken(var40).trim());
  433.          String var42 = var41.nextToken(var40).trim().replace('b', '0');
  434.          this.versionnum = Float.valueOf(var42);
  435.          this.language = var41.nextToken(var40).trim();
  436.          this.country = var41.nextToken(var40).trim();
  437.          dateFormat = var41.nextToken(var40).trim();
  438.          this.login = new JDPLogin(this, this.JDPSystemDesc);
  439.          return true;
  440.       }
  441.    }
  442.  
  443.    void setParms(String[] var1) {
  444.       executable = true;
  445.  
  446.       try {
  447.          if (Class.forName("JDPSplash") != null) {
  448.             new JDPSplash();
  449.          }
  450.       } catch (Exception var2) {
  451.       }
  452.  
  453.       SystemOutStream = new ByteArrayOutputStream();
  454.       if (var1 != null) {
  455.          if (var1.length >= 1) {
  456.             this.wwwroot = var1[0];
  457.          }
  458.  
  459.          if (var1.length >= 2) {
  460.             this.JDPSystem = var1[1];
  461.          }
  462.  
  463.          if (var1.length >= 3) {
  464.             this.autoUsername = var1[2];
  465.             this.autoPassword = "";
  466.             if (var1.length >= 4) {
  467.                this.autoPassword = var1[3];
  468.                if (var1.length >= 5) {
  469.                   this.JDPClassName = var1[4];
  470.                }
  471.             }
  472.          }
  473.  
  474.       }
  475.    }
  476.  
  477.    void performVersionUpdate() {
  478.       new JDPVersionUpdate(this.user[0], 0.0F, 0.0F);
  479.    }
  480.  
  481.    void getDaysRemaining() {
  482.       this.jaggSQL.getSEP();
  483.       this.jaggSQL.setFCTN("DaysRemaining");
  484.       this.jaggSQL.setFCTNP("");
  485.       Vector var1 = new Vector();
  486.       this.daysRemaining = this.jaggSQL.execSQL("", var1);
  487.       if (this.daysRemaining < 0) {
  488.          this.daysRemaining = 0;
  489.       }
  490.  
  491.       this.jaggSQL.setFCTN("");
  492.    }
  493.  
  494.    void getUnixDaysRemaining() {
  495.       this.jaggSQL.getSEP();
  496.       this.jaggSQL.setFCTN("UnixDaysRemaining");
  497.       this.jaggSQL.setFCTNP("");
  498.       Vector var1 = new Vector();
  499.       this.daysRemaining = this.jaggSQL.execSQL("", var1);
  500.       if (this.daysRemaining < 0) {
  501.          this.daysRemaining = 0;
  502.       }
  503.  
  504.       this.jaggSQL.setFCTN("");
  505.    }
  506.  
  507.    String getServerPlatform() {
  508.       if (!JDPJagg.useJaggServer) {
  509.          serverSeparator = "\\";
  510.          serverPlatform = "Windows";
  511.          return serverPlatform;
  512.       } else {
  513.          if (this.jaggSQL == null) {
  514.             this.jaggSQL = new JDPJagg(this.JDPDomain);
  515.          }
  516.  
  517.          this.jaggSQL.setSystem(this.JDPSystem);
  518.          this.jaggSQL.setFCTN("GetPlatform");
  519.          this.jaggSQL.setFCTNP("");
  520.          Vector var1 = new Vector();
  521.          int var2 = this.jaggSQL.execSQL("", var1);
  522.          if (var2 < 0 && executable) {
  523.             (new Thread(this)).start();
  524.  
  525.             try {
  526.                Thread.sleep(1000L);
  527.             } catch (Exception var3) {
  528.             }
  529.  
  530.             var2 = this.jaggSQL.execSQL("", var1);
  531.          }
  532.  
  533.          if (var2 >= 1) {
  534.             serverSeparator = (String)var1.elementAt(0);
  535.             serverPlatform = (String)var1.elementAt(1);
  536.          }
  537.  
  538.          this.jaggSQL.setFCTN("");
  539.          return serverPlatform;
  540.       }
  541.    }
  542.  
  543.    void loadLicenseWindow() {
  544.       new JDPSetup(this, this.IniContents);
  545.    }
  546.  
  547.    // $FF: renamed from: gc () void
  548.    void method_0() {
  549.       if (this.counter++ > 50) {
  550.          if (this.field_0 == null) {
  551.             this.field_0 = Runtime.getRuntime();
  552.          }
  553.  
  554.          this.field_0.gc();
  555.          System.runFinalization();
  556.          System.gc();
  557.          this.counter = 0;
  558.       }
  559.  
  560.    }
  561.  
  562.    void validLogin() {
  563.       if (executable && !System.getProperty("java.version").startsWith("1.0")) {
  564.          PrintStream var1 = new PrintStream((OutputStream)SystemOutStream);
  565.          System.setOut(var1);
  566.          System.setErr(var1);
  567.       }
  568.  
  569.       JDPUser var3 = this.initUser(0);
  570.       this.wintitle = var3.JDPSystemDesc;
  571.       var3.jaggSQL = this.jaggSQL;
  572.       this.versionnum = Float.valueOf(actualversion.trim().replace('b', '0'));
  573.       if (var3.loginMessage != null) {
  574.          var3.loginMessage.setStatusMsg("Loading window...", 0);
  575.       }
  576.  
  577.       if (this.JDPInWebPage != null) {
  578.          this.user[0] = var3;
  579.          ((Container)this).setLayout(new BorderLayout());
  580.          ((Component)this).setBackground(JDPUtils.getControlColor());
  581.          var3.popup = new JDPPopupComponent(var3, this);
  582.          ((Container)this).add(var3.popup);
  583.          var3.mainmsg = new JDPStatusMessage(var3);
  584.          if (this.JDPClassName != null) {
  585.             ((Container)this).add("Center", new JDPPanelLoader(var3, this.JDPClassName, this.JDPClassParameter, (boolean[])null, 0));
  586.          } else {
  587.             var3.jdpMenuPanel = new JDPTabSelectPanel(var3, var3.menu, "North");
  588.             ((Container)this).add("Center", var3.jdpMenuPanel);
  589.          }
  590.  
  591.          Panel var2 = new Panel();
  592.          ((Container)var2).setLayout(new GridLayout(1, 1));
  593.          ((Container)var2).add(var3.mainmsg);
  594.          ((Container)this).add("South", var2);
  595.          if (!JDPLicensed) {
  596.             var3.mainmsg.eastMessage.setText("(Unlicensed)");
  597.             var3.mainmsg.eastMessage.setForeground(Color.red);
  598.          }
  599.  
  600.          ((Component)this).show();
  601.          var3.serverListener.registerForRequest("JDPSystemMessage", this);
  602.          ((Component)this).paintAll(((Component)this).getGraphics());
  603.          this.remlogin();
  604.       } else {
  605.          var3.jdpMainWindow = new JDPMainWindow(var3, this.wintitle);
  606.          this.remlogin();
  607.          var3.jdpMainWindow.requestFocus();
  608.       }
  609.  
  610.       ++this.userCount;
  611.    }
  612.  
  613.    public static void main(String[] var0) {
  614.       JDesignerPro var1 = new JDesignerPro();
  615.       var1.setParms(var0);
  616.       var1.init();
  617.    }
  618.  
  619.    void performNDSUpdate() {
  620.       new JDPSetupNDS(this.user[0], 0.0F, 0.0F);
  621.    }
  622.  
  623.    void loadImages() {
  624.       JDPImageLoader var1 = new JDPImageLoader((JDPUser)null, this, "Images/JDPICON.gif");
  625.       (new Thread(var1)).start();
  626.    }
  627.  
  628.    void licenseCheck() {
  629.       this.jaggSQL.getSEP();
  630.       this.jaggSQL.setFCTN("CheckLicense");
  631.       this.jaggSQL.setFCTNP("");
  632.       Vector var1 = new Vector();
  633.       int var2 = this.jaggSQL.execSQL("", var1);
  634.       this.jaggSQL.setFCTN("");
  635.       if (var2 <= 0) {
  636.          var2 = 100;
  637.          String var3 = "\\";
  638.          if (this.JDPCompiler.indexOf("/") >= 0) {
  639.             var3 = "/";
  640.          }
  641.  
  642.          if (JDPJagg.useJaggServer && this.JDPJaggDir == null) {
  643.             var2 = 2;
  644.          }
  645.  
  646.          JDPLicensed = false;
  647.       } else {
  648.          JDPLicensed = true;
  649.       }
  650.    }
  651.  
  652.    boolean loadExpiredMessage() {
  653.       String var1 = "expired.html";
  654.       String var2 = this.JDPDirectory + "Docs" + serverSeparator + var1;
  655.       if (executable) {
  656.          this.user = new JDPUser[1];
  657.          this.user[0] = new JDPUser();
  658.          this.user[0] = this.initUser(0);
  659.          this.user[0].jaggSQL = new JDPJagg(this.JDPJaggPath);
  660.          this.user[0].u = new JDPUtils(this.user[0]);
  661.          this.user[0].mainmsg = new JDPStatusMessage(this.user[0]);
  662.          String var9 = this.user[0].u.getRelatedAppPath(".html", "Please locate your browser application", true);
  663.          if (var9 != null) {
  664.             String var4 = var9 + " " + var2;
  665.  
  666.             try {
  667.                Runtime var5 = Runtime.getRuntime();
  668.                var5.exec(var4);
  669.             } catch (Exception var7) {
  670.                ((Throwable)var7).printStackTrace();
  671.             }
  672.  
  673.             System.exit(0);
  674.             return false;
  675.          } else {
  676.             return false;
  677.          }
  678.       } else {
  679.          try {
  680.             String var3 = this.wwwroot + "Docs/" + var1;
  681.             ((Applet)this).getAppletContext().showDocument(new URL(var3));
  682.          } catch (Exception var8) {
  683.             ((Throwable)var8).printStackTrace();
  684.          }
  685.  
  686.          return false;
  687.       }
  688.    }
  689.  
  690.    public void run() {
  691.       System.out.println("Starting Enterprise Server in background...");
  692.       JaggServer.jdesignerpro = this;
  693.       new JaggServer(JDPJagg.getDefaultPort(), "sun.jdbc.odbc.JdbcOdbcDriver", "jdbc:odbc:");
  694.    }
  695.  
  696.    public void init() {
  697.       if (this.wwwroot == null) {
  698.          this.wwwroot = ((Applet)this).getCodeBase().toString();
  699.          this.JDPSystem = ((Applet)this).getParameter("JDPSystem");
  700.          this.JDPInWebPage = ((Applet)this).getParameter("JDPInWebPage");
  701.          this.autoUsername = ((Applet)this).getParameter("JDPUsername");
  702.          this.autoPassword = ((Applet)this).getParameter("JDPPassword");
  703.          this.JDPClassName = ((Applet)this).getParameter("JDPClassName");
  704.          this.JDPClassParameter = ((Applet)this).getParameter("JDPClassParameter");
  705.       }
  706.  
  707.       if (this.JDPClassParameter == null) {
  708.          this.JDPClassParameter = "";
  709.       }
  710.  
  711.       JDPUser.classactivated = true;
  712.       JDPButton.thisJDP = this;
  713.       JDPTreePicker.thisJDP = this;
  714.       JDPBrowser.activated = true;
  715.       this.field_0 = Runtime.getRuntime();
  716.  
  717.       try {
  718.          if ((!System.getProperty("java.vendor").startsWith("Netscape") || System.getProperty("java.version").compareTo("1.1.2") > 0) && !System.getProperty("os.name").startsWith("Mac") && !System.getProperty("java.version").startsWith("1.0")) {
  719.             JDPSystemColor.loadColors();
  720.          }
  721.       } catch (Exception var1) {
  722.       }
  723.  
  724.       this.loadImages();
  725.       if (this.checkSetup(this.JDPSystem, this.JDPJaggSetup, this.wwwroot)) {
  726.          if (this.JDPClassName != null) {
  727.          }
  728.  
  729.       }
  730.    }
  731.  
  732.    public boolean handleEvent(Event var1) {
  733.       if (this.exitapplet) {
  734.          return true;
  735.       } else {
  736.          switch (var1.id) {
  737.             case 201:
  738.                JDPJagg.cleanUp();
  739.                if (executable) {
  740.                   System.exit(0);
  741.                }
  742.  
  743.                return true;
  744.             case 1001:
  745.                if (var1.target.equals(this.user[0].serverListener)) {
  746.                   String var2 = (String)var1.arg;
  747.                   StringTokenizer var3 = new StringTokenizer(var2, "|");
  748.                   var3.nextToken();
  749.                   String var4 = var3.nextToken();
  750.                   String var5 = var3.nextToken();
  751.                   String var6 = var3.nextToken();
  752.                   String var7 = var3.nextToken();
  753.                   this.displayMessage(this.user[0], "Message from " + var4, var5, var6, var7);
  754.                   return true;
  755.                }
  756.  
  757.                return false;
  758.             default:
  759.                return false;
  760.          }
  761.       }
  762.    }
  763.  
  764.    void remlogin() {
  765.       if (this.login != null) {
  766.          this.login.dispose();
  767.       }
  768.  
  769.       this.login = null;
  770.    }
  771.  
  772.    void loadAppletContext() {
  773.       this.saveAppletContext = ((Applet)this).getAppletContext();
  774.    }
  775.  
  776.    String loadIniFile(String var1, String var2) {
  777.       Object var4 = null;
  778.       String var6 = "";
  779.  
  780.       try {
  781.          String var7 = var1 + "JDesignerPro.ini";
  782.          InputStream var12;
  783.          if (!executable) {
  784.             URL var3 = new URL(var7);
  785.             var12 = var3.openStream();
  786.          } else {
  787.             FileInputStream var8 = new FileInputStream("JDesignerPro.ini");
  788.             var12 = (InputStream)var8;
  789.          }
  790.  
  791.          DataInputStream var5 = new DataInputStream(var12);
  792.  
  793.          for(String var13 = var5.readLine(); var13 != null; var13 = var5.readLine()) {
  794.             if (var13.length() > 10) {
  795.                if (var13.length() > 5 && var13.substring(0, 5).compareTo(var2) == 0) {
  796.                   int var9 = var13.indexOf("JAGGSERVER=Server");
  797.                   if (var9 > 0) {
  798.                      JDPJagg.useJaggServer = true;
  799.                      var13 = var13.substring(0, var9) + var13.substring(var9 + 17);
  800.                   } else {
  801.                      var9 = var13.indexOf("JAGGSERVER=CGI");
  802.                      if (var9 > 0) {
  803.                         JDPJagg.useJaggServer = false;
  804.                         var13 = var13.substring(0, var9) + var13.substring(var9 + 14);
  805.                      }
  806.                   }
  807.  
  808.                   var6 = var13.substring(5);
  809.                }
  810.  
  811.                if (var13.substring(0, 7).compareTo("DOMAIN=") == 0) {
  812.                   this.JDPDomain = this.addDelimiter(var13.substring(7));
  813.                   if (executable && var1.equals("")) {
  814.                      this.wwwroot = this.JDPDomain + "JDesignerPro/";
  815.                   }
  816.                }
  817.  
  818.                if (var13.substring(0, 7).compareTo("JDPDIR=") == 0) {
  819.                   this.JDPDirectory = this.addDelimiter(var13.substring(7));
  820.                }
  821.  
  822.                if (var13.substring(0, 8).compareTo("JAGGDIR=") == 0) {
  823.                   this.JDPJaggDir = this.addDelimiter(var13.substring(8));
  824.                }
  825.  
  826.                if (var13.substring(0, 9).compareTo("COMPILER=") == 0) {
  827.                   this.JDPCompiler = var13.substring(9);
  828.                }
  829.  
  830.                if (var13.substring(0, 8).compareTo("CLASSES=") == 0) {
  831.                   this.JDPClasses = var13.substring(8);
  832.                }
  833.  
  834.                if (var13.substring(0, 8).compareTo("NDSPATH=") == 0 && var13.length() > 8) {
  835.                   this.NDSPath = var13.substring(8);
  836.                }
  837.  
  838.                if (var13.substring(0, 11).compareTo("JAGGSERVER=") == 0) {
  839.                   this.JDPJaggServer = var13.substring(11);
  840.                   if (this.JDPJaggServer.indexOf("CGI") >= 0) {
  841.                      JDPJagg.useJaggServer = false;
  842.                   }
  843.  
  844.                   if (this.JDPJaggServer.indexOf("Server") >= 0) {
  845.                      JDPJagg.useJaggServer = true;
  846.                   }
  847.  
  848.                   if (this.JDPJaggServer.indexOf("Local") >= 0) {
  849.                      JDPJagg.useJaggServer = true;
  850.                   }
  851.                }
  852.  
  853.                if (var13.length() > 15 && var13.substring(0, 15).compareTo("JAGGSERVERPORT=") == 0) {
  854.                   JDPJagg.setDefaultPort(Integer.parseInt(var13.substring(15)));
  855.                }
  856.             }
  857.          }
  858.  
  859.          var12.close();
  860.          JDPJagg.activated = true;
  861.          JDPJagg.version = version;
  862.          return var6;
  863.       } catch (Exception var11) {
  864.          ((Throwable)var11).printStackTrace();
  865.          System.out.println("Could not open JDesignerPro.ini file.");
  866.          System.out.println("Check that ini file is in the JDesignerPro directory.");
  867.          return null;
  868.       }
  869.    }
  870. }
  871.