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

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.CardLayout;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.Label;
  8. import java.awt.Panel;
  9. import java.awt.TextField;
  10. import java.util.StringTokenizer;
  11. import java.util.Vector;
  12.  
  13. public class JDPSelectDSN extends JDPClassLayout {
  14.    String moduleParameter;
  15.    JDPPopupMessage popuppanel;
  16.    JDPJagg jaggSQL;
  17.    String dsnType;
  18.    JDPList dataSources;
  19.    TextField datasource;
  20.    JDPComboBox datasourceC;
  21.    TextField sourcetype;
  22.    JDPComboBox sourcechoice;
  23.    TextField password;
  24.    TextField userid;
  25.    TextField connectstring;
  26.    TextField maxRows;
  27.    TextField timeOut;
  28.    TextField database;
  29.    JDPComboBox jdbcdriver;
  30.    JDPComboBox jdbcprefix;
  31.    TextField jdbcsuffix;
  32.    JDPComboBox jdbcdirect;
  33.    JDPComboBox jdbcsuffixC;
  34.    Panel jdbcsuffixPanel;
  35.    JDPComboBox usernameChoice;
  36.    Label listCount;
  37.    Panel centerMainPanel;
  38.    Panel leftPanel;
  39.    JDPButtons btns;
  40.    String lastDS;
  41.    static String lastDSN;
  42.    static String lastCSTR;
  43.    static String lastJdbcDriver;
  44.    static String lastJdbcPrefix;
  45.    static String lastJdbcSuffix;
  46.    static String lastJdbcDirect;
  47.    static String lastUID;
  48.    static String lastPWD;
  49.    String[] recordKey;
  50.    String[] recordName;
  51.    Vector gParmObject;
  52.    JDPTabSelectPanel tabPanel;
  53.    boolean demoMode;
  54.  
  55.    boolean restoreSelections() {
  56.       if (this.moduleParameter.length() <= 0 || this.moduleParameter.equals("JDPSetup") || this.moduleParameter.equals("JDPDatabaseMaint") || this.moduleParameter.equals("JDPLayoutMgr") || this.moduleParameter.equals("JDPTemplateMaint")) {
  57.          JDPSaveProps var1 = super.user.saveProperties;
  58.          if (super.user.prevProperties != null) {
  59.             var1 = super.user.prevProperties;
  60.          }
  61.  
  62.          String var2 = "JDPSelectDSN" + super.componentName;
  63.          var1.restoreObject(this.dataSources, var2, "dataSources");
  64.          var1.restoreObject(this.datasource, var2, "datasource");
  65.          var1.restoreObject(this.datasourceC, var2, "datasourceC");
  66.          var1.restoreObject(this.jdbcdriver, var2, "jdbcdriver");
  67.          var1.restoreObject(this.jdbcprefix, var2, "jdbcprefix");
  68.          var1.restoreObject(this.jdbcsuffix, var2, "jdbcsuffix");
  69.          var1.restoreObject(this.jdbcdirect, var2, "jdbcdirect");
  70.          var1.restoreObject(this.sourcetype, var2, "sourcetype");
  71.          var1.restoreObject(this.password, var2, "password");
  72.          var1.restoreObject(this.userid, var2, "userid");
  73.          var1.restoreObject(this.connectstring, var2, "connectstring");
  74.          var1.restoreObject(this.maxRows, var2, "maxRows");
  75.          var1.restoreObject(this.timeOut, var2, "timeOut");
  76.          var1.restoreObject(this.usernameChoice, var2, "usernameChoice");
  77.          this.jdbcsuffixC.select(this.jdbcsuffix.getText());
  78.       }
  79.  
  80.       return true;
  81.    }
  82.  
  83.    void enterNewDatasource() {
  84.       this.datasource.setEditable(true);
  85.       this.jdbcdriver.setEnabled(true);
  86.       this.jdbcprefix.setEnabled(true);
  87.       this.jdbcsuffix.setEditable(true);
  88.       this.jdbcsuffixC.enable();
  89.       this.jdbcdirect.enable();
  90.       if (this.jdbcdirect.countItems() > 0) {
  91.          this.jdbcdirect.select(0);
  92.       }
  93.  
  94.       this.datasource.setText("");
  95.       if (JDPJagg.useJaggServer && this.jdbcdriver.getText().equals("")) {
  96.          this.jdbcdriver.setText("sun.jdbc.odbc.JdbcOdbcDriver");
  97.          this.jdbcprefix.setText("jdbc:odbc:");
  98.       }
  99.  
  100.       this.jdbcsuffix.setText("");
  101.       if (this.jdbcsuffixC.countItems() > 0) {
  102.          this.jdbcsuffixC.select(0);
  103.       }
  104.  
  105.       this.userid.setText("");
  106.       this.password.setText("");
  107.       this.database.setText("");
  108.       this.connectstring.setText("");
  109.       this.setOdbcList();
  110.       this.datasource.requestFocus();
  111.    }
  112.  
  113.    void clearList() {
  114.       this.dataSources.clear();
  115.    }
  116.  
  117.    boolean loadList() {
  118.       boolean var2 = false;
  119.       Vector var3 = new Vector();
  120.       int var4 = 0;
  121.       int var5 = 0;
  122.       if (this.moduleParameter.equals("JDPSetup")) {
  123.          this.jaggSQL = super.user.jaggSQL;
  124.          this.jaggSQL.setDSN(super.user.jaggDSN);
  125.       } else {
  126.          this.jaggSQL = new JDPJagg(super.user.jaggPath);
  127.          this.jaggSQL.setDSN(super.user.jaggDSN);
  128.       }
  129.  
  130.       this.jaggSQL.loadSettings(super.user);
  131.       String var6 = this.jaggSQL.getSEP();
  132.       String var8 = "";
  133.       this.dataSources.clear();
  134.       this.datasourceC.clear();
  135.       if (this.moduleParameter.equals("JDPSetup") && this.dataSources.countItems() == 0 && super.user.JDesignerPro.JDPJaggDir != null) {
  136.          if (((Component)this).isShowing()) {
  137.             super.user.mainmsg.setStatusMsg("Accessing database...", 0);
  138.          }
  139.  
  140.          this.jaggSQL.setFCTNP("");
  141.          if (JDPJagg.useJaggServer) {
  142.             this.jaggSQL.setFCTN("System");
  143.             var8 = super.user.JDesignerPro.JDPJaggDir + "JDPJagg.exe SQLDataSources";
  144.          } else {
  145.             this.jaggSQL.setFCTN("SQLDataSources");
  146.             var8 = "";
  147.          }
  148.  
  149.          var4 = this.jaggSQL.execSQL(var8, var3);
  150.          if (var4 < 0) {
  151.             super.user.mainmsg.setStatusMsg("Invalid CGI path. Please check and press Apply.", 0);
  152.             return false;
  153.          }
  154.  
  155.          var4 = var3.size();
  156.          var5 = 2;
  157.       }
  158.  
  159.       if (var4 == 0 && !this.jaggSQL.getDSN().equals("")) {
  160.          var8 = "";
  161.          this.jaggSQL.setFCTN("SQLDataSources");
  162.          this.jaggSQL.execSQL(var8, var3);
  163.          var4 = this.jaggSQL.getRowCount();
  164.          var5 = this.jaggSQL.getColumnCount();
  165.       }
  166.  
  167.       this.jaggSQL.setFCTN("");
  168.       if (super.user.DEBUG) {
  169.          System.out.println("JDPSelectDSN/loadList COL: " + Integer.toString(this.jaggSQL.getColumnCount()));
  170.       }
  171.  
  172.       if (var4 <= 0 && super.user.JDesignerPro.getServerPlatform().startsWith("Windows")) {
  173.          var4 = 2;
  174.          var5 = 2;
  175.          var3.addElement("JDesignerPro DB" + var6 + "FOXPRO");
  176.          var3.addElement("JDP Tutorial" + var6 + "ACCESS");
  177.       }
  178.  
  179.       if (var4 <= 0 && super.user.JDesignerPro.getServerPlatform().startsWith("NetWare")) {
  180.          var4 = 2;
  181.          var5 = 2;
  182.          var3.addElement("Oracle" + var6 + "ORACLE");
  183.          var3.addElement("Cloudscape" + var6 + "CLOUDSCAPE");
  184.       }
  185.  
  186.       if (var4 > 0) {
  187.          this.recordKey = new String[var4];
  188.          this.recordName = new String[var4];
  189.       }
  190.  
  191.       int var9 = 0;
  192.  
  193.       for(int var10 = 0; var10 < var4; ++var10) {
  194.          String var7 = (String)var3.elementAt(var10);
  195.          if (var7 != null && var7.trim().compareTo("") != 0) {
  196.             StringTokenizer var1 = new StringTokenizer(var7);
  197.             String var11 = var1.nextToken(var6).trim();
  198.             this.recordKey[var9] = var11;
  199.             this.recordName[var9] = "";
  200.             if (var5 > 1) {
  201.                this.recordName[var9] = var1.nextToken(var6).trim();
  202.             }
  203.  
  204.             this.dataSources.addItem(this.recordKey[var9], 3);
  205.             this.datasourceC.addItem(this.recordKey[var9]);
  206.             ++var9;
  207.          }
  208.       }
  209.  
  210.       this.listCount.setText(Integer.toString(var9));
  211.       this.restoreDSN();
  212.       if (((Component)this).isShowing()) {
  213.          super.user.mainmsg.clearStatusMsg();
  214.       }
  215.  
  216.       return true;
  217.    }
  218.  
  219.    boolean setNewDSN() {
  220.       if (this.moduleParameter.equals("JDPSetup")) {
  221.          this.jaggSQL = super.user.jaggSQL;
  222.       } else if (this.jaggSQL == null) {
  223.          this.jaggSQL = new JDPJagg(super.user.jaggPath);
  224.       }
  225.  
  226.       if (this.datasource.getText().equals("")) {
  227.          return false;
  228.       } else {
  229.          if (JDPJagg.useJaggServer) {
  230.             this.jaggSQL.setJdbcDriver(this.jdbcdriver.getText());
  231.             this.jaggSQL.setJdbcPrefix(this.jdbcprefix.getText());
  232.             this.jaggSQL.setJdbcSuffix(this.jdbcsuffix.getText());
  233.             this.jaggSQL.setUID(this.userid.getText());
  234.             this.jaggSQL.setPWD(this.password.getText());
  235.             this.jaggSQL.setCSTR(this.connectstring.getText());
  236.             this.jaggSQL.setJdbcDirect(this.jdbcdirect.getSelectedIndex() == 1);
  237.          } else {
  238.             this.jaggSQL.setCSTR(this.connectstring.getText());
  239.             this.jaggSQL.setUID(this.userid.getText());
  240.             this.jaggSQL.setPWD(this.password.getText());
  241.             this.gParmObject.setElementAt(this.datasource.getText(), 1);
  242.             this.gParmObject.setElementAt(this.connectstring.getText(), 2);
  243.          }
  244.  
  245.          this.jaggSQL.setDSN(this.datasource.getText());
  246.          this.dsnType = super.user.u.getDataSourceType(this.jaggSQL);
  247.          if (this.dsnType == null) {
  248.             return false;
  249.          } else {
  250.             for(int var1 = 0; var1 < super.user.gParm.size(); ++var1) {
  251.                if (super.user.gParm.elementAt(var1) instanceof Vector) {
  252.                   Vector var2 = (Vector)super.user.gParm.elementAt(var1);
  253.                   if (((String)var2.elementAt(0)).compareTo("SelectTable" + super.componentName) == 0) {
  254.                      ((JDPClassLayout)var2.elementAt(1)).refresh();
  255.                   }
  256.  
  257.                   if (((String)var2.elementAt(0)).compareTo("ChoiceLayout" + super.componentName) == 0) {
  258.                      ((JDPClassLayout)var2.elementAt(1)).refresh();
  259.                   }
  260.                }
  261.  
  262.                if (super.user.gParm.elementAt(var1) instanceof JDPSQLSelector) {
  263.                   ((JDPSQLSelector)super.user.gParm.elementAt(var1)).refresh();
  264.                }
  265.             }
  266.  
  267.             this.saveDSN();
  268.             return true;
  269.          }
  270.       }
  271.    }
  272.  
  273.    void removeItem() {
  274.       this.dataSources.getSelectedIndex();
  275.       if (JDPJagg.useJaggServer) {
  276.          this.datasource.setText("");
  277.          this.jdbcdriver.setText("");
  278.          this.jdbcprefix.setText("");
  279.          this.jdbcsuffix.setText("");
  280.          if (this.jdbcsuffixC.countItems() > 0) {
  281.             this.jdbcsuffixC.select(0);
  282.          }
  283.  
  284.          if (this.jdbcdirect.countItems() > 0) {
  285.             this.jdbcdirect.select(0);
  286.          }
  287.  
  288.          this.sourcetype.setText("");
  289.          this.password.setText("");
  290.          this.userid.setText("");
  291.          this.connectstring.setText("");
  292.          this.database.setText("");
  293.          String var1 = "DELETE FROM JDPDataSrc WHERE sourcename = '" + this.dataSources.getSelectedItem() + "'";
  294.          Vector var2 = new Vector();
  295.          int var3 = super.user.jaggSQL.execSQL(var1, var2);
  296.          if (var3 == 1) {
  297.             if (((Component)this).isShowing()) {
  298.                super.user.mainmsg.setStatusMsg("Database successfully removed from the list of databases", 10);
  299.             }
  300.          } else {
  301.             super.user.u.setSqlMessage(this.jaggSQL, var1);
  302.          }
  303.       }
  304.  
  305.       this.setOdbcList();
  306.       this.clearList();
  307.       this.loadList();
  308.    }
  309.  
  310.    void retrieveHandle() {
  311.    }
  312.  
  313.    void setComponentName(String var1) {
  314.       super.componentName = var1;
  315.       Vector var2 = new Vector();
  316.       var2.addElement(super.moduleName + var1);
  317.       var2.addElement("");
  318.       var2.addElement("");
  319.       var2.addElement(this);
  320.       ((JDPClassLayout)this).addGlobalParm(var2);
  321.    }
  322.  
  323.    boolean saveData() {
  324.       int var1 = 0;
  325.       Vector var2 = new Vector();
  326.       super.user.jaggSQL.getSEP();
  327.       String var3 = "";
  328.       if (this.moduleParameter.equals("JDPSetup")) {
  329.          this.jaggSQL = super.user.jaggSQL;
  330.       } else {
  331.          this.jaggSQL = new JDPJagg(super.user.jaggPath);
  332.       }
  333.  
  334.       String var4 = "DSN=" + this.datasource.getText() + ";UID=" + this.userid.getText() + ";PWD=" + this.password.getText() + ";";
  335.       if (JDPJagg.useJaggServer) {
  336.          this.jaggSQL.setJdbcDriver(this.jdbcdriver.getText());
  337.          this.jaggSQL.setJdbcPrefix(this.jdbcprefix.getText());
  338.          this.jaggSQL.setJdbcSuffix(this.jdbcsuffix.getText());
  339.          this.jaggSQL.setJdbcDirect(this.jdbcdirect.getSelectedIndex() == 1);
  340.          this.jaggSQL.setUID(this.userid.getText());
  341.          this.jaggSQL.setPWD(this.password.getText());
  342.          this.jaggSQL.setCSTR(this.connectstring.getText());
  343.       } else {
  344.          this.jaggSQL.setCSTR(var4);
  345.       }
  346.  
  347.       if (this.jdbcprefix.getText().equals("jdbc:odbc:")) {
  348.          this.jdbcsuffix.setText(this.jdbcsuffixC.getSelectedItem());
  349.       }
  350.  
  351.       this.jaggSQL.setDSN(this.datasource.getText());
  352.       String var5 = super.user.u.getDataSourceType(this.jaggSQL);
  353.       if (var5 == null) {
  354.          super.user.u.setSqlMessage(this.jaggSQL, var3);
  355.          return false;
  356.       } else {
  357.          this.sourcetype.setText(var5);
  358.          var3 = "INSERT INTO JDPDataSrc (sourcename, jdbcdriver, jdbcprefix, jdbcsuffix, conparms, sourcetype, jdbcdirect) " + "VALUES('" + this.datasource.getText() + "','" + this.jdbcdriver.getText() + "','" + this.jdbcprefix.getText() + "','" + this.jdbcsuffix.getText() + "','" + this.connectstring.getText() + "','" + var5 + "','" + this.jdbcdirect.getSelectedItem() + "')";
  359.          this.jaggSQL.loadSettings(super.user);
  360.          if (JDPJagg.useJaggServer) {
  361.             this.jaggSQL.setUID(super.user.jdbcUserid);
  362.             this.jaggSQL.setPWD(super.user.jdbcPassword);
  363.          }
  364.  
  365.          if (((Component)this).isShowing()) {
  366.             super.user.mainmsg.setStatusMsg("Accessing database...", 0);
  367.          }
  368.  
  369.          var1 = this.jaggSQL.execSQL(var3, var2);
  370.          if (var1 < 0) {
  371.             var3 = "INSERT INTO JDPDataSrc (sourcename, jdbcdriver, jdbcprefix, jdbcsuffix, conparms, sourcetype, direct) " + "VALUES('" + this.datasource.getText() + "','" + this.jdbcdriver.getText() + "','" + this.jdbcprefix.getText() + "','" + this.jdbcsuffix.getText() + "','" + this.connectstring.getText() + "','" + var5 + "','" + this.jdbcdirect.getSelectedItem() + "')";
  372.             var1 = this.jaggSQL.execSQL(var3, var2);
  373.          }
  374.  
  375.          if (JDPJagg.useJaggServer) {
  376.             this.jaggSQL.loadJdbcDataSources();
  377.             this.jaggSQL.setJdbcDriver(this.jdbcdriver.getText());
  378.             this.jaggSQL.setJdbcPrefix(this.jdbcprefix.getText());
  379.             this.jaggSQL.setJdbcSuffix(this.jdbcsuffix.getText());
  380.             this.jaggSQL.setJdbcDirect(this.jdbcdirect.getSelectedIndex() == 1);
  381.             this.jaggSQL.setUID(this.userid.getText());
  382.             this.jaggSQL.setPWD(this.password.getText());
  383.             this.jaggSQL.setCSTR(this.connectstring.getText());
  384.          } else {
  385.             this.jaggSQL.setCSTR(var4);
  386.             this.jaggSQL.setDSN(this.datasource.getText());
  387.          }
  388.  
  389.          lastDSN = this.datasource.getText();
  390.          lastCSTR = var4;
  391.          lastJdbcDriver = this.jdbcdriver.getText();
  392.          lastJdbcPrefix = this.jdbcprefix.getText();
  393.          lastJdbcSuffix = this.jdbcsuffix.getText();
  394.          lastJdbcDirect = this.jdbcdirect.getSelectedItem();
  395.          lastUID = this.userid.getText();
  396.          lastPWD = this.password.getText();
  397.          if (var1 == -1) {
  398.             super.user.u.setSqlMessage(this.jaggSQL, var3);
  399.             return false;
  400.          } else {
  401.             if (var1 == 1) {
  402.                if (((Component)this).isShowing()) {
  403.                   super.user.mainmsg.setStatusMsg("Database successfully added.", 3);
  404.                }
  405.             } else {
  406.                super.user.u.setSqlMessage(this.jaggSQL, var3);
  407.             }
  408.  
  409.             this.loadList();
  410.             return true;
  411.          }
  412.       }
  413.    }
  414.  
  415.    void buildConnectString() {
  416.       if (this.moduleParameter.compareTo("JDPTemplateMaint") == 0) {
  417.          this.datasource.setText(this.datasourceC.getSelectedItem().trim());
  418.       }
  419.  
  420.       if (!JDPJagg.useJaggServer) {
  421.          String var1 = "DSN=" + this.datasource.getText() + ";";
  422.          var1 = var1 + "UID=" + this.userid.getText() + ";";
  423.          var1 = var1 + "PWD=" + this.password.getText() + ";";
  424.          if (this.database.getText().compareTo("") != 0) {
  425.             var1 = var1 + "DATABASE=" + this.database.getText() + ";";
  426.          }
  427.  
  428.          this.connectstring.setText(var1);
  429.       }
  430.  
  431.    }
  432.  
  433.    void restoreDSN() {
  434.       if (lastDSN == null) {
  435.          lastDSN = super.user.jaggDSN;
  436.          lastJdbcDriver = super.user.jdbcDriver;
  437.          lastJdbcPrefix = super.user.jdbcPrefix;
  438.          lastJdbcSuffix = super.user.jdbcSuffix;
  439.          lastCSTR = super.user.jaggCSTR;
  440.          lastUID = super.user.jdbcUserid;
  441.          lastPWD = super.user.jdbcPassword;
  442.       }
  443.  
  444.       if (this.dataSources.getSelectedIndex() < 0) {
  445.          this.dataSources.select(lastDSN);
  446.          this.dataSources.makeVisible(this.dataSources.getSelectedIndex());
  447.          if (lastDSN != null) {
  448.             this.datasource.setText(lastDSN);
  449.          }
  450.  
  451.          if (lastJdbcDriver != null) {
  452.             this.jdbcdriver.setText(lastJdbcDriver);
  453.          }
  454.  
  455.          if (lastJdbcPrefix != null) {
  456.             this.jdbcprefix.setText(lastJdbcPrefix);
  457.          }
  458.  
  459.          if (lastJdbcSuffix != null) {
  460.             this.jdbcsuffix.setText(lastJdbcSuffix);
  461.          }
  462.  
  463.          if (lastJdbcSuffix != null) {
  464.             this.jdbcsuffixC.select(lastJdbcSuffix);
  465.          }
  466.  
  467.          if (lastJdbcDirect != null) {
  468.             this.jdbcsuffixC.select(lastJdbcDirect);
  469.          }
  470.  
  471.          if (lastCSTR != null) {
  472.             this.connectstring.setText(lastCSTR);
  473.          }
  474.  
  475.          if (lastUID != null) {
  476.             this.userid.setText(lastUID);
  477.          }
  478.  
  479.          if (lastPWD != null) {
  480.             this.password.setText(lastPWD);
  481.          }
  482.       }
  483.  
  484.       if (!this.demoMode) {
  485.          this.loadItem();
  486.       }
  487.  
  488.    }
  489.  
  490.    boolean saveSelections() {
  491.       JDPSaveProps var1 = super.user.saveProperties;
  492.       String var2 = "JDPSelectDSN" + super.componentName;
  493.       var1.saveObject(this.dataSources, var2, "dataSources");
  494.       var1.saveObject(this.datasource, var2, "datasource");
  495.       var1.saveObject(this.jdbcdriver, var2, "jdbcdriver");
  496.       var1.saveObject(this.jdbcprefix, var2, "jdbcprefix");
  497.       var1.saveObject(this.jdbcsuffix, var2, "jdbcsuffix");
  498.       var1.saveObject(this.jdbcdirect, var2, "jdbcdirect");
  499.       var1.saveObject(this.datasourceC, var2, "datasourceC");
  500.       var1.saveObject(this.sourcetype, var2, "sourcetype");
  501.       var1.saveObject(this.password, var2, "password");
  502.       var1.saveObject(this.userid, var2, "userid");
  503.       var1.saveObject(this.connectstring, var2, "connectstring");
  504.       var1.saveObject(this.maxRows, var2, "maxRows");
  505.       var1.saveObject(this.timeOut, var2, "timeOut");
  506.       var1.saveObject(this.usernameChoice, var2, "usernameChoice");
  507.       return true;
  508.    }
  509.  
  510.    void setOdbcList() {
  511.       if (this.jdbcprefix.getText().trim().equals("jdbc:odbc:")) {
  512.          ((CardLayout)this.jdbcsuffixPanel.getLayout()).show(this.jdbcsuffixPanel, "jdbc:odbc:");
  513.       } else {
  514.          ((CardLayout)this.jdbcsuffixPanel.getLayout()).show(this.jdbcsuffixPanel, "other");
  515.       }
  516.    }
  517.  
  518.    void loadODBCList() {
  519.       Vector var2 = new Vector();
  520.       int var3 = 0;
  521.       boolean var4 = false;
  522.       String var5 = this.jaggSQL.getSEP();
  523.       String var7 = "";
  524.       if (this.jdbcsuffixC.countItems() == 0 && super.user.JDesignerPro.JDPJaggDir != null) {
  525.          super.user.mainmsg.setStatusMsg("Loading ODBC datasources...", 0);
  526.          this.jaggSQL.setFCTNP("");
  527.          if (JDPJagg.useJaggServer) {
  528.             this.jaggSQL.setFCTN("System");
  529.             var7 = super.user.JDesignerPro.JDPJaggDir + "JDPJagg.exe SQLDataSources";
  530.          } else {
  531.             this.jaggSQL.setFCTN("SQLDataSources");
  532.             var7 = "";
  533.          }
  534.  
  535.          var3 = this.jaggSQL.execSQL(var7, var2);
  536.          var4 = true;
  537.          this.jaggSQL.setFCTN("");
  538.          this.jaggSQL.setFCTNP("");
  539.          if (var3 > 0) {
  540.             for(int var8 = 0; var8 < var3; ++var8) {
  541.                String var6 = (String)var2.elementAt(var8);
  542.                if (var6 != null && !var6.trim().equals("")) {
  543.                   StringTokenizer var1 = new StringTokenizer(var6);
  544.                   String var9 = var1.nextToken(var5).trim();
  545.                   this.jdbcsuffixC.addItem(var9);
  546.                }
  547.             }
  548.          }
  549.  
  550.          super.user.mainmsg.clearStatusMsg();
  551.       }
  552.  
  553.    }
  554.  
  555.    void refresh() {
  556.       if (!this.demoMode) {
  557.          this.restoreDSN();
  558.          this.restoreSelections();
  559.          this.setNewDSN();
  560.       }
  561.    }
  562.  
  563.    boolean removeSelections() {
  564.       JDPSaveProps var1 = super.user.saveProperties;
  565.       String var2 = "JDPSelectDSN" + super.componentName;
  566.       var1.removeObject(this.dataSources, var2, "dataSources");
  567.       var1.removeObject(this.datasource, var2, "datasource");
  568.       var1.removeObject(this.datasourceC, var2, "datasourceC");
  569.       var1.removeObject(this.jdbcdriver, var2, "jdbcdriver");
  570.       var1.removeObject(this.jdbcprefix, var2, "jdbcprefix");
  571.       var1.removeObject(this.jdbcsuffix, var2, "jdbcsuffix");
  572.       var1.removeObject(this.jdbcdirect, var2, "jdbcdirect");
  573.       var1.removeObject(this.sourcetype, var2, "sourcetype");
  574.       var1.removeObject(this.password, var2, "password");
  575.       var1.removeObject(this.userid, var2, "userid");
  576.       var1.removeObject(this.connectstring, var2, "connectstring");
  577.       var1.removeObject(this.maxRows, var2, "maxRows");
  578.       var1.removeObject(this.timeOut, var2, "timeOut");
  579.       var1.removeObject(this.usernameChoice, var2, "usernameChoice");
  580.       return true;
  581.    }
  582.  
  583.    public boolean handleEvent(Event var1) {
  584.       switch (var1.id) {
  585.          case 401:
  586.             if (var1.key == 9) {
  587.                if (!var1.target.equals(this.connectstring)) {
  588.                }
  589.  
  590.                if (JDPJagg.useJaggServer && this.datasource.isEditable()) {
  591.                   if (var1.target.equals(this.datasource)) {
  592.                      super.user.u.cursor(this.jdbcdriver);
  593.                      return true;
  594.                   }
  595.  
  596.                   if (var1.target.equals(this.jdbcdriver)) {
  597.                      super.user.u.cursor(this.jdbcprefix);
  598.                      return true;
  599.                   }
  600.  
  601.                   if (this.jdbcsuffix.isVisible()) {
  602.                      if (var1.target.equals(this.jdbcprefix)) {
  603.                         super.user.u.cursor(this.jdbcsuffix);
  604.                         return true;
  605.                      }
  606.  
  607.                      if (this.jdbcdirect.isVisible()) {
  608.                         if (var1.target.equals(this.jdbcsuffix)) {
  609.                            super.user.u.cursor(this.jdbcdirect);
  610.                            return true;
  611.                         }
  612.  
  613.                         if (var1.target.equals(this.jdbcdirect)) {
  614.                            super.user.u.cursor(this.userid);
  615.                            return true;
  616.                         }
  617.                      } else if (var1.target.equals(this.jdbcsuffix)) {
  618.                         super.user.u.cursor(this.userid);
  619.                         return true;
  620.                      }
  621.                   } else {
  622.                      if (var1.target.equals(this.jdbcprefix)) {
  623.                         super.user.u.cursor(this.jdbcsuffixC);
  624.                         return true;
  625.                      }
  626.  
  627.                      if (this.jdbcdirect.isVisible()) {
  628.                         if (var1.target.equals(this.jdbcsuffixC)) {
  629.                            super.user.u.cursor(this.jdbcdirect);
  630.                            return true;
  631.                         }
  632.  
  633.                         if (var1.target.equals(this.jdbcdirect)) {
  634.                            super.user.u.cursor(this.userid);
  635.                            return true;
  636.                         }
  637.                      } else if (var1.target.equals(this.jdbcsuffixC)) {
  638.                         super.user.u.cursor(this.userid);
  639.                         return true;
  640.                      }
  641.                   }
  642.  
  643.                   if (var1.target.equals(this.userid)) {
  644.                      super.user.u.cursor(this.password);
  645.                      return true;
  646.                   }
  647.  
  648.                   if (var1.target.equals(this.password)) {
  649.                      super.user.u.cursor(this.connectstring);
  650.                      return true;
  651.                   }
  652.  
  653.                   if (!super.componentName.equals("")) {
  654.                      if (var1.target.equals(this.connectstring)) {
  655.                         super.user.u.cursor(this.maxRows);
  656.                         return true;
  657.                      }
  658.  
  659.                      if (var1.target.equals(this.maxRows)) {
  660.                         super.user.u.cursor(this.timeOut);
  661.                         return true;
  662.                      }
  663.                   }
  664.  
  665.                   if (this.usernameChoice != null && var1.target.equals(this.timeOut)) {
  666.                      super.user.u.cursor(this.usernameChoice);
  667.                      return true;
  668.                   }
  669.  
  670.                   super.user.u.cursor(this.datasource);
  671.                } else {
  672.                   if (var1.target.equals(this.userid)) {
  673.                      super.user.u.cursor(this.password);
  674.                      return true;
  675.                   }
  676.  
  677.                   if (var1.target.equals(this.password)) {
  678.                      super.user.u.cursor(this.connectstring);
  679.                      return true;
  680.                   }
  681.  
  682.                   if (!super.componentName.equals("")) {
  683.                      if (var1.target.equals(this.connectstring)) {
  684.                         super.user.u.cursor(this.maxRows);
  685.                         return true;
  686.                      }
  687.  
  688.                      if (var1.target.equals(this.maxRows)) {
  689.                         super.user.u.cursor(this.timeOut);
  690.                         return true;
  691.                      }
  692.                   }
  693.  
  694.                   if (this.usernameChoice != null && var1.target.equals(this.timeOut)) {
  695.                      super.user.u.cursor(this.usernameChoice);
  696.                      return true;
  697.                   }
  698.  
  699.                   super.user.u.cursor(this.userid);
  700.                }
  701.  
  702.                return true;
  703.             } else if (!(var1.target instanceof TextField) || !var1.target.equals(this.userid) && !var1.target.equals(this.password) && !var1.target.equals(this.database)) {
  704.                return false;
  705.             } else {
  706.                this.connectstring.setText("");
  707.                return false;
  708.             }
  709.          case 402:
  710.          case 1005:
  711.             this.setOdbcList();
  712.             return false;
  713.          case 503:
  714.          case 504:
  715.          case 505:
  716.             this.popuppanel.postEvent(var1);
  717.             return false;
  718.          case 701:
  719.             this.datasource.setEditable(false);
  720.             this.jdbcdriver.setEnabled(false);
  721.             this.jdbcprefix.setEnabled(false);
  722.             this.jdbcsuffix.setEditable(false);
  723.             this.jdbcsuffixC.disable();
  724.             this.jdbcdirect.disable();
  725.             if (!var1.target.equals(this.dataSources)) {
  726.                return false;
  727.             }
  728.  
  729.             if (this.moduleParameter.length() == 0 || this.moduleParameter.equals("JDPSetup") || this.moduleParameter.equals("JDPTemplateMaint")) {
  730.                this.connectstring.setText("");
  731.                if (!this.demoMode) {
  732.                   this.loadItem();
  733.                }
  734.             }
  735.  
  736.             return true;
  737.          case 1001:
  738.             if (!var1.target.equals(this.dataSources)) {
  739.                if (var1.target instanceof JDPComboBox) {
  740.                   if (var1.target.equals(this.jdbcsuffixC)) {
  741.                      this.jdbcsuffix.setText(this.jdbcsuffixC.getSelectedItem());
  742.                      return true;
  743.                   }
  744.  
  745.                   if (var1.target.equals(this.jdbcdriver)) {
  746.                      this.jdbcprefix.select(this.jdbcdriver.getSelectedIndex());
  747.                   }
  748.  
  749.                   this.setOdbcList();
  750.                   this.buildConnectString();
  751.                   return true;
  752.                }
  753.  
  754.                if (var1.target instanceof TextField) {
  755.                   return true;
  756.                }
  757.  
  758.                if (var1.target instanceof Button) {
  759.                   return true;
  760.                }
  761.  
  762.                if (var1.target instanceof JDPButton) {
  763.                   String var2 = (String)var1.arg;
  764.                   if (var2.trim().compareTo("Connect") == 0) {
  765.                      if (!super.user.u.ischaracter(this.datasource, super.user.mainmsg, "You must enter a name for this datasource.")) {
  766.                         return true;
  767.                      }
  768.  
  769.                      if (this.datasource.isEditable() && this.dataSources.getItem(this.datasource.getText()) >= 0) {
  770.                         super.user.mainmsg.setStatusMsg("A database with this name already exists. Please choose another name.", 10);
  771.                         return true;
  772.                      }
  773.  
  774.                      if (!this.jdbcprefix.getText().equals("jdbc:odbc:") && !super.user.u.ischaracter(this.jdbcsuffix, super.user.mainmsg, "You must enter a value for the suffix. Enter the hostname and port of your database server or use @ if local.")) {
  775.                         return true;
  776.                      }
  777.  
  778.                      if (super.user.u.isnumeric(this.maxRows, super.user.mainmsg) && super.user.u.isnumeric(this.timeOut, super.user.mainmsg)) {
  779.                         if (this.datasource.isEditable()) {
  780.                            super.user.mainmsg.setStatusMsg("Connecting...", 0);
  781.                            if (!this.saveData()) {
  782.                               return true;
  783.                            }
  784.  
  785.                            this.datasource.setEditable(false);
  786.                            this.jdbcdriver.setEnabled(false);
  787.                            this.jdbcprefix.setEnabled(false);
  788.                            this.jdbcsuffix.setEditable(false);
  789.                            this.jdbcsuffixC.disable();
  790.                            this.jdbcdirect.disable();
  791.                         }
  792.  
  793.                         if (this.connectstring.getText().compareTo("") == 0) {
  794.                            this.buildConnectString();
  795.                         }
  796.  
  797.                         if (this.setNewDSN()) {
  798.                            if (this.moduleParameter.equals("JDPDatabaseMaint")) {
  799.                               return false;
  800.                            }
  801.  
  802.                            this.saveSelections();
  803.                            this.tabPanel = JDPUtils.getTabPanel(this);
  804.                            if (this.tabPanel != null) {
  805.                               this.tabPanel.loadNextTab();
  806.                            }
  807.                         }
  808.                      }
  809.  
  810.                      return true;
  811.                   }
  812.  
  813.                   if (var2.trim().equals("New")) {
  814.                      this.loadODBCList();
  815.                      this.enterNewDatasource();
  816.                      return true;
  817.                   }
  818.  
  819.                   if (var2.trim().equals("Remove")) {
  820.                      if (!this.demoMode) {
  821.                         this.removeItem();
  822.                      }
  823.  
  824.                      return true;
  825.                   }
  826.  
  827.                   if (var2.trim().compareTo("Install JDP") == 0) {
  828.                      if (this.sourcetype.getText().indexOf("Text") > 0) {
  829.                         super.user.mainmsg.setStatusMsg("Text drivers cannot be used for JDesginerPro base database.", 10);
  830.                         return true;
  831.                      }
  832.  
  833.                      if (this.connectstring.getText().compareTo("") == 0) {
  834.                         this.buildConnectString();
  835.                      }
  836.  
  837.                      if (!this.setNewDSN()) {
  838.                         return true;
  839.                      }
  840.                   }
  841.                }
  842.  
  843.                return false;
  844.             }
  845.  
  846.             if (this.moduleParameter.length() == 0 || this.moduleParameter.equals("JDPSetup") || this.moduleParameter.equals("JDPTemplateMaint")) {
  847.                this.connectstring.setText("");
  848.                if (!this.demoMode) {
  849.                   this.loadItem();
  850.                }
  851.             }
  852.  
  853.             return true;
  854.          default:
  855.             return false;
  856.       }
  857.    }
  858.  
  859.    void loadItem() {
  860.       int var1 = this.dataSources.getSelectedIndex();
  861.       if (var1 >= 0) {
  862.          this.datasource.setText(this.recordKey[var1].trim());
  863.          this.sourcetype.setText(this.recordName[var1].trim());
  864.          this.jdbcsuffix.setText(this.recordKey[var1].trim());
  865.          this.jdbcsuffixC.select(this.recordKey[var1].trim());
  866.       }
  867.  
  868.       if (JDPJagg.useJaggServer && !super.user.jaggSQL.getDSN().equals("")) {
  869.          this.datasource.setText("");
  870.          this.jdbcdriver.setText("");
  871.          this.jdbcprefix.setText("");
  872.          this.jdbcsuffix.setText("");
  873.          if (this.jdbcsuffixC.countItems() > 0) {
  874.             this.jdbcsuffixC.select(0);
  875.          }
  876.  
  877.          if (this.jdbcdirect.countItems() > 0) {
  878.             this.jdbcdirect.select(0);
  879.          }
  880.  
  881.          this.sourcetype.setText("");
  882.          this.connectstring.setText("");
  883.          this.database.setText("");
  884.          String var2 = this.jaggSQL.getSEP();
  885.          String var3 = "SELECT * FROM JDPDataSrc WHERE sourcename = '" + this.dataSources.getSelectedItem() + "'";
  886.          Vector var4 = new Vector();
  887.          int var5 = super.user.jaggSQL.execSQL(var3, var4);
  888.          if (var5 == 1) {
  889.             StringTokenizer var6 = new StringTokenizer((String)var4.elementAt(0), var2);
  890.             this.datasource.setText(var6.nextToken().trim());
  891.             this.jdbcdriver.setText(var6.nextToken().trim());
  892.             this.jdbcprefix.setText(var6.nextToken().trim());
  893.             this.jdbcsuffix.setText(var6.nextToken().trim());
  894.             this.connectstring.setText(var6.nextToken().trim());
  895.             this.jdbcsuffixC.select(this.jdbcsuffix.getText());
  896.             this.sourcetype.setText(var6.nextToken().trim());
  897.             this.jdbcdirect.select(var6.nextToken().trim());
  898.          }
  899.       }
  900.  
  901.       this.setOdbcList();
  902.    }
  903.  
  904.    void saveDSN() {
  905.       if (!this.demoMode) {
  906.          lastDSN = this.dataSources.getSelectedItem();
  907.          lastJdbcDriver = this.jdbcdriver.getText();
  908.          lastJdbcPrefix = this.jdbcprefix.getText();
  909.          lastJdbcSuffix = this.jdbcsuffix.getText();
  910.          lastJdbcDirect = this.jdbcdirect.getSelectedItem();
  911.          lastCSTR = this.connectstring.getText();
  912.          lastUID = this.userid.getText();
  913.          lastPWD = this.password.getText();
  914.       }
  915.  
  916.    }
  917.  
  918.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  919.       super.user = var1;
  920.       this.moduleParameter = var3;
  921.       super.moduleName = "SelectDSN";
  922.       if (var3.equals("SQLOnly")) {
  923.          var3 = "";
  924.          this.moduleParameter = "";
  925.          super.componentName = "SQLOnly";
  926.       }
  927.  
  928.       if (var3.startsWith("JDPLayoutMgr:")) {
  929.          super.componentName = var3.substring(13);
  930.          this.moduleParameter = "";
  931.          var3 = "";
  932.       }
  933.  
  934.       ((Container)this).setLayout(new BorderLayout());
  935.       ((Component)this).setFont(var1.plainFont);
  936.       this.popuppanel = new JDPPopupMessage(var1, var2);
  937.       ((Container)var2).add(this.popuppanel);
  938.       Panel var4 = new Panel();
  939.       ((Container)var4).setLayout(new BorderLayout());
  940.       Panel var5 = new Panel();
  941.       ((Container)var5).setLayout(new BorderLayout());
  942.       this.centerMainPanel = new Panel();
  943.       this.centerMainPanel.setLayout(new BorderLayout());
  944.       JDPScrollPanel var6 = new JDPScrollPanel();
  945.       String var7 = "";
  946.       String var8 = "";
  947.       String var9 = "";
  948.       if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPDatabaseMaint") != 0 && var3.compareTo("JDPTemplateMaint") != 0) {
  949.          if (var3.indexOf(" ") > 0) {
  950.             var9 = var3.substring(var3.indexOf(" ") + 1);
  951.             var7 = var3.substring(0, var3.indexOf(" "));
  952.             var8 = var9.substring(var9.indexOf("DSN"));
  953.             var9 = var9.substring(0, var9.indexOf("DSN") - 1);
  954.             lastDSN = var7;
  955.             lastCSTR = var8;
  956.             this.demoMode = true;
  957.          } else {
  958.             var7 = var3;
  959.          }
  960.       }
  961.  
  962.       this.datasource = new TextField(var7, 30);
  963.       this.jdbcdriver = new JDPComboBox(var1, "sun.jdbc.odbc.JdbcOdbcDriver", 30);
  964.       this.jdbcdriver.addItem("sun.jdbc.odbc.JdbcOdbcDriver");
  965.       this.jdbcdriver.addItem("oracle.jdbc.driver.OracleDriver");
  966.       this.jdbcdriver.addItem("oracle.jdbc.driver.OracleDriver");
  967.       this.jdbcdriver.addItem("weblogic.jdbc.oci.Driver");
  968.       this.jdbcdriver.addItem("com.sybase.jdbc.SybDriver");
  969.       this.jdbcdriver.addItem("intersolv.jdbc.sequelink.SequeLinkDriver");
  970.       this.jdbcdriver.addItem("com.ikinetics.cw.sql.driver");
  971.       this.jdbcdriver.addItem("gwe.sql.gweMysqlDriver");
  972.       this.jdbcdriver.addItem("COM.cloudscape.core.JDBCDriver");
  973.       this.jdbcprefix = new JDPComboBox(var1, "jdbc:odbc:", 30);
  974.       this.jdbcprefix.addItem("jdbc:odbc:");
  975.       this.jdbcprefix.addItem("jdbc:oracle:oci7:");
  976.       this.jdbcprefix.addItem("jdbc:oracle:thin:");
  977.       this.jdbcprefix.addItem("jdbc:weblogic:oracle:");
  978.       this.jdbcprefix.addItem("jdbc:sybase:Tds:");
  979.       this.jdbcprefix.addItem("jdbc:sequelink:");
  980.       this.jdbcprefix.addItem("jdbc:iiop:i-kinetics:");
  981.       this.jdbcprefix.addItem("jdbc:mysql:");
  982.       this.jdbcprefix.addItem("jdbc:cloudscape:");
  983.       this.jdbcsuffix = new TextField("", 30);
  984.       this.jdbcsuffixC = new JDPComboBox(var1, "", 30);
  985.       this.jdbcsuffixC.setEditable(false);
  986.       this.jdbcsuffixPanel = new Panel();
  987.       this.jdbcsuffixPanel.setLayout(new CardLayout());
  988.       this.jdbcdirect = new JDPComboBox(var1, "No", 5);
  989.       this.jdbcdirect.setEditable(false);
  990.       this.jdbcdirect.addItem("No");
  991.       this.jdbcdirect.addItem("Yes");
  992.       this.datasourceC = new JDPComboBox(var1, "", 10);
  993.       this.datasourceC.setEditable(false);
  994.       this.sourcetype = new TextField(var9, 30);
  995.       this.sourcechoice = new JDPComboBox(var1, "", 30);
  996.       this.sourcechoice.setEditable(false);
  997.       this.sourcechoice.addItem("SQL Server");
  998.       this.sourcechoice.addItem("Oracle");
  999.       this.sourcechoice.addItem("Access");
  1000.       this.sourcechoice.addItem("Sybase");
  1001.       this.sourcechoice.addItem("SQL Anywhere");
  1002.       this.sourcechoice.addItem("Informix");
  1003.       this.sourcechoice.addItem("DBase");
  1004.       this.sourcechoice.addItem("Other");
  1005.       this.userid = new TextField("", 20);
  1006.       this.password = new TextField("", 20);
  1007.       this.password.setEchoCharacter('*');
  1008.       this.database = new TextField("", 20);
  1009.       this.connectstring = new TextField(var8, 30);
  1010.       this.maxRows = new TextField("1000", 10);
  1011.       this.timeOut = new TextField("60", 10);
  1012.       if (!var3.equals("JDPSetup")) {
  1013.          this.datasource.setEditable(false);
  1014.          this.jdbcdriver.setEnabled(false);
  1015.          this.jdbcprefix.setEnabled(false);
  1016.          this.jdbcsuffix.setEditable(false);
  1017.          this.jdbcsuffixC.disable();
  1018.          this.jdbcdirect.disable();
  1019.       } else {
  1020.          this.jdbcdirect.hide();
  1021.       }
  1022.  
  1023.       this.sourcetype.setEditable(false);
  1024.       if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPDatabaseMaint") != 0 && var3.compareTo("JDPTemplateMaint") != 0) {
  1025.          this.userid.setEditable(false);
  1026.          this.password.setEditable(false);
  1027.          this.database.setEditable(false);
  1028.          this.connectstring.setEditable(false);
  1029.       }
  1030.  
  1031.       ((Container)var6).add("Left", new JDPWrapLabel(var1, "Database Name:"));
  1032.       if (var3.compareTo("JDPTemplateMaint") != 0) {
  1033.          ((Container)var6).add("Right", this.datasource);
  1034.          this.popuppanel.addComponent(this.datasource, "Database name", "Database name");
  1035.       } else {
  1036.          ((Container)var6).add("Right", this.datasourceC);
  1037.          this.popuppanel.addComponent(this.datasourceC, "Database name", "Database name");
  1038.       }
  1039.  
  1040.       if (JDPJagg.useJaggServer) {
  1041.          ((Container)var6).add("Left", new JDPWrapLabel(var1, "JDBC Driver:"));
  1042.          ((Container)var6).add("Right", this.jdbcdriver);
  1043.          this.popuppanel.addComponent(this.jdbcdriver, "JDBC Driver", "Enter/Select the driver to use to connect to the JDBC database");
  1044.          ((Container)var6).add("Left", new JDPWrapLabel(var1, "JDBC Prefix:"));
  1045.          ((Container)var6).add("Right", this.jdbcprefix);
  1046.          this.popuppanel.addComponent(this.jdbcprefix, "JDBC Prefix String", "Enter/Select the prefix to use to connect to the JDBC database");
  1047.          ((Container)var6).add("Left", new JDPWrapLabel(var1, "JDBC Suffix:"));
  1048.          ((Container)var6).add("Right", this.jdbcsuffixPanel);
  1049.          this.jdbcsuffixPanel.add("other", this.jdbcsuffix);
  1050.          this.jdbcsuffixPanel.add("jdbc:odbc:", this.jdbcsuffixC);
  1051.          this.popuppanel.addComponent(this.jdbcsuffix, "JDBC Suffix String", "Enter the database name to connect to the database");
  1052.          this.popuppanel.addComponent(this.jdbcsuffixC, "JDBC Suffix String", "Select the datasource name to connect to the database");
  1053.          if (!var3.equals("JDPSetup")) {
  1054.             ((Container)var6).add("Left", new JDPWrapLabel(var1, "Direct Connection:"));
  1055.             ((Container)var6).add("Right", this.jdbcdirect);
  1056.             this.popuppanel.addComponent(this.jdbcdirect, "Use Direct JDBC connection", "Bypass JaggServer for this connection by using a direct JDBC connection to the datasource");
  1057.          }
  1058.       }
  1059.  
  1060.       ((Container)var6).add("Left", new JDPWrapLabel(var1, "Type:"));
  1061.       ((Container)var6).add("Right", this.sourcetype);
  1062.       this.popuppanel.addComponent(this.sourcetype, "Database type", "Database type");
  1063.       ((Container)var6).add("Left", new JDPWrapLabel(var1, "User ID:"));
  1064.       ((Container)var6).add("Right", this.userid);
  1065.       this.popuppanel.addComponent(this.userid, "Database Userid", "Connect to the selected database with this Userid");
  1066.       ((Container)var6).add("Left", new JDPWrapLabel(var1, "Password:"));
  1067.       ((Container)var6).add("Right", this.password);
  1068.       this.popuppanel.addComponent(this.password, "Database Password", "Connect to the selected database with this Password");
  1069.       ((Container)var6).add("Left", new JDPWrapLabel(var1, "Extra Connect Parms:"));
  1070.       ((Container)var6).add("Right", this.connectstring);
  1071.       this.popuppanel.addComponent(this.connectstring, "Extra Connection Parms", "Extra connection parms in the format name1=value1;name2=value2;");
  1072.       if (!super.componentName.equals("")) {
  1073.          ((Container)var6).add("Left", new JDPWrapLabel(var1, "Max rows to return:"));
  1074.          ((Container)var6).add("Right", this.maxRows);
  1075.          this.popuppanel.addComponent(this.connectstring, "Maximum rows", "Enter the maximum number of rows for a select to return");
  1076.          ((Container)var6).add("Left", new JDPWrapLabel(var1, "Timeout:"));
  1077.          ((Container)var6).add("Right", this.timeOut);
  1078.          this.popuppanel.addComponent(this.connectstring, "Query Timeout", "Enter the number of seconds to wait before the query should time out");
  1079.       }
  1080.  
  1081.       if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPDatabaseMaint") != 0 && var3.compareTo("JDPTemplateMaint") != 0) {
  1082.          this.centerMainPanel.add("North", var6);
  1083.          JDPBrowser var10 = new JDPBrowser();
  1084.          var10.InitClass(var1, this.centerMainPanel, "Docs/jdpsadb.htm");
  1085.          this.centerMainPanel.add("Center", var10);
  1086.       } else if (var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPTemplateMaint") != 0) {
  1087.          this.usernameChoice = new JDPComboBox(var1, "", 25);
  1088.          this.usernameChoice.setEditable(false);
  1089.          this.usernameChoice.addItem("This username/password");
  1090.          this.usernameChoice.addItem("JDP username/password");
  1091.          ((Container)var6).add("Left", new JDPWrapLabel(var1, "Connect using:"));
  1092.          ((Container)var6).add("Right", this.usernameChoice);
  1093.          this.popuppanel.addComponent(this.usernameChoice, "Username/Password connection setting", "Module should connect to database using this username/password or JDP username/password");
  1094.          this.centerMainPanel.add("Center", var6);
  1095.       } else {
  1096.          this.centerMainPanel.add("North", var6);
  1097.       }
  1098.  
  1099.       if (var3.compareTo("JDPTemplateMaint") != 0) {
  1100.          if (var3.compareTo("JDPSetup") != 0) {
  1101.             if (JDPJagg.useJaggServer) {
  1102.                if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPTemplateMaint") != 0) {
  1103.                   String[] var16 = new String[]{"Connect"};
  1104.                   int[] var20 = new int[]{5};
  1105.                   this.btns = new JDPButtons(var1, var16, var20, JDPButtons.HORIZONTAL);
  1106.                   this.centerMainPanel.add("South", this.btns);
  1107.                   this.popuppanel.addComponent(this.btns.button[0], "Connect to database", "Connect to the selected database");
  1108.                } else {
  1109.                   String[] var15 = new String[]{"Connect", "New", "Remove"};
  1110.                   int[] var11 = new int[]{5, 9, 8};
  1111.                   this.btns = new JDPButtons(var1, var15, var11, JDPButtons.HORIZONTAL);
  1112.                   this.centerMainPanel.add("South", this.btns);
  1113.                   this.popuppanel.addComponent(this.btns.button[0], "Connect to database", "Connect to the selected database");
  1114.                   this.popuppanel.addComponent(this.btns.button[1], "Add a new database", "Add a new database to the list of databases");
  1115.                   this.popuppanel.addComponent(this.btns.button[2], "Remove database", "Remove this database from the list of databases");
  1116.                }
  1117.             } else {
  1118.                String[] var17 = new String[]{"Connect"};
  1119.                int[] var21 = new int[]{5};
  1120.                this.btns = new JDPButtons(var1, var17, var21, JDPButtons.HORIZONTAL);
  1121.                this.centerMainPanel.add("South", this.btns);
  1122.                this.popuppanel.addComponent(this.btns.button[0], "Connect to database", "Connect to the selected database");
  1123.             }
  1124.          } else {
  1125.             String[] var18 = new String[]{"Install JDP", "New", "Exit Setup"};
  1126.             int[] var22 = new int[]{5, 9, 6};
  1127.             JDPButtons var12 = new JDPButtons(var1, var18, var22, JDPButtons.HORIZONTAL);
  1128.             this.centerMainPanel.add("South", var12);
  1129.             JDPBrowser var13 = new JDPBrowser();
  1130.             if (!JDPJagg.useJaggServer) {
  1131.                var13.InitClass(var1, this.centerMainPanel, "Docs/JDPSetup.htm");
  1132.             } else {
  1133.                var13.InitClass(var1, this.centerMainPanel, "Docs/JDPSetupSvr.htm");
  1134.             }
  1135.  
  1136.             this.centerMainPanel.add("Center", var13);
  1137.             this.popuppanel.addComponent(var12.button[0], "Install JDesignerPro", "Install JDesignerPro System tables in the selected database");
  1138.          }
  1139.       }
  1140.  
  1141.       ((Container)var4).add("Center", this.centerMainPanel);
  1142.       this.dataSources = new JDPList(var1);
  1143.       this.dataSources.setMinWidth(160);
  1144.       this.leftPanel = new Panel();
  1145.       this.leftPanel.setLayout(new BorderLayout());
  1146.       this.leftPanel.add("Center", this.dataSources);
  1147.       if (!var3.equals("JDPTemplateMaint") && !var3.equals("JDPDatabaseMaint")) {
  1148.          ((Container)var4).add("West", this.leftPanel);
  1149.          this.popuppanel.addComponent(this.dataSources, "Databases", "Choose the database to connect to");
  1150.       }
  1151.  
  1152.       Panel var19 = new Panel();
  1153.       ((Container)var19).setLayout(new BorderLayout(1, 1));
  1154.       ((Container)var19).add("West", new Label("Sources:", 0));
  1155.       this.listCount = new Label("0      ", 0);
  1156.       Panel var23 = new Panel();
  1157.       ((Container)var23).setLayout(new BorderLayout(1, 1));
  1158.       ((Container)var23).add("West", this.listCount);
  1159.       ((Container)var23).add("Center", new Label(" ", 0));
  1160.       ((Container)var19).add("Center", var23);
  1161.       this.leftPanel.add("North", var19);
  1162.       ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Select a Database", var4, "North"));
  1163.       this.gParmObject = new Vector();
  1164.       if (var3.compareTo("JDPTemplateMaint") != 0) {
  1165.          this.gParmObject.addElement(super.moduleName + super.componentName);
  1166.          if (!var3.equals("JDPSetup")) {
  1167.             this.retrieveHandle();
  1168.          }
  1169.       } else {
  1170.          this.gParmObject.addElement("SelectDSNTemplate");
  1171.       }
  1172.  
  1173.       this.gParmObject.addElement("");
  1174.       this.gParmObject.addElement("");
  1175.       this.gParmObject.addElement(this);
  1176.       ((JDPClassLayout)this).addGlobalParm(this.gParmObject);
  1177.       this.loadList();
  1178.       if (!var3.equals("JDPSetup") && !var3.equals("JDPDatabaseMaint")) {
  1179.          if (!var3.equals("JDPTemplateMaint")) {
  1180.             this.refresh();
  1181.          } else {
  1182.             this.gParmObject.setElementAt(this.datasourceC.getSelectedItem(), 1);
  1183.             ((Container)var2).add("Center", var4);
  1184.          }
  1185.  
  1186.          ((Component)var2).paintAll(((Component)var2).getGraphics());
  1187.          if (super.componentName.equals("")) {
  1188.             new JDPPanelLoader("JDPSelectTable");
  1189.          }
  1190.       }
  1191.  
  1192.       if (this.demoMode) {
  1193.          this.dataSources.disable();
  1194.          this.dataSources.select("Pubs");
  1195.          this.dataSources.makeVisible(this.dataSources.getSelectedIndex());
  1196.          this.loadItem();
  1197.       }
  1198.  
  1199.    }
  1200. }
  1201.