home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPSetup.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  22.8 KB  |  805 lines

  1. import java.applet.AppletContext;
  2. import java.awt.BorderLayout;
  3. import java.awt.CardLayout;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.Font;
  9. import java.awt.Frame;
  10. import java.awt.MenuItem;
  11. import java.awt.Panel;
  12. import java.awt.TextField;
  13. import java.awt.Toolkit;
  14. import java.awt.Window;
  15. import java.io.DataInputStream;
  16. import java.io.FileInputStream;
  17. import java.io.InputStream;
  18. import java.net.URL;
  19. import java.util.Date;
  20. import java.util.Vector;
  21.  
  22. public class JDPSetup extends Frame {
  23.    JDesignerPro target;
  24.    String IniContents;
  25.    JDPUser user;
  26.    AppletContext context;
  27.    Panel statusPanel;
  28.    JDPStatusMessage mainmsg;
  29.    TextField jaggPath;
  30.    TextField adminUsername;
  31.    TextField adminPassword;
  32.    JDPSelectDSN selectDSN;
  33.    JDPPopupMessage popuppanel;
  34.    Panel basePanel;
  35.    Panel mainPanel;
  36.    JDPButton installOptionButton1;
  37.    JDPButton installOptionButton2;
  38.    String connectString;
  39.    String dbtype;
  40.    int counter = 1;
  41.    int totalRecs = 10;
  42.  
  43.    boolean insertRecords() {
  44.       this.counter = 1;
  45.       this.user.mainmsg.setStatusMsg("Creating Default Records...", 0);
  46.       boolean var2 = false;
  47.       if (JDPUtils.check4Table(this.user.jaggSQL, this.dbtype, "JDPSystemDef")) {
  48.          String var1 = "SELECT JDPSystem FROM JDPSystemDef WHERE JDPSystem = '" + this.target.JDPSystem.trim() + "'";
  49.          if (this.runSQL(var1) > 0) {
  50.             var2 = true;
  51.             var1 = "UPDATE JDPUser SET username = '" + this.adminUsername.getText() + "', password = '" + this.adminPassword.getText().toLowerCase() + "' WHERE userid = 2";
  52.             this.runSQL(var1);
  53.             return true;
  54.          }
  55.       }
  56.  
  57.       this.sts();
  58.       String var5 = "INSERT INTO JDPSystemDef (JDPSystem, JDPSystemD, versionnum, bfontname, bfontsize, pfontname, pfontsize, jlanguage, country, dateformat) VALUES('" + this.target.JDPSystem.trim() + "', 'JDesignerPro System'," + "'0.00','Helvetica',11,'Helvetica',11,'en', ' ', 'mm/dd/yy')";
  59.       if (this.runSQL(var5) < 0) {
  60.          return false;
  61.       } else {
  62.          this.sts();
  63.          var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','Main',0," + "'P','JDPBrowser','Docs/JDesignerPro.htm', " + "'Welcome'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  64.          if (this.runSQL(var5) < 0) {
  65.             return false;
  66.          } else {
  67.             this.sts();
  68.             var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','Main',20," + "'M','System','', " + "'System Maintenance'," + "'A'," + "'Black', " + "'LightGray'," + "'ADMIN','', " + "'','', " + "'',0,0,0,0,0)";
  69.             if (this.runSQL(var5) < 0) {
  70.                return false;
  71.             } else {
  72.                this.sts();
  73.                var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','System',0," + "'P','JDPBrowser','Docs/JDPSystemMain.htm', " + "'Help'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  74.                if (this.runSQL(var5) < 0) {
  75.                   return false;
  76.                } else {
  77.                   this.sts();
  78.                   var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','System',1," + "'P','JDPSystemMaint','', " + "'System Maintenance'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  79.                   if (this.runSQL(var5) < 0) {
  80.                      return false;
  81.                   } else {
  82.                      this.sts();
  83.                      var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','System',2," + "'P','JDPMenuMaint','', " + "'Menu Maintenance'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  84.                      if (this.runSQL(var5) < 0) {
  85.                         return false;
  86.                      } else {
  87.                         this.sts();
  88.                         var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','System',3," + "'P','JDPUserMaint','', " + "'User Maintenance'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  89.                         if (this.runSQL(var5) < 0) {
  90.                            return false;
  91.                         } else {
  92.                            this.sts();
  93.                            var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','System',4," + "'P','JDPUserAuth','', " + "'User Menu Authorization'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  94.                            if (this.runSQL(var5) < 0) {
  95.                               return false;
  96.                            } else {
  97.                               this.sts();
  98.                               var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','System',5," + "'P','JDPUserSystemMaint','', " + "'User System Authorization'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  99.                               if (this.runSQL(var5) < 0) {
  100.                                  return false;
  101.                               } else {
  102.                                  this.sts();
  103.                                  var5 = "INSERT INTO JDPMenu (JDPSystem,menuname,menunum,menutype,menuobject,menuparm,menudesc,menustatus,menutxtclr, " + "menutabclr,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "','System',65," + "'P','JDPUserBill','', " + "'User Billing Details'," + "'A'," + "'Black', " + "'LightGray'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  104.                                  if (this.runSQL(var5) < 0) {
  105.                                     return false;
  106.                                  } else {
  107.                                     this.user.mainmsg.setStatusMsg("Finishing Installation...", 0);
  108.                                     var5 = "SELECT * FROM JDPUser WHERE username = 'guest'";
  109.                                     if (this.runSQL(var5) > 0) {
  110.                                        var2 = true;
  111.                                        var5 = "UPDATE JDPUser SET username = '" + this.adminUsername.getText() + "', password = '" + this.adminPassword.getText().toLowerCase() + "' WHERE userid = 2";
  112.                                        this.runSQL(var5);
  113.                                     }
  114.  
  115.                                     if (!var2) {
  116.                                        Date var3 = new Date(90, 0, 1);
  117.                                        String var4 = JDPDate.formatForSql(var3, this.selectDSN.dsnType);
  118.                                        var5 = "INSERT INTO JDPUser (userid,username,password,firstname,lastname,address1," + "address2,city,state,zipcode,country,cardnum,cardexpiry,cardname,phonenum," + "emailaddr,alphsvcph,alphpgrnum,lastaccess,totallogin,winx1,winy1,winx2," + "winy2,status,jdpsystem0,jdpsystem1,jdpsystem2,jdpsystem3,jdpsystem4," + "jdpsystem5,jdpsystem6,jdpsystem7,jdpsystem8,jdpsystem9,signupdate,canceldate) " + "VALUES(1,'guest','','Guest','Account','','','','','','','','','','',''," + "'',''," + var4 + ",0,0,0,640,480,'G','" + this.target.JDPSystem.trim() + "','','','','','','','','',''," + var4 + "," + var4 + ")";
  119.                                        if (this.runSQL(var5) < 0) {
  120.                                           return false;
  121.                                        }
  122.  
  123.                                        var5 = "INSERT INTO JDPUser (userid,username,password,firstname,lastname,address1," + "address2,city,state,zipcode,country,cardnum,cardexpiry,cardname,phonenum," + "emailaddr,alphsvcph,alphpgrnum,lastaccess,totallogin,winx1,winy1,winx2," + "winy2,status,jdpsystem0,jdpsystem1,jdpsystem2,jdpsystem3,jdpsystem4," + "jdpsystem5,jdpsystem6,jdpsystem7,jdpsystem8,jdpsystem9,signupdate,canceldate) " + "VALUES(2,'" + this.adminUsername.getText().toLowerCase() + "','" + this.adminPassword.getText().toLowerCase() + "','Admin','Account','','','','','','','','','','',''," + "'',''," + var4 + ",0,0,0,640,480,'A','" + this.target.JDPSystem.trim() + "','','','','','','','','',''," + var4 + "," + var4 + ")";
  124.                                        if (this.runSQL(var5) < 0) {
  125.                                           return false;
  126.                                        }
  127.                                     } else {
  128.                                        var5 = "UPDATE JDPUser SET jdpsystem1 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem1 = '' OR jdpsystem1 is NULL) AND userid <= 2";
  129.                                        int var32 = this.runSQL(var5);
  130.                                        if (var32 < 0) {
  131.                                           return false;
  132.                                        }
  133.  
  134.                                        if (var32 == 0) {
  135.                                           var5 = "UPDATE JDPUser SET jdpsystem2 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem2 = '' OR jdpsystem2 is NULL) AND userid <= 2";
  136.                                           if (this.runSQL(var5) == 0) {
  137.                                              var5 = "UPDATE JDPUser SET jdpsystem3 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem3 = '' OR jdpsystem3 is NULL) AND userid <= 2";
  138.                                              if (this.runSQL(var5) == 0) {
  139.                                                 var5 = "UPDATE JDPUser SET jdpsystem4 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem4 = '' OR jdpsystem4 is NULL) AND userid <= 2";
  140.                                                 if (this.runSQL(var5) == 0) {
  141.                                                    var5 = "UPDATE JDPUser SET jdpsystem5 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem5 = '' OR jdpsystem5 is NULL) AND userid <= 2";
  142.                                                    if (this.runSQL(var5) == 0) {
  143.                                                       var5 = "UPDATE JDPUser SET jdpsystem6 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem6 = '' OR jdpsystem6 is NULL) AND userid <= 2";
  144.                                                       if (this.runSQL(var5) == 0) {
  145.                                                          var5 = "UPDATE JDPUser SET jdpsystem7 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem7 = '' OR jdpsystem7 is NULL) AND userid <= 2";
  146.                                                          if (this.runSQL(var5) == 0) {
  147.                                                             var5 = "UPDATE JDPUser SET jdpsystem8 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem8 = '' OR jdpsystem8 is NULL) AND userid <= 2";
  148.                                                             if (this.runSQL(var5) == 0) {
  149.                                                                var5 = "UPDATE JDPUser SET jdpsystem9 = '" + this.target.JDPSystem.trim() + "' " + "WHERE (jdpsystem9 = '' OR jdpsystem9 is NULL) AND userid <= 2";
  150.                                                             }
  151.                                                          }
  152.                                                       }
  153.                                                    }
  154.                                                 }
  155.                                              }
  156.                                           }
  157.                                        }
  158.                                     }
  159.  
  160.                                     var5 = "INSERT INTO JDPMenuAuth (JDPSystem,userid,initmenu,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "',1,'Main'," + "'*ALL','', " + "'','', " + "'',0,0,0,0,0)";
  161.                                     if (this.runSQL(var5) < 0) {
  162.                                        return false;
  163.                                     } else {
  164.                                        var5 = "INSERT INTO JDPMenuAuth (JDPSystem,userid,initmenu,menuauth1,menuauth2,menuauth3,menuauth4,menuauth5,menulvl1, " + "menulvl2,menulvl3,menulvl4,menulvl5) " + "VALUES('" + this.target.JDPSystem.trim() + "',2,'Main'," + "'*ALL','ADMIN', " + "'','', " + "'',0,0,0,0,0)";
  165.                                        if (this.runSQL(var5) < 0) {
  166.                                           return false;
  167.                                        } else {
  168.                                           this.user.mainmsg.setStatusMsg("JDesignerPro Database successfully created.", 10);
  169.                                           return true;
  170.                                        }
  171.                                     }
  172.                                  }
  173.                               }
  174.                            }
  175.                         }
  176.                      }
  177.                   }
  178.                }
  179.             }
  180.          }
  181.       }
  182.    }
  183.  
  184.    int runSQL(String var1) {
  185.       Vector var2 = new Vector();
  186.       int var3 = this.user.jaggSQL.execSQL(var1, var2);
  187.       if (var3 == -1) {
  188.          this.user.u.setSqlMessage(this.user.jaggSQL, var1);
  189.       }
  190.  
  191.       return var3;
  192.    }
  193.  
  194.    boolean createDatabase() throws InterruptedException {
  195.       this.user.mainmsg.setStatusMsg("Table creation in progress...", 0);
  196.       this.IniContents = this.IniContents + this.target.JDPSystem + this.jaggPath.getText() + " ";
  197.       if (JDPJagg.useJaggServer) {
  198.          this.connectString = "DSN=" + this.selectDSN.datasource.getText() + ";";
  199.          String var10001 = this.connectString;
  200.          this.connectString = var10001 + "JDBCDRIVER=" + this.selectDSN.jdbcdriver.getText() + ";";
  201.          var10001 = this.connectString;
  202.          this.connectString = var10001 + "JDBCPREFIX=" + this.selectDSN.jdbcprefix.getText() + ";";
  203.          var10001 = this.connectString;
  204.          this.connectString = var10001 + "JDBCSUFFIX=" + this.selectDSN.jdbcsuffix.getText() + ";";
  205.          var10001 = this.connectString;
  206.          this.connectString = var10001 + "UID=" + this.selectDSN.userid.getText() + ";";
  207.          var10001 = this.connectString;
  208.          this.connectString = var10001 + "PWD=" + this.selectDSN.password.getText() + ";";
  209.          if (!this.selectDSN.connectstring.getText().equals("")) {
  210.             var10001 = this.connectString;
  211.             this.connectString = var10001 + "CSTR=" + this.selectDSN.connectstring.getText() + ";";
  212.          }
  213.       } else {
  214.          this.connectString = this.selectDSN.connectstring.getText();
  215.       }
  216.  
  217.       String var43 = this.IniContents;
  218.       this.IniContents = var43 + this.connectString + "\r\n";
  219.       this.user.jaggSQL.loadSettings(this.selectDSN);
  220.       Vector var2 = new Vector();
  221.       int var3 = 1;
  222.       this.dbtype = this.user.u.getDataSourceType(this.user.jaggSQL);
  223.       System.out.println("DBTYPE=" + this.dbtype);
  224.       if (this.dbtype == null) {
  225.          return false;
  226.       } else {
  227.          String var4 = "text";
  228.          String var5 = "date";
  229.          String var6 = "float";
  230.          String var7 = "int";
  231.          String var8 = " NULL";
  232.          if (this.dbtype.indexOf(JDPJagg.MSSQLSERVER) >= 0) {
  233.             var4 = "text";
  234.             var5 = "datetime";
  235.             var6 = "decimal";
  236.          } else if (this.dbtype.indexOf(JDPJagg.SYBASE) < 0 && this.dbtype.indexOf(JDPJagg.SYBASE10) < 0) {
  237.             if (this.dbtype.indexOf(JDPJagg.ANYWHERE) >= 0) {
  238.                var4 = "text";
  239.                var5 = "datetime";
  240.                var6 = "decimal";
  241.             } else if (this.dbtype.indexOf(JDPJagg.FOXPRO) >= 0) {
  242.                var6 = "int";
  243.                var8 = "";
  244.                var4 = "memo";
  245.             } else if (this.dbtype.indexOf(JDPJagg.ORACLE) >= 0) {
  246.                var4 = "long";
  247.                var6 = "decimal";
  248.             } else if (this.dbtype.indexOf(JDPJagg.POLITE) >= 0) {
  249.                var4 = "long";
  250.                var6 = "decimal";
  251.             } else if (this.dbtype.indexOf(JDPJagg.DB2) >= 0) {
  252.                var4 = "long varchar";
  253.                var6 = "decimal";
  254.             }
  255.          } else {
  256.             var4 = "text";
  257.             var5 = "datetime";
  258.             var6 = "decimal";
  259.          }
  260.  
  261.          if (this.dbtype.indexOf(JDPJagg.SOLIDSERVER) >= 0) {
  262.             var4 = "long varchar";
  263.             var6 = "decimal";
  264.          }
  265.  
  266.          if (this.dbtype.indexOf(JDPJagg.LOTUS) >= 0) {
  267.             var4 = "long varchar";
  268.             var6 = "decimal";
  269.             var7 = "integer";
  270.          }
  271.  
  272.          if (this.dbtype.indexOf(JDPJagg.INFORMIX) >= 0) {
  273.             var4 = "varchar(255)";
  274.             var6 = "decimal";
  275.             var7 = "integer";
  276.          }
  277.  
  278.          if (!JDPUtils.check4Table(this.user.jaggSQL, this.dbtype, "JDPDataSrc")) {
  279.             String var1 = "CREATE TABLE JDPDataSrc (sourcename char(50), jdbcdriver char(100), jdbcprefix char(100), jdbcsuffix char(100), conparms char(100), sourcetype char(50), jdbcdirect char(3))";
  280.             if (this.user.jaggSQL.execSQL(var1, var2) == -1) {
  281.                this.user.u.setSqlMessage(this.user.jaggSQL, var1);
  282.                return false;
  283.             }
  284.          }
  285.  
  286.          if (!JDPUtils.check4Table(this.user.jaggSQL, this.dbtype, "JDPSystemDef")) {
  287.             this.user.mainmsg.setStatusMsg("Creating table " + Integer.toString(var3++) + " of 5...", 0);
  288.             String var9 = "CREATE TABLE JDPSystemDef (" + "JDPSystem char (5) ," + "JDPSystemD char (50) ," + "versionnum char (10) ," + "bfontname char (30) ," + "bfontsize " + var7 + " ," + "pfontname char (30) ," + "pfontsize " + var7 + ", " + "jlanguage char (2) ," + "country char (2), " + "dateformat char (20) )";
  289.             if (this.user.jaggSQL.execSQL(var9, var2) == -1) {
  290.                this.user.u.setSqlMessage(this.user.jaggSQL, var9);
  291.                return false;
  292.             }
  293.          }
  294.  
  295.          if (!JDPUtils.check4Table(this.user.jaggSQL, this.dbtype, "JDPMenu")) {
  296.             this.user.mainmsg.setStatusMsg("Creating table " + Integer.toString(var3) + " of 5...", 0);
  297.             String var10 = "CREATE TABLE JDPMenu\t(" + "JDPSystem char (5) , " + "menuname char (20) , " + "menunum " + var7 + ",\t\t\t" + "menutype char (1) ,\t" + "menuobject char (20) , " + "menuparm char (150) ,\t" + "menudesc char (30) ,\t" + "menutxtclr char (15) ,\t" + "menutabclr char (15) , " + "menustatus char (1) ,\t" + "menuauth1 char (10) ,\t" + "menulvl1 " + var7 + ",   " + "menuauth2 char (10) ,\t" + "menulvl2 " + var7 + ",   " + "menuauth3 char (10) ,\t" + "menulvl3 " + var7 + "," + "menuauth4 char (10) ,\t" + "menulvl4 " + var7 + ",\t" + "menuauth5 char (10) ,\t" + "menulvl5 " + var7 + ") ";
  298.             if (this.user.jaggSQL.execSQL(var10, var2) == -1) {
  299.                this.user.u.setSqlMessage(this.user.jaggSQL, var10);
  300.                return false;
  301.             }
  302.          }
  303.  
  304.          ++var3;
  305.          if (!JDPUtils.check4Table(this.user.jaggSQL, this.dbtype, "JDPMenuAuth")) {
  306.             this.user.mainmsg.setStatusMsg("Creating table " + Integer.toString(var3) + " of 5...", 0);
  307.             String var11 = "CREATE TABLE JDPMenuAuth\t(" + "JDPSystem char (5) , " + "userid " + var7 + ", " + "initmenu char (20) ," + "menuauth1 char (10) ,\t" + "menulvl1 " + var7 + ",   " + "menuauth2 char (10) ,\t" + "menulvl2 " + var7 + ",   " + "menuauth3 char (10) ,\t" + "menulvl3 " + var7 + "," + "menuauth4 char (10) ,\t" + "menulvl4 " + var7 + ",\t" + "menuauth5 char (10) ,\t" + "menulvl5 " + var7 + ") ";
  308.             if (this.user.jaggSQL.execSQL(var11, var2) == -1) {
  309.                this.user.u.setSqlMessage(this.user.jaggSQL, var11);
  310.                return false;
  311.             }
  312.          }
  313.  
  314.          ++var3;
  315.          if (!JDPUtils.check4Table(this.user.jaggSQL, this.dbtype, "JDPUser")) {
  316.             this.user.mainmsg.setStatusMsg("Creating table " + Integer.toString(var3) + " of 5...", 0);
  317.             String var12 = "CREATE TABLE JDPUser\t(" + "userid " + var7 + "," + "username char (20) ," + "password char (20) ," + "firstname char (15) ," + "lastname char (20) ," + "address1 char (45) ," + "address2 char (45) ," + "city char (30) ," + "state char (2) ," + "zipcode char (10) ," + "country char (20) ," + "cardnum char (20) ," + "cardexpiry char (4) ," + "cardname char (30) ," + "phonenum char (15) ," + "emailaddr char (50) ," + "alphsvcph char (25) ," + "alphpgrnum char (15) ," + "lastaccess " + var5 + " ," + "totallogin " + var7 + "," + "winx1 " + var7 + "," + "winy1 " + var7 + "," + "winx2 " + var7 + "," + "winy2 " + var7 + "," + "status char (1) ," + "jdpsystem0 char (5) ," + "jdpsystem1 char (5) ," + "jdpsystem2 char (5) ," + "jdpsystem3 char (5) ," + "jdpsystem4 char (5) ," + "jdpsystem5 char (5) ," + "jdpsystem6 char (5) ," + "jdpsystem7 char (5) ," + "jdpsystem8 char (5) ," + "jdpsystem9 char (5) ," + "signupdate " + var5 + " ," + "canceldate " + var5 + " )";
  318.             if (this.user.jaggSQL.execSQL(var12, var2) == -1) {
  319.                this.user.u.setSqlMessage(this.user.jaggSQL, var12);
  320.                return false;
  321.             }
  322.          }
  323.  
  324.          ++var3;
  325.          ++var3;
  326.          return true;
  327.       }
  328.    }
  329.  
  330.    JDPSetup(JDesignerPro var1, String var2) {
  331.       super("JDesignerPro Setup");
  332.       this.target = var1;
  333.       this.IniContents = var2;
  334.       ((Component)this).setBackground(JDPUtils.getControlColor());
  335.       this.user = new JDPUser();
  336.       this.user.JDesignerPro = var1;
  337.       this.user.u = new JDPUtils(this.user);
  338.       this.user.gParm = new Vector();
  339.       this.user.plainFont = new Font("Helvetica", 0, 11);
  340.       this.user.boldFont = new Font("Helvetica", 1, 11);
  341.       ((Component)this).setFont(this.user.plainFont);
  342.       this.user.popup = new JDPPopupComponent(this.user, this);
  343.       ((Container)this).add(this.user.popup);
  344.       ((Container)this).setLayout(new BorderLayout());
  345.       String var3 = "";
  346.       if (var1.JDPJaggDir != null) {
  347.          int var4 = var1.JDPJaggDir.lastIndexOf("\\", var1.JDPJaggDir.length() - 2);
  348.          if (var4 >= 0) {
  349.             var3 = var1.JDPDomain + var1.JDPJaggDir.substring(var4 + 1, var1.JDPJaggDir.length() - 1) + "/JDPJagg.exe";
  350.          } else {
  351.             var3 = var1.JDPDomain + "JDPJagg.exe";
  352.          }
  353.       } else {
  354.          var3 = var1.JDPDomain;
  355.       }
  356.  
  357.       this.jaggPath = new TextField(var3, 50);
  358.       this.adminUsername = new TextField("admin", 15);
  359.       this.adminPassword = new TextField("", 15);
  360.       this.mainPanel = new Panel();
  361.       this.mainPanel.setLayout(new BorderLayout());
  362.       this.basePanel = new Panel();
  363.       this.basePanel.setLayout(new BorderLayout());
  364.       Panel var13 = new Panel();
  365.       ((Container)var13).setLayout(new JDPRowLayout(1, 1));
  366.       this.popuppanel = new JDPPopupMessage(this.user, this.basePanel);
  367.       this.basePanel.add(this.popuppanel);
  368.       if (!JDPJagg.useJaggServer) {
  369.          Panel var5 = new Panel();
  370.          ((Container)var5).setLayout(new JDPLineLayout(1));
  371.          ((Container)var13).add("Left", new JDPWrapLabel(this.user, "URL to JDPJagg.exe:"));
  372.          ((Container)var5).add("Left", this.jaggPath);
  373.          this.popuppanel.addComponent(this.jaggPath, "URL path to JDPJagg.exe CGI program", "Enter the corrent URL path to JDPJagg.exe CGI program");
  374.          JDPButton var6 = new JDPButton("Apply", 5, 1);
  375.          ((Container)var5).add("Left", var6);
  376.          this.popuppanel.addComponent(var6, "Load list of datasources", "Press to search for a list of Datasources/Databases on your server");
  377.          ((Container)var13).add("Right", var5);
  378.       }
  379.  
  380.       Panel var14 = new Panel();
  381.       Panel var15 = new Panel();
  382.       ((Container)var14).setLayout(new JDPLineLayout(1));
  383.       ((Container)var15).setLayout(new JDPLineLayout(1));
  384.       if (var1.NDSPath == null) {
  385.          ((Container)var13).add("Left", new JDPWrapLabel(this.user, "Admin Username:"));
  386.       } else {
  387.          ((Container)var13).add("Left", new JDPWrapLabel(this.user, "NDS Admin Username:"));
  388.       }
  389.  
  390.       ((Container)var14).add("Left", this.adminUsername);
  391.       this.installOptionButton1 = new JDPButton("Standard Installation", 5, 1);
  392.       this.installOptionButton2 = new JDPButton("Custom Installation   ", 32, 1);
  393.       ((Container)var14).add("Right", this.installOptionButton1);
  394.       this.popuppanel.addComponent(this.adminUsername, "JDesignerPro Admin username", "Enter the Admin username you would like to use to administer JDP");
  395.       if (var1.NDSPath == null) {
  396.          ((Container)var13).add("Left", new JDPWrapLabel(this.user, "Admin Password:"));
  397.       } else {
  398.          ((Container)var13).add("Left", new JDPWrapLabel(this.user, "NDS Admin Password:"));
  399.          this.adminPassword.setEchoCharacter('*');
  400.       }
  401.  
  402.       ((Container)var15).add("Left", this.adminPassword);
  403.       ((Container)var15).add("Right", this.installOptionButton2);
  404.       this.popuppanel.addComponent(this.adminPassword, "JDesignerPro Admin password", "Enter the Admin password you would like to use to administer JDP");
  405.       ((Container)var13).add("Right", var14);
  406.       ((Container)var13).add("Right", var15);
  407.       Panel var7 = new Panel();
  408.       ((Container)var7).setLayout(new BorderLayout());
  409.       ((Container)var7).add("West", var13);
  410.       this.mainPanel.add("North", var7);
  411.       this.user.wwwroot = var1.wwwroot;
  412.       this.user.mainmsg = new JDPStatusMessage(this.user);
  413.       this.user.mainmsg.remove(this.user.mainmsg.eastMessage);
  414.       this.user.mainmsg.remove(this.user.mainmsg.message);
  415.       this.user.mainmsg.message = new TextField("", 40);
  416.       this.user.mainmsg.message.setEditable(false);
  417.       this.user.mainmsg.add("Center", this.user.mainmsg.message);
  418.       this.user.cust = new JDPCustomer();
  419.       this.user.jaggSQL = new JDPJagg(this.jaggPath.getText());
  420.       this.user.jaggSQL.setDropConnectionAfter(300);
  421.       this.selectDSN = new JDPSelectDSN();
  422.       this.selectDSN.InitClass(this.user, this.mainPanel, "JDPSetup");
  423.       this.mainPanel.add("Center", this.selectDSN);
  424.       boolean var8 = false;
  425.       boolean var9 = this.selectDSN.loadList();
  426.       this.statusPanel = new Panel();
  427.       this.statusPanel.setLayout(new BorderLayout());
  428.       this.basePanel.add("Center", new JDPChiselFramePanel(this.user, "JDesignerPro Installation", this.mainPanel, "North"));
  429.       this.statusPanel.add("Center", this.user.mainmsg);
  430.       this.basePanel.add("South", this.statusPanel);
  431.       ((Component)this).hide();
  432.       ((Container)this).removeAll();
  433.       ((Container)this).add(this.user.popup);
  434.       ((Container)this).add("Center", this.basePanel);
  435.       ((Window)this).pack();
  436.       Dimension var10 = Toolkit.getDefaultToolkit().getScreenSize();
  437.       if (var10.width > 800 && var10.height > 600) {
  438.          ((Component)this).reshape(0, 0, 800, 570);
  439.       } else {
  440.          ((Component)this).reshape(0, 0, var10.width, var10.height - 30);
  441.       }
  442.  
  443.       if (var9) {
  444.          this.selectDefaultDSN(true);
  445.       }
  446.  
  447.       if (this.selectDSN.isVisible()) {
  448.          this.installOptionButton1.hide();
  449.          this.installOptionButton2.hide();
  450.          if (var9 && !var8) {
  451.             this.user.mainmsg.setStatusMsg("Select or enter a Datasource/Database name and press the Install button.", 0);
  452.          }
  453.       }
  454.  
  455.       ((Container)this).layout();
  456.       ((Component)this).paintAll(((Component)this).getGraphics());
  457.       ((Window)this).show();
  458.       if (this.selectDSN.dataSources.countItems() <= 0) {
  459.          if (!JDPJagg.useJaggServer) {
  460.             this.jaggPath.requestFocus();
  461.             this.jaggPath.selectAll();
  462.          } else {
  463.             this.user.u.cursor(this.adminUsername);
  464.          }
  465.       } else {
  466.          this.user.u.cursor(this.adminUsername);
  467.       }
  468.  
  469.       if (var8) {
  470.          this.user.mainmsg.setStatusMsg("Check that JaggServer is running and DOMAIN= setting is correct in JDesignerPro.ini.", 0);
  471.       }
  472.  
  473.       Vector var11 = new Vector();
  474.       var11.addElement("Setup");
  475.       var11.addElement(this);
  476.       this.user.gParm.addElement(var11);
  477.    }
  478.  
  479.    boolean writeIniFile() {
  480.       int var1 = 0;
  481.       String var2 = this.target.JDPDirectory + "JDesignerPro.ini";
  482.       Object var4 = null;
  483.       String var6 = "";
  484.  
  485.       try {
  486.          String var7 = this.target.wwwroot + "JDesignerPro.ini";
  487.          InputStream var14;
  488.          if (!JDesignerPro.executable) {
  489.             URL var3 = new URL(var7);
  490.             var14 = var3.openStream();
  491.          } else {
  492.             FileInputStream var8 = new FileInputStream(var2);
  493.             var14 = (InputStream)var8;
  494.          }
  495.  
  496.          new DataInputStream(var14);
  497.          byte[] var17 = new byte[4096];
  498.  
  499.          try {
  500.             var14.read(var17, 0, var17.length);
  501.             var14.close();
  502.             var6 = new String(var17, 0);
  503.             Object var18 = null;
  504.          } catch (Exception var11) {
  505.             this.user.mainmsg.setStatusMsg("Error occured while reading template file. Please try again.", 10);
  506.             ((Throwable)var11).printStackTrace();
  507.             return false;
  508.          }
  509.       } catch (Exception var12) {
  510.          System.out.println("Could not open JDesignerPro.ini file.");
  511.          System.out.println("Check that http server is running and that JDPJagg.exe is in your cgi directory.");
  512.          return false;
  513.       }
  514.  
  515.       this.IniContents = var6.trim() + "\r\n" + this.IniContents.trim() + "\r\n";
  516.       this.user.jaggSQL.setFCTN("WriteToFile");
  517.       this.user.jaggSQL.setFCTNP(var2 + ";w+;");
  518.       Vector var16 = new Vector();
  519.       var1 = this.user.jaggSQL.execSQL(this.IniContents, var16);
  520.       if (var1 < 0) {
  521.          this.user.mainmsg.setStatusMsg("JDesignerPro.ini File Write Failed - check JDPDIR setting.", 20);
  522.       }
  523.  
  524.       this.user.jaggSQL.setFCTN("");
  525.       this.user.jaggSQL.setFCTNP("");
  526.       return var1 == 0;
  527.    }
  528.  
  529.    void sts() {
  530.       this.user.mainmsg.setStatusMsg("Creating Default Record " + Integer.toString(this.counter++) + " of " + Integer.toString(this.totalRecs) + "...", 0);
  531.    }
  532.  
  533.    public boolean handleEvent(Event var1) {
  534.       switch (var1.id) {
  535.          case 201:
  536.             ((Frame)this).dispose();
  537.             JDPJagg.cleanUp();
  538.             if (JDesignerPro.executable) {
  539.                System.exit(0);
  540.             }
  541.  
  542.             return true;
  543.          case 503:
  544.          case 504:
  545.          case 505:
  546.             var1.x -= this.basePanel.bounds().x;
  547.             var1.y -= this.basePanel.bounds().y;
  548.             if (this.popuppanel != null) {
  549.                this.popuppanel.postEvent(var1);
  550.             }
  551.  
  552.             return false;
  553.          case 1001:
  554.             if (var1.target instanceof JDPButton) {
  555.                String var5 = (String)var1.arg;
  556.                this.user.cust.username = this.adminUsername.getText();
  557.                if (var5.equals("Apply")) {
  558.                   this.user.jaggSQL = new JDPJagg(this.jaggPath.getText());
  559.                   this.user.jaggSQL.setDropConnectionAfter(300);
  560.                   this.selectDSN.clearList();
  561.                   this.selectDSN.loadList();
  562.                   this.selectDefaultDSN(false);
  563.                }
  564.  
  565.                if (var5.trim().equals("Custom Installation")) {
  566.                   this.installOptionButton1.hide();
  567.                   this.installOptionButton2.hide();
  568.                   this.selectDSN.show();
  569.                   Dimension var3 = Toolkit.getDefaultToolkit().getScreenSize();
  570.                   if (var3.width > 800 && var3.height > 600) {
  571.                      ((Component)this).reshape(0, 0, 800, 570);
  572.                   } else {
  573.                      ((Component)this).reshape(0, 0, var3.width, var3.height);
  574.                   }
  575.  
  576.                   ((Container)this).layout();
  577.                   ((Component)this).paintAll(((Component)this).getGraphics());
  578.                   this.user.mainmsg.setStatusMsg("Select or enter a Datasource/Database name and press the Install button.", 0);
  579.                }
  580.  
  581.                if (!var5.trim().equals("Install JDP") && !var5.trim().equals("Standard Installation")) {
  582.                   if (var5.trim().equals("Exit Setup")) {
  583.                      ((Frame)this).dispose();
  584.                      JDPJagg.cleanUp();
  585.                      if (JDesignerPro.executable) {
  586.                         System.exit(0);
  587.                      }
  588.  
  589.                      return true;
  590.                   }
  591.  
  592.                   return true;
  593.                } else if (this.adminUsername.getText().compareTo("") == 0) {
  594.                   this.user.mainmsg.setStatusMsg("Please enter the desired Administration Username.", 10);
  595.                   return true;
  596.                } else if (this.adminPassword.getText().compareTo("") == 0) {
  597.                   this.user.mainmsg.setStatusMsg("Please enter the desired Administration Password.", 10);
  598.                   return true;
  599.                } else {
  600.                   this.user.mainmsg.clearStatusMsg();
  601.                   this.user.mainmsg.setStatusMsg("Connecting to database...", 0);
  602.                   if (this.selectDSN.connectstring.getText().compareTo("") == 0) {
  603.                      this.selectDSN.buildConnectString();
  604.                   }
  605.  
  606.                   if (!this.selectDSN.setNewDSN()) {
  607.                      return true;
  608.                   } else {
  609.                      if (this.selectDSN.datasource.getText().length() <= 0) {
  610.                         this.user.mainmsg.setStatusMsg("Please choose a data source where you would like JDesignerPro Installed.", 10);
  611.                         return true;
  612.                      }
  613.  
  614.                      try {
  615.                         if (this.createDatabase() && this.insertRecords() && this.writeIniFile()) {
  616.                            this.target.user = new JDPUser[1];
  617.                            this.target.user[0] = new JDPUser();
  618.                            this.target.user[0].cust = new JDPCustomer();
  619.                            this.target.user[0].cust.username = this.adminUsername.getText();
  620.                            this.target.user[0].cust.password = this.adminPassword.getText();
  621.                            this.target.user[0].loginMessage = this.user.mainmsg;
  622.                            this.target.getSystem(this.target.JDPSystem, this.jaggPath.getText() + " " + this.connectString);
  623.                            this.target.login.username.setText(this.adminUsername.getText());
  624.                            this.target.login.password.setText(this.adminPassword.getText());
  625.                            Event var6 = new Event(this.target.login.okButton, 1001, "OK");
  626.                            this.target.login.postEvent(var6);
  627.                            this.target.login.mainmsg.setStatusMsg("Starting Enterprise Server...", 0);
  628.                            this.user.jaggSQL.invoke("JDPSubsystemMgr", "start");
  629.                            ((Frame)this).dispose();
  630.                         }
  631.                      } catch (InterruptedException var4) {
  632.                      }
  633.  
  634.                      return true;
  635.                   }
  636.                }
  637.             } else if (var1.target instanceof MenuItem) {
  638.                String var2 = (String)var1.arg;
  639.                if (var2.equals("About JDP...")) {
  640.                   this.user.process = new JDPProcessThread[2];
  641.                   this.user.processStatus = new int[2];
  642.                   this.user.startProcess(1, this.user.mainmsg);
  643.                }
  644.  
  645.                if (var2.equals("Quit")) {
  646.                   ((Frame)this).dispose();
  647.                   JDPJagg.cleanUp();
  648.                   if (JDesignerPro.executable) {
  649.                      System.exit(0);
  650.                   }
  651.                }
  652.  
  653.                return true;
  654.             }
  655.          case 401:
  656.             if (var1.key == 9) {
  657.                if (var1.target.equals(this.jaggPath)) {
  658.                   this.user.u.cursor(this.adminUsername);
  659.                   return true;
  660.                }
  661.  
  662.                if (var1.target.equals(this.adminUsername)) {
  663.                   this.user.u.cursor(this.adminPassword);
  664.                   return true;
  665.                }
  666.  
  667.                if (this.selectDSN.isVisible()) {
  668.                   if (var1.target.equals(this.adminPassword)) {
  669.                      this.user.u.cursor(this.selectDSN.userid);
  670.                      return true;
  671.                   }
  672.                } else if (var1.target.equals(this.adminPassword)) {
  673.                   this.user.u.cursor(this.adminUsername);
  674.                   return true;
  675.                }
  676.  
  677.                return true;
  678.             }
  679.  
  680.             return false;
  681.          default:
  682.             return false;
  683.       }
  684.    }
  685.  
  686.    void selectDefaultDSN(boolean var1) {
  687.       boolean var2 = false;
  688.  
  689.       for(int var3 = 0; var3 < this.selectDSN.dataSources.countItems(); ++var3) {
  690.          if (this.selectDSN.dataSources.getItem(var3).equals("JDesignerPro DB3")) {
  691.             this.selectDSN.datasource.setText("JDesignerPro DB3");
  692.             this.selectDSN.jdbcdriver.select(0);
  693.             this.selectDSN.jdbcprefix.select(0);
  694.             this.selectDSN.jdbcsuffix.setText("JDesignerPro DB3");
  695.             this.selectDSN.jdbcsuffixC.select("JDesignerPro DB3");
  696.             this.selectDSN.dataSources.select(var3);
  697.             this.selectDSN.dataSources.makeVisible(var3);
  698.             if (var1) {
  699.                ((CardLayout)this.selectDSN.jdbcsuffixPanel.getLayout()).show(this.selectDSN.jdbcsuffixPanel, "jdbc:odbc:");
  700.                this.selectDSN.hide();
  701.                ((Window)this).pack();
  702.                ((Component)this).move(60, 70);
  703.                if (this.target.NDSPath == null) {
  704.                   this.user.mainmsg.setStatusMsg("Enter an administrator password and select installation type.", 0);
  705.                } else {
  706.                   this.user.mainmsg.setStatusMsg("Enter your NDS Administrator username and password.", 0);
  707.                }
  708.             } else {
  709.                this.user.mainmsg.setStatusMsg("Select a database in which to install the JDP system tables.", 0);
  710.             }
  711.  
  712.             var2 = true;
  713.             break;
  714.          }
  715.       }
  716.  
  717.       if (!var2) {
  718.          for(int var4 = 0; var4 < this.selectDSN.dataSources.countItems(); ++var4) {
  719.             if (this.selectDSN.dataSources.getItem(var4).equals("JDesignerPro DB")) {
  720.                this.selectDSN.datasource.setText("JDesignerPro DB");
  721.                this.selectDSN.jdbcdriver.select(0);
  722.                this.selectDSN.jdbcprefix.select(0);
  723.                this.selectDSN.jdbcsuffix.setText("JDesignerPro DB");
  724.                this.selectDSN.jdbcsuffixC.select("JDesignerPro DB");
  725.                this.selectDSN.dataSources.select(var4);
  726.                this.selectDSN.dataSources.makeVisible(var4);
  727.                if (var1) {
  728.                   ((CardLayout)this.selectDSN.jdbcsuffixPanel.getLayout()).show(this.selectDSN.jdbcsuffixPanel, "jdbc:odbc:");
  729.                   this.selectDSN.hide();
  730.                   ((Window)this).pack();
  731.                   ((Component)this).move(60, 70);
  732.                   if (this.target.NDSPath == null) {
  733.                      this.user.mainmsg.setStatusMsg("Enter an administrator password and select installation type.", 0);
  734.                   } else {
  735.                      this.user.mainmsg.setStatusMsg("Enter your NDS Administrator username and password.", 0);
  736.                   }
  737.                } else {
  738.                   this.user.mainmsg.setStatusMsg("Select a database in which to install the JDP system tables.", 0);
  739.                }
  740.                break;
  741.             }
  742.          }
  743.       }
  744.  
  745.       if (!var2) {
  746.          for(int var5 = 0; var5 < this.selectDSN.dataSources.countItems(); ++var5) {
  747.             if (this.selectDSN.dataSources.getItem(var5).equals("Cloudscape")) {
  748.                this.selectDSN.datasource.setText("Cloudscape");
  749.                this.selectDSN.jdbcdriver.select(8);
  750.                this.selectDSN.jdbcprefix.select(8);
  751.                this.selectDSN.jdbcsuffix.setText("JDP1");
  752.                this.selectDSN.jdbcsuffixC.select(0);
  753.                this.selectDSN.dataSources.select(var5);
  754.                this.selectDSN.dataSources.makeVisible(var5);
  755.                if (var1) {
  756.                   ((CardLayout)this.selectDSN.jdbcsuffixPanel.getLayout()).show(this.selectDSN.jdbcsuffixPanel, "other");
  757.                   this.selectDSN.hide();
  758.                   ((Window)this).pack();
  759.                   ((Component)this).move(60, 70);
  760.                   if (this.target.NDSPath == null) {
  761.                      this.user.mainmsg.setStatusMsg("Enter an administrator password and select installation type.", 0);
  762.                      return;
  763.                   }
  764.  
  765.                   this.user.mainmsg.setStatusMsg("Enter your NDS Administrator username and password.", 0);
  766.                   return;
  767.                }
  768.  
  769.                this.user.mainmsg.setStatusMsg("Select a database in which to install the JDP system tables.", 0);
  770.                return;
  771.             }
  772.  
  773.             if (this.selectDSN.dataSources.getItem(var5).equals("Oracle")) {
  774.                this.selectDSN.datasource.setText("Oracle");
  775.                this.selectDSN.jdbcdriver.select(2);
  776.                this.selectDSN.jdbcprefix.select(2);
  777.                this.selectDSN.jdbcsuffix.setText("@" + this.user.JDesignerPro.JDPDomain.substring(7, this.user.JDesignerPro.JDPDomain.length() - 1) + ":1521:ORCL");
  778.                this.selectDSN.jdbcsuffixC.select(0);
  779.                this.selectDSN.userid.setText("system");
  780.                this.selectDSN.password.setText("manager");
  781.                this.selectDSN.dataSources.select(var5);
  782.                this.selectDSN.dataSources.makeVisible(var5);
  783.                if (var1) {
  784.                   ((CardLayout)this.selectDSN.jdbcsuffixPanel.getLayout()).show(this.selectDSN.jdbcsuffixPanel, "other");
  785.                   this.selectDSN.hide();
  786.                   ((Window)this).pack();
  787.                   ((Component)this).move(60, 70);
  788.                   if (this.target.NDSPath == null) {
  789.                      this.user.mainmsg.setStatusMsg("Enter an administrator password and select installation type.", 0);
  790.                      return;
  791.                   }
  792.  
  793.                   this.user.mainmsg.setStatusMsg("Enter your NDS Administrator username and password.", 0);
  794.                   return;
  795.                }
  796.  
  797.                this.user.mainmsg.setStatusMsg("Select a database in which to install the JDP system tables.", 0);
  798.                return;
  799.             }
  800.          }
  801.       }
  802.  
  803.    }
  804. }
  805.