home *** CD-ROM | disk | FTP | other *** search
Wrap
import java.awt.BorderLayout; import java.awt.Button; import java.awt.CardLayout; import java.awt.Component; import java.awt.Container; import java.awt.Event; import java.awt.Label; import java.awt.Panel; import java.awt.TextField; import java.util.StringTokenizer; import java.util.Vector; public class JDPSelectDSN extends JDPClassLayout { String moduleParameter; JDPPopupMessage popuppanel; JDPJagg jaggSQL; String dsnType; JDPList dataSources; TextField datasource; JDPComboBox datasourceC; TextField sourcetype; JDPComboBox sourcechoice; TextField password; TextField userid; TextField connectstring; TextField maxRows; TextField timeOut; TextField database; JDPComboBox jdbcdriver; JDPComboBox jdbcprefix; TextField jdbcsuffix; JDPComboBox jdbcdirect; JDPComboBox jdbcsuffixC; Panel jdbcsuffixPanel; JDPComboBox usernameChoice; Label listCount; Panel centerMainPanel; Panel leftPanel; JDPButtons btns; String lastDS; static String lastDSN; static String lastCSTR; static String lastJdbcDriver; static String lastJdbcPrefix; static String lastJdbcSuffix; static String lastJdbcDirect; static String lastUID; static String lastPWD; String[] recordKey; String[] recordName; Vector gParmObject; JDPTabSelectPanel tabPanel; boolean demoMode; boolean restoreSelections() { if (this.moduleParameter.length() <= 0 || this.moduleParameter.equals("JDPSetup") || this.moduleParameter.equals("JDPDatabaseMaint") || this.moduleParameter.equals("JDPLayoutMgr") || this.moduleParameter.equals("JDPTemplateMaint")) { JDPSaveProps var1 = super.user.saveProperties; if (super.user.prevProperties != null) { var1 = super.user.prevProperties; } String var2 = "JDPSelectDSN" + super.componentName; var1.restoreObject(this.dataSources, var2, "dataSources"); var1.restoreObject(this.datasource, var2, "datasource"); var1.restoreObject(this.datasourceC, var2, "datasourceC"); var1.restoreObject(this.jdbcdriver, var2, "jdbcdriver"); var1.restoreObject(this.jdbcprefix, var2, "jdbcprefix"); var1.restoreObject(this.jdbcsuffix, var2, "jdbcsuffix"); var1.restoreObject(this.jdbcdirect, var2, "jdbcdirect"); var1.restoreObject(this.sourcetype, var2, "sourcetype"); var1.restoreObject(this.password, var2, "password"); var1.restoreObject(this.userid, var2, "userid"); var1.restoreObject(this.connectstring, var2, "connectstring"); var1.restoreObject(this.maxRows, var2, "maxRows"); var1.restoreObject(this.timeOut, var2, "timeOut"); var1.restoreObject(this.usernameChoice, var2, "usernameChoice"); this.jdbcsuffixC.select(this.jdbcsuffix.getText()); } return true; } void enterNewDatasource() { this.datasource.setEditable(true); this.jdbcdriver.setEnabled(true); this.jdbcprefix.setEnabled(true); this.jdbcsuffix.setEditable(true); this.jdbcsuffixC.enable(); this.jdbcdirect.enable(); if (this.jdbcdirect.countItems() > 0) { this.jdbcdirect.select(0); } this.datasource.setText(""); if (JDPJagg.useJaggServer && this.jdbcdriver.getText().equals("")) { this.jdbcdriver.setText("sun.jdbc.odbc.JdbcOdbcDriver"); this.jdbcprefix.setText("jdbc:odbc:"); } this.jdbcsuffix.setText(""); if (this.jdbcsuffixC.countItems() > 0) { this.jdbcsuffixC.select(0); } this.userid.setText(""); this.password.setText(""); this.database.setText(""); this.connectstring.setText(""); this.setOdbcList(); this.datasource.requestFocus(); } void clearList() { this.dataSources.clear(); } boolean loadList() { boolean var2 = false; Vector var3 = new Vector(); int var4 = 0; int var5 = 0; if (this.moduleParameter.equals("JDPSetup")) { this.jaggSQL = super.user.jaggSQL; this.jaggSQL.setDSN(super.user.jaggDSN); } else { this.jaggSQL = new JDPJagg(super.user.jaggPath); this.jaggSQL.setDSN(super.user.jaggDSN); } this.jaggSQL.loadSettings(super.user); String var6 = this.jaggSQL.getSEP(); String var8 = ""; this.dataSources.clear(); this.datasourceC.clear(); if (this.moduleParameter.equals("JDPSetup") && this.dataSources.countItems() == 0 && super.user.JDesignerPro.JDPJaggDir != null) { if (((Component)this).isShowing()) { super.user.mainmsg.setStatusMsg("Accessing database...", 0); } this.jaggSQL.setFCTNP(""); if (JDPJagg.useJaggServer) { this.jaggSQL.setFCTN("System"); var8 = super.user.JDesignerPro.JDPJaggDir + "JDPJagg.exe SQLDataSources"; } else { this.jaggSQL.setFCTN("SQLDataSources"); var8 = ""; } var4 = this.jaggSQL.execSQL(var8, var3); if (var4 < 0) { super.user.mainmsg.setStatusMsg("Invalid CGI path. Please check and press Apply.", 0); return false; } var4 = var3.size(); var5 = 2; } if (var4 == 0 && !this.jaggSQL.getDSN().equals("")) { var8 = ""; this.jaggSQL.setFCTN("SQLDataSources"); this.jaggSQL.execSQL(var8, var3); var4 = this.jaggSQL.getRowCount(); var5 = this.jaggSQL.getColumnCount(); } this.jaggSQL.setFCTN(""); if (super.user.DEBUG) { System.out.println("JDPSelectDSN/loadList COL: " + Integer.toString(this.jaggSQL.getColumnCount())); } if (var4 <= 0 && super.user.JDesignerPro.getServerPlatform().startsWith("Windows")) { var4 = 2; var5 = 2; var3.addElement("JDesignerPro DB" + var6 + "FOXPRO"); var3.addElement("JDP Tutorial" + var6 + "ACCESS"); } if (var4 <= 0 && super.user.JDesignerPro.getServerPlatform().startsWith("NetWare")) { var4 = 2; var5 = 2; var3.addElement("Oracle" + var6 + "ORACLE"); var3.addElement("Cloudscape" + var6 + "CLOUDSCAPE"); } if (var4 > 0) { this.recordKey = new String[var4]; this.recordName = new String[var4]; } int var9 = 0; for(int var10 = 0; var10 < var4; ++var10) { String var7 = (String)var3.elementAt(var10); if (var7 != null && var7.trim().compareTo("") != 0) { StringTokenizer var1 = new StringTokenizer(var7); String var11 = var1.nextToken(var6).trim(); this.recordKey[var9] = var11; this.recordName[var9] = ""; if (var5 > 1) { this.recordName[var9] = var1.nextToken(var6).trim(); } this.dataSources.addItem(this.recordKey[var9], 3); this.datasourceC.addItem(this.recordKey[var9]); ++var9; } } this.listCount.setText(Integer.toString(var9)); this.restoreDSN(); if (((Component)this).isShowing()) { super.user.mainmsg.clearStatusMsg(); } return true; } boolean setNewDSN() { if (this.moduleParameter.equals("JDPSetup")) { this.jaggSQL = super.user.jaggSQL; } else if (this.jaggSQL == null) { this.jaggSQL = new JDPJagg(super.user.jaggPath); } if (this.datasource.getText().equals("")) { return false; } else { if (JDPJagg.useJaggServer) { this.jaggSQL.setJdbcDriver(this.jdbcdriver.getText()); this.jaggSQL.setJdbcPrefix(this.jdbcprefix.getText()); this.jaggSQL.setJdbcSuffix(this.jdbcsuffix.getText()); this.jaggSQL.setUID(this.userid.getText()); this.jaggSQL.setPWD(this.password.getText()); this.jaggSQL.setCSTR(this.connectstring.getText()); this.jaggSQL.setJdbcDirect(this.jdbcdirect.getSelectedIndex() == 1); } else { this.jaggSQL.setCSTR(this.connectstring.getText()); this.jaggSQL.setUID(this.userid.getText()); this.jaggSQL.setPWD(this.password.getText()); this.gParmObject.setElementAt(this.datasource.getText(), 1); this.gParmObject.setElementAt(this.connectstring.getText(), 2); } this.jaggSQL.setDSN(this.datasource.getText()); this.dsnType = super.user.u.getDataSourceType(this.jaggSQL); if (this.dsnType == null) { return false; } else { for(int var1 = 0; var1 < super.user.gParm.size(); ++var1) { if (super.user.gParm.elementAt(var1) instanceof Vector) { Vector var2 = (Vector)super.user.gParm.elementAt(var1); if (((String)var2.elementAt(0)).compareTo("SelectTable" + super.componentName) == 0) { ((JDPClassLayout)var2.elementAt(1)).refresh(); } if (((String)var2.elementAt(0)).compareTo("ChoiceLayout" + super.componentName) == 0) { ((JDPClassLayout)var2.elementAt(1)).refresh(); } } if (super.user.gParm.elementAt(var1) instanceof JDPSQLSelector) { ((JDPSQLSelector)super.user.gParm.elementAt(var1)).refresh(); } } this.saveDSN(); return true; } } } void removeItem() { this.dataSources.getSelectedIndex(); if (JDPJagg.useJaggServer) { this.datasource.setText(""); this.jdbcdriver.setText(""); this.jdbcprefix.setText(""); this.jdbcsuffix.setText(""); if (this.jdbcsuffixC.countItems() > 0) { this.jdbcsuffixC.select(0); } if (this.jdbcdirect.countItems() > 0) { this.jdbcdirect.select(0); } this.sourcetype.setText(""); this.password.setText(""); this.userid.setText(""); this.connectstring.setText(""); this.database.setText(""); String var1 = "DELETE FROM JDPDataSrc WHERE sourcename = '" + this.dataSources.getSelectedItem() + "'"; Vector var2 = new Vector(); int var3 = super.user.jaggSQL.execSQL(var1, var2); if (var3 == 1) { if (((Component)this).isShowing()) { super.user.mainmsg.setStatusMsg("Database successfully removed from the list of databases", 10); } } else { super.user.u.setSqlMessage(this.jaggSQL, var1); } } this.setOdbcList(); this.clearList(); this.loadList(); } void retrieveHandle() { } void setComponentName(String var1) { super.componentName = var1; Vector var2 = new Vector(); var2.addElement(super.moduleName + var1); var2.addElement(""); var2.addElement(""); var2.addElement(this); ((JDPClassLayout)this).addGlobalParm(var2); } boolean saveData() { int var1 = 0; Vector var2 = new Vector(); super.user.jaggSQL.getSEP(); String var3 = ""; if (this.moduleParameter.equals("JDPSetup")) { this.jaggSQL = super.user.jaggSQL; } else { this.jaggSQL = new JDPJagg(super.user.jaggPath); } String var4 = "DSN=" + this.datasource.getText() + ";UID=" + this.userid.getText() + ";PWD=" + this.password.getText() + ";"; if (JDPJagg.useJaggServer) { this.jaggSQL.setJdbcDriver(this.jdbcdriver.getText()); this.jaggSQL.setJdbcPrefix(this.jdbcprefix.getText()); this.jaggSQL.setJdbcSuffix(this.jdbcsuffix.getText()); this.jaggSQL.setJdbcDirect(this.jdbcdirect.getSelectedIndex() == 1); this.jaggSQL.setUID(this.userid.getText()); this.jaggSQL.setPWD(this.password.getText()); this.jaggSQL.setCSTR(this.connectstring.getText()); } else { this.jaggSQL.setCSTR(var4); } if (this.jdbcprefix.getText().equals("jdbc:odbc:")) { this.jdbcsuffix.setText(this.jdbcsuffixC.getSelectedItem()); } this.jaggSQL.setDSN(this.datasource.getText()); String var5 = super.user.u.getDataSourceType(this.jaggSQL); if (var5 == null) { super.user.u.setSqlMessage(this.jaggSQL, var3); return false; } else { this.sourcetype.setText(var5); 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() + "')"; this.jaggSQL.loadSettings(super.user); if (JDPJagg.useJaggServer) { this.jaggSQL.setUID(super.user.jdbcUserid); this.jaggSQL.setPWD(super.user.jdbcPassword); } if (((Component)this).isShowing()) { super.user.mainmsg.setStatusMsg("Accessing database...", 0); } var1 = this.jaggSQL.execSQL(var3, var2); if (var1 < 0) { 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() + "')"; var1 = this.jaggSQL.execSQL(var3, var2); } if (JDPJagg.useJaggServer) { this.jaggSQL.loadJdbcDataSources(); this.jaggSQL.setJdbcDriver(this.jdbcdriver.getText()); this.jaggSQL.setJdbcPrefix(this.jdbcprefix.getText()); this.jaggSQL.setJdbcSuffix(this.jdbcsuffix.getText()); this.jaggSQL.setJdbcDirect(this.jdbcdirect.getSelectedIndex() == 1); this.jaggSQL.setUID(this.userid.getText()); this.jaggSQL.setPWD(this.password.getText()); this.jaggSQL.setCSTR(this.connectstring.getText()); } else { this.jaggSQL.setCSTR(var4); this.jaggSQL.setDSN(this.datasource.getText()); } lastDSN = this.datasource.getText(); lastCSTR = var4; lastJdbcDriver = this.jdbcdriver.getText(); lastJdbcPrefix = this.jdbcprefix.getText(); lastJdbcSuffix = this.jdbcsuffix.getText(); lastJdbcDirect = this.jdbcdirect.getSelectedItem(); lastUID = this.userid.getText(); lastPWD = this.password.getText(); if (var1 == -1) { super.user.u.setSqlMessage(this.jaggSQL, var3); return false; } else { if (var1 == 1) { if (((Component)this).isShowing()) { super.user.mainmsg.setStatusMsg("Database successfully added.", 3); } } else { super.user.u.setSqlMessage(this.jaggSQL, var3); } this.loadList(); return true; } } } void buildConnectString() { if (this.moduleParameter.compareTo("JDPTemplateMaint") == 0) { this.datasource.setText(this.datasourceC.getSelectedItem().trim()); } if (!JDPJagg.useJaggServer) { String var1 = "DSN=" + this.datasource.getText() + ";"; var1 = var1 + "UID=" + this.userid.getText() + ";"; var1 = var1 + "PWD=" + this.password.getText() + ";"; if (this.database.getText().compareTo("") != 0) { var1 = var1 + "DATABASE=" + this.database.getText() + ";"; } this.connectstring.setText(var1); } } void restoreDSN() { if (lastDSN == null) { lastDSN = super.user.jaggDSN; lastJdbcDriver = super.user.jdbcDriver; lastJdbcPrefix = super.user.jdbcPrefix; lastJdbcSuffix = super.user.jdbcSuffix; lastCSTR = super.user.jaggCSTR; lastUID = super.user.jdbcUserid; lastPWD = super.user.jdbcPassword; } if (this.dataSources.getSelectedIndex() < 0) { this.dataSources.select(lastDSN); this.dataSources.makeVisible(this.dataSources.getSelectedIndex()); if (lastDSN != null) { this.datasource.setText(lastDSN); } if (lastJdbcDriver != null) { this.jdbcdriver.setText(lastJdbcDriver); } if (lastJdbcPrefix != null) { this.jdbcprefix.setText(lastJdbcPrefix); } if (lastJdbcSuffix != null) { this.jdbcsuffix.setText(lastJdbcSuffix); } if (lastJdbcSuffix != null) { this.jdbcsuffixC.select(lastJdbcSuffix); } if (lastJdbcDirect != null) { this.jdbcsuffixC.select(lastJdbcDirect); } if (lastCSTR != null) { this.connectstring.setText(lastCSTR); } if (lastUID != null) { this.userid.setText(lastUID); } if (lastPWD != null) { this.password.setText(lastPWD); } } if (!this.demoMode) { this.loadItem(); } } boolean saveSelections() { JDPSaveProps var1 = super.user.saveProperties; String var2 = "JDPSelectDSN" + super.componentName; var1.saveObject(this.dataSources, var2, "dataSources"); var1.saveObject(this.datasource, var2, "datasource"); var1.saveObject(this.jdbcdriver, var2, "jdbcdriver"); var1.saveObject(this.jdbcprefix, var2, "jdbcprefix"); var1.saveObject(this.jdbcsuffix, var2, "jdbcsuffix"); var1.saveObject(this.jdbcdirect, var2, "jdbcdirect"); var1.saveObject(this.datasourceC, var2, "datasourceC"); var1.saveObject(this.sourcetype, var2, "sourcetype"); var1.saveObject(this.password, var2, "password"); var1.saveObject(this.userid, var2, "userid"); var1.saveObject(this.connectstring, var2, "connectstring"); var1.saveObject(this.maxRows, var2, "maxRows"); var1.saveObject(this.timeOut, var2, "timeOut"); var1.saveObject(this.usernameChoice, var2, "usernameChoice"); return true; } void setOdbcList() { if (this.jdbcprefix.getText().trim().equals("jdbc:odbc:")) { ((CardLayout)this.jdbcsuffixPanel.getLayout()).show(this.jdbcsuffixPanel, "jdbc:odbc:"); } else { ((CardLayout)this.jdbcsuffixPanel.getLayout()).show(this.jdbcsuffixPanel, "other"); } } void loadODBCList() { Vector var2 = new Vector(); int var3 = 0; boolean var4 = false; String var5 = this.jaggSQL.getSEP(); String var7 = ""; if (this.jdbcsuffixC.countItems() == 0 && super.user.JDesignerPro.JDPJaggDir != null) { super.user.mainmsg.setStatusMsg("Loading ODBC datasources...", 0); this.jaggSQL.setFCTNP(""); if (JDPJagg.useJaggServer) { this.jaggSQL.setFCTN("System"); var7 = super.user.JDesignerPro.JDPJaggDir + "JDPJagg.exe SQLDataSources"; } else { this.jaggSQL.setFCTN("SQLDataSources"); var7 = ""; } var3 = this.jaggSQL.execSQL(var7, var2); var4 = true; this.jaggSQL.setFCTN(""); this.jaggSQL.setFCTNP(""); if (var3 > 0) { for(int var8 = 0; var8 < var3; ++var8) { String var6 = (String)var2.elementAt(var8); if (var6 != null && !var6.trim().equals("")) { StringTokenizer var1 = new StringTokenizer(var6); String var9 = var1.nextToken(var5).trim(); this.jdbcsuffixC.addItem(var9); } } } super.user.mainmsg.clearStatusMsg(); } } void refresh() { if (!this.demoMode) { this.restoreDSN(); this.restoreSelections(); this.setNewDSN(); } } boolean removeSelections() { JDPSaveProps var1 = super.user.saveProperties; String var2 = "JDPSelectDSN" + super.componentName; var1.removeObject(this.dataSources, var2, "dataSources"); var1.removeObject(this.datasource, var2, "datasource"); var1.removeObject(this.datasourceC, var2, "datasourceC"); var1.removeObject(this.jdbcdriver, var2, "jdbcdriver"); var1.removeObject(this.jdbcprefix, var2, "jdbcprefix"); var1.removeObject(this.jdbcsuffix, var2, "jdbcsuffix"); var1.removeObject(this.jdbcdirect, var2, "jdbcdirect"); var1.removeObject(this.sourcetype, var2, "sourcetype"); var1.removeObject(this.password, var2, "password"); var1.removeObject(this.userid, var2, "userid"); var1.removeObject(this.connectstring, var2, "connectstring"); var1.removeObject(this.maxRows, var2, "maxRows"); var1.removeObject(this.timeOut, var2, "timeOut"); var1.removeObject(this.usernameChoice, var2, "usernameChoice"); return true; } public boolean handleEvent(Event var1) { switch (var1.id) { case 401: if (var1.key == 9) { if (!var1.target.equals(this.connectstring)) { } if (JDPJagg.useJaggServer && this.datasource.isEditable()) { if (var1.target.equals(this.datasource)) { super.user.u.cursor(this.jdbcdriver); return true; } if (var1.target.equals(this.jdbcdriver)) { super.user.u.cursor(this.jdbcprefix); return true; } if (this.jdbcsuffix.isVisible()) { if (var1.target.equals(this.jdbcprefix)) { super.user.u.cursor(this.jdbcsuffix); return true; } if (this.jdbcdirect.isVisible()) { if (var1.target.equals(this.jdbcsuffix)) { super.user.u.cursor(this.jdbcdirect); return true; } if (var1.target.equals(this.jdbcdirect)) { super.user.u.cursor(this.userid); return true; } } else if (var1.target.equals(this.jdbcsuffix)) { super.user.u.cursor(this.userid); return true; } } else { if (var1.target.equals(this.jdbcprefix)) { super.user.u.cursor(this.jdbcsuffixC); return true; } if (this.jdbcdirect.isVisible()) { if (var1.target.equals(this.jdbcsuffixC)) { super.user.u.cursor(this.jdbcdirect); return true; } if (var1.target.equals(this.jdbcdirect)) { super.user.u.cursor(this.userid); return true; } } else if (var1.target.equals(this.jdbcsuffixC)) { super.user.u.cursor(this.userid); return true; } } if (var1.target.equals(this.userid)) { super.user.u.cursor(this.password); return true; } if (var1.target.equals(this.password)) { super.user.u.cursor(this.connectstring); return true; } if (!super.componentName.equals("")) { if (var1.target.equals(this.connectstring)) { super.user.u.cursor(this.maxRows); return true; } if (var1.target.equals(this.maxRows)) { super.user.u.cursor(this.timeOut); return true; } } if (this.usernameChoice != null && var1.target.equals(this.timeOut)) { super.user.u.cursor(this.usernameChoice); return true; } super.user.u.cursor(this.datasource); } else { if (var1.target.equals(this.userid)) { super.user.u.cursor(this.password); return true; } if (var1.target.equals(this.password)) { super.user.u.cursor(this.connectstring); return true; } if (!super.componentName.equals("")) { if (var1.target.equals(this.connectstring)) { super.user.u.cursor(this.maxRows); return true; } if (var1.target.equals(this.maxRows)) { super.user.u.cursor(this.timeOut); return true; } } if (this.usernameChoice != null && var1.target.equals(this.timeOut)) { super.user.u.cursor(this.usernameChoice); return true; } super.user.u.cursor(this.userid); } return true; } else if (!(var1.target instanceof TextField) || !var1.target.equals(this.userid) && !var1.target.equals(this.password) && !var1.target.equals(this.database)) { return false; } else { this.connectstring.setText(""); return false; } case 402: case 1005: this.setOdbcList(); return false; case 503: case 504: case 505: this.popuppanel.postEvent(var1); return false; case 701: this.datasource.setEditable(false); this.jdbcdriver.setEnabled(false); this.jdbcprefix.setEnabled(false); this.jdbcsuffix.setEditable(false); this.jdbcsuffixC.disable(); this.jdbcdirect.disable(); if (!var1.target.equals(this.dataSources)) { return false; } if (this.moduleParameter.length() == 0 || this.moduleParameter.equals("JDPSetup") || this.moduleParameter.equals("JDPTemplateMaint")) { this.connectstring.setText(""); if (!this.demoMode) { this.loadItem(); } } return true; case 1001: if (!var1.target.equals(this.dataSources)) { if (var1.target instanceof JDPComboBox) { if (var1.target.equals(this.jdbcsuffixC)) { this.jdbcsuffix.setText(this.jdbcsuffixC.getSelectedItem()); return true; } if (var1.target.equals(this.jdbcdriver)) { this.jdbcprefix.select(this.jdbcdriver.getSelectedIndex()); } this.setOdbcList(); this.buildConnectString(); return true; } if (var1.target instanceof TextField) { return true; } if (var1.target instanceof Button) { return true; } if (var1.target instanceof JDPButton) { String var2 = (String)var1.arg; if (var2.trim().compareTo("Connect") == 0) { if (!super.user.u.ischaracter(this.datasource, super.user.mainmsg, "You must enter a name for this datasource.")) { return true; } if (this.datasource.isEditable() && this.dataSources.getItem(this.datasource.getText()) >= 0) { super.user.mainmsg.setStatusMsg("A database with this name already exists. Please choose another name.", 10); return true; } 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.")) { return true; } if (super.user.u.isnumeric(this.maxRows, super.user.mainmsg) && super.user.u.isnumeric(this.timeOut, super.user.mainmsg)) { if (this.datasource.isEditable()) { super.user.mainmsg.setStatusMsg("Connecting...", 0); if (!this.saveData()) { return true; } this.datasource.setEditable(false); this.jdbcdriver.setEnabled(false); this.jdbcprefix.setEnabled(false); this.jdbcsuffix.setEditable(false); this.jdbcsuffixC.disable(); this.jdbcdirect.disable(); } if (this.connectstring.getText().compareTo("") == 0) { this.buildConnectString(); } if (this.setNewDSN()) { if (this.moduleParameter.equals("JDPDatabaseMaint")) { return false; } this.saveSelections(); this.tabPanel = JDPUtils.getTabPanel(this); if (this.tabPanel != null) { this.tabPanel.loadNextTab(); } } } return true; } if (var2.trim().equals("New")) { this.loadODBCList(); this.enterNewDatasource(); return true; } if (var2.trim().equals("Remove")) { if (!this.demoMode) { this.removeItem(); } return true; } if (var2.trim().compareTo("Install JDP") == 0) { if (this.sourcetype.getText().indexOf("Text") > 0) { super.user.mainmsg.setStatusMsg("Text drivers cannot be used for JDesginerPro base database.", 10); return true; } if (this.connectstring.getText().compareTo("") == 0) { this.buildConnectString(); } if (!this.setNewDSN()) { return true; } } } return false; } if (this.moduleParameter.length() == 0 || this.moduleParameter.equals("JDPSetup") || this.moduleParameter.equals("JDPTemplateMaint")) { this.connectstring.setText(""); if (!this.demoMode) { this.loadItem(); } } return true; default: return false; } } void loadItem() { int var1 = this.dataSources.getSelectedIndex(); if (var1 >= 0) { this.datasource.setText(this.recordKey[var1].trim()); this.sourcetype.setText(this.recordName[var1].trim()); this.jdbcsuffix.setText(this.recordKey[var1].trim()); this.jdbcsuffixC.select(this.recordKey[var1].trim()); } if (JDPJagg.useJaggServer && !super.user.jaggSQL.getDSN().equals("")) { this.datasource.setText(""); this.jdbcdriver.setText(""); this.jdbcprefix.setText(""); this.jdbcsuffix.setText(""); if (this.jdbcsuffixC.countItems() > 0) { this.jdbcsuffixC.select(0); } if (this.jdbcdirect.countItems() > 0) { this.jdbcdirect.select(0); } this.sourcetype.setText(""); this.connectstring.setText(""); this.database.setText(""); String var2 = this.jaggSQL.getSEP(); String var3 = "SELECT * FROM JDPDataSrc WHERE sourcename = '" + this.dataSources.getSelectedItem() + "'"; Vector var4 = new Vector(); int var5 = super.user.jaggSQL.execSQL(var3, var4); if (var5 == 1) { StringTokenizer var6 = new StringTokenizer((String)var4.elementAt(0), var2); this.datasource.setText(var6.nextToken().trim()); this.jdbcdriver.setText(var6.nextToken().trim()); this.jdbcprefix.setText(var6.nextToken().trim()); this.jdbcsuffix.setText(var6.nextToken().trim()); this.connectstring.setText(var6.nextToken().trim()); this.jdbcsuffixC.select(this.jdbcsuffix.getText()); this.sourcetype.setText(var6.nextToken().trim()); this.jdbcdirect.select(var6.nextToken().trim()); } } this.setOdbcList(); } void saveDSN() { if (!this.demoMode) { lastDSN = this.dataSources.getSelectedItem(); lastJdbcDriver = this.jdbcdriver.getText(); lastJdbcPrefix = this.jdbcprefix.getText(); lastJdbcSuffix = this.jdbcsuffix.getText(); lastJdbcDirect = this.jdbcdirect.getSelectedItem(); lastCSTR = this.connectstring.getText(); lastUID = this.userid.getText(); lastPWD = this.password.getText(); } } public void InitClass(JDPUser var1, Panel var2, String var3) { super.user = var1; this.moduleParameter = var3; super.moduleName = "SelectDSN"; if (var3.equals("SQLOnly")) { var3 = ""; this.moduleParameter = ""; super.componentName = "SQLOnly"; } if (var3.startsWith("JDPLayoutMgr:")) { super.componentName = var3.substring(13); this.moduleParameter = ""; var3 = ""; } ((Container)this).setLayout(new BorderLayout()); ((Component)this).setFont(var1.plainFont); this.popuppanel = new JDPPopupMessage(var1, var2); ((Container)var2).add(this.popuppanel); Panel var4 = new Panel(); ((Container)var4).setLayout(new BorderLayout()); Panel var5 = new Panel(); ((Container)var5).setLayout(new BorderLayout()); this.centerMainPanel = new Panel(); this.centerMainPanel.setLayout(new BorderLayout()); JDPScrollPanel var6 = new JDPScrollPanel(); String var7 = ""; String var8 = ""; String var9 = ""; if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPDatabaseMaint") != 0 && var3.compareTo("JDPTemplateMaint") != 0) { if (var3.indexOf(" ") > 0) { var9 = var3.substring(var3.indexOf(" ") + 1); var7 = var3.substring(0, var3.indexOf(" ")); var8 = var9.substring(var9.indexOf("DSN")); var9 = var9.substring(0, var9.indexOf("DSN") - 1); lastDSN = var7; lastCSTR = var8; this.demoMode = true; } else { var7 = var3; } } this.datasource = new TextField(var7, 30); this.jdbcdriver = new JDPComboBox(var1, "sun.jdbc.odbc.JdbcOdbcDriver", 30); this.jdbcdriver.addItem("sun.jdbc.odbc.JdbcOdbcDriver"); this.jdbcdriver.addItem("oracle.jdbc.driver.OracleDriver"); this.jdbcdriver.addItem("oracle.jdbc.driver.OracleDriver"); this.jdbcdriver.addItem("weblogic.jdbc.oci.Driver"); this.jdbcdriver.addItem("com.sybase.jdbc.SybDriver"); this.jdbcdriver.addItem("intersolv.jdbc.sequelink.SequeLinkDriver"); this.jdbcdriver.addItem("com.ikinetics.cw.sql.driver"); this.jdbcdriver.addItem("gwe.sql.gweMysqlDriver"); this.jdbcdriver.addItem("COM.cloudscape.core.JDBCDriver"); this.jdbcprefix = new JDPComboBox(var1, "jdbc:odbc:", 30); this.jdbcprefix.addItem("jdbc:odbc:"); this.jdbcprefix.addItem("jdbc:oracle:oci7:"); this.jdbcprefix.addItem("jdbc:oracle:thin:"); this.jdbcprefix.addItem("jdbc:weblogic:oracle:"); this.jdbcprefix.addItem("jdbc:sybase:Tds:"); this.jdbcprefix.addItem("jdbc:sequelink:"); this.jdbcprefix.addItem("jdbc:iiop:i-kinetics:"); this.jdbcprefix.addItem("jdbc:mysql:"); this.jdbcprefix.addItem("jdbc:cloudscape:"); this.jdbcsuffix = new TextField("", 30); this.jdbcsuffixC = new JDPComboBox(var1, "", 30); this.jdbcsuffixC.setEditable(false); this.jdbcsuffixPanel = new Panel(); this.jdbcsuffixPanel.setLayout(new CardLayout()); this.jdbcdirect = new JDPComboBox(var1, "No", 5); this.jdbcdirect.setEditable(false); this.jdbcdirect.addItem("No"); this.jdbcdirect.addItem("Yes"); this.datasourceC = new JDPComboBox(var1, "", 10); this.datasourceC.setEditable(false); this.sourcetype = new TextField(var9, 30); this.sourcechoice = new JDPComboBox(var1, "", 30); this.sourcechoice.setEditable(false); this.sourcechoice.addItem("SQL Server"); this.sourcechoice.addItem("Oracle"); this.sourcechoice.addItem("Access"); this.sourcechoice.addItem("Sybase"); this.sourcechoice.addItem("SQL Anywhere"); this.sourcechoice.addItem("Informix"); this.sourcechoice.addItem("DBase"); this.sourcechoice.addItem("Other"); this.userid = new TextField("", 20); this.password = new TextField("", 20); this.password.setEchoCharacter('*'); this.database = new TextField("", 20); this.connectstring = new TextField(var8, 30); this.maxRows = new TextField("1000", 10); this.timeOut = new TextField("60", 10); if (!var3.equals("JDPSetup")) { this.datasource.setEditable(false); this.jdbcdriver.setEnabled(false); this.jdbcprefix.setEnabled(false); this.jdbcsuffix.setEditable(false); this.jdbcsuffixC.disable(); this.jdbcdirect.disable(); } else { this.jdbcdirect.hide(); } this.sourcetype.setEditable(false); if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPDatabaseMaint") != 0 && var3.compareTo("JDPTemplateMaint") != 0) { this.userid.setEditable(false); this.password.setEditable(false); this.database.setEditable(false); this.connectstring.setEditable(false); } ((Container)var6).add("Left", new JDPWrapLabel(var1, "Database Name:")); if (var3.compareTo("JDPTemplateMaint") != 0) { ((Container)var6).add("Right", this.datasource); this.popuppanel.addComponent(this.datasource, "Database name", "Database name"); } else { ((Container)var6).add("Right", this.datasourceC); this.popuppanel.addComponent(this.datasourceC, "Database name", "Database name"); } if (JDPJagg.useJaggServer) { ((Container)var6).add("Left", new JDPWrapLabel(var1, "JDBC Driver:")); ((Container)var6).add("Right", this.jdbcdriver); this.popuppanel.addComponent(this.jdbcdriver, "JDBC Driver", "Enter/Select the driver to use to connect to the JDBC database"); ((Container)var6).add("Left", new JDPWrapLabel(var1, "JDBC Prefix:")); ((Container)var6).add("Right", this.jdbcprefix); this.popuppanel.addComponent(this.jdbcprefix, "JDBC Prefix String", "Enter/Select the prefix to use to connect to the JDBC database"); ((Container)var6).add("Left", new JDPWrapLabel(var1, "JDBC Suffix:")); ((Container)var6).add("Right", this.jdbcsuffixPanel); this.jdbcsuffixPanel.add("other", this.jdbcsuffix); this.jdbcsuffixPanel.add("jdbc:odbc:", this.jdbcsuffixC); this.popuppanel.addComponent(this.jdbcsuffix, "JDBC Suffix String", "Enter the database name to connect to the database"); this.popuppanel.addComponent(this.jdbcsuffixC, "JDBC Suffix String", "Select the datasource name to connect to the database"); if (!var3.equals("JDPSetup")) { ((Container)var6).add("Left", new JDPWrapLabel(var1, "Direct Connection:")); ((Container)var6).add("Right", this.jdbcdirect); this.popuppanel.addComponent(this.jdbcdirect, "Use Direct JDBC connection", "Bypass JaggServer for this connection by using a direct JDBC connection to the datasource"); } } ((Container)var6).add("Left", new JDPWrapLabel(var1, "Type:")); ((Container)var6).add("Right", this.sourcetype); this.popuppanel.addComponent(this.sourcetype, "Database type", "Database type"); ((Container)var6).add("Left", new JDPWrapLabel(var1, "User ID:")); ((Container)var6).add("Right", this.userid); this.popuppanel.addComponent(this.userid, "Database Userid", "Connect to the selected database with this Userid"); ((Container)var6).add("Left", new JDPWrapLabel(var1, "Password:")); ((Container)var6).add("Right", this.password); this.popuppanel.addComponent(this.password, "Database Password", "Connect to the selected database with this Password"); ((Container)var6).add("Left", new JDPWrapLabel(var1, "Extra Connect Parms:")); ((Container)var6).add("Right", this.connectstring); this.popuppanel.addComponent(this.connectstring, "Extra Connection Parms", "Extra connection parms in the format name1=value1;name2=value2;"); if (!super.componentName.equals("")) { ((Container)var6).add("Left", new JDPWrapLabel(var1, "Max rows to return:")); ((Container)var6).add("Right", this.maxRows); this.popuppanel.addComponent(this.connectstring, "Maximum rows", "Enter the maximum number of rows for a select to return"); ((Container)var6).add("Left", new JDPWrapLabel(var1, "Timeout:")); ((Container)var6).add("Right", this.timeOut); this.popuppanel.addComponent(this.connectstring, "Query Timeout", "Enter the number of seconds to wait before the query should time out"); } if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPDatabaseMaint") != 0 && var3.compareTo("JDPTemplateMaint") != 0) { this.centerMainPanel.add("North", var6); JDPBrowser var10 = new JDPBrowser(); var10.InitClass(var1, this.centerMainPanel, "Docs/jdpsadb.htm"); this.centerMainPanel.add("Center", var10); } else if (var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPTemplateMaint") != 0) { this.usernameChoice = new JDPComboBox(var1, "", 25); this.usernameChoice.setEditable(false); this.usernameChoice.addItem("This username/password"); this.usernameChoice.addItem("JDP username/password"); ((Container)var6).add("Left", new JDPWrapLabel(var1, "Connect using:")); ((Container)var6).add("Right", this.usernameChoice); this.popuppanel.addComponent(this.usernameChoice, "Username/Password connection setting", "Module should connect to database using this username/password or JDP username/password"); this.centerMainPanel.add("Center", var6); } else { this.centerMainPanel.add("North", var6); } if (var3.compareTo("JDPTemplateMaint") != 0) { if (var3.compareTo("JDPSetup") != 0) { if (JDPJagg.useJaggServer) { if (var3.length() > 0 && var3.compareTo("JDPSetup") != 0 && var3.compareTo("JDPTemplateMaint") != 0) { String[] var16 = new String[]{"Connect"}; int[] var20 = new int[]{5}; this.btns = new JDPButtons(var1, var16, var20, JDPButtons.HORIZONTAL); this.centerMainPanel.add("South", this.btns); this.popuppanel.addComponent(this.btns.button[0], "Connect to database", "Connect to the selected database"); } else { String[] var15 = new String[]{"Connect", "New", "Remove"}; int[] var11 = new int[]{5, 9, 8}; this.btns = new JDPButtons(var1, var15, var11, JDPButtons.HORIZONTAL); this.centerMainPanel.add("South", this.btns); this.popuppanel.addComponent(this.btns.button[0], "Connect to database", "Connect to the selected database"); this.popuppanel.addComponent(this.btns.button[1], "Add a new database", "Add a new database to the list of databases"); this.popuppanel.addComponent(this.btns.button[2], "Remove database", "Remove this database from the list of databases"); } } else { String[] var17 = new String[]{"Connect"}; int[] var21 = new int[]{5}; this.btns = new JDPButtons(var1, var17, var21, JDPButtons.HORIZONTAL); this.centerMainPanel.add("South", this.btns); this.popuppanel.addComponent(this.btns.button[0], "Connect to database", "Connect to the selected database"); } } else { String[] var18 = new String[]{"Install JDP", "New", "Exit Setup"}; int[] var22 = new int[]{5, 9, 6}; JDPButtons var12 = new JDPButtons(var1, var18, var22, JDPButtons.HORIZONTAL); this.centerMainPanel.add("South", var12); JDPBrowser var13 = new JDPBrowser(); if (!JDPJagg.useJaggServer) { var13.InitClass(var1, this.centerMainPanel, "Docs/JDPSetup.htm"); } else { var13.InitClass(var1, this.centerMainPanel, "Docs/JDPSetupSvr.htm"); } this.centerMainPanel.add("Center", var13); this.popuppanel.addComponent(var12.button[0], "Install JDesignerPro", "Install JDesignerPro System tables in the selected database"); } } ((Container)var4).add("Center", this.centerMainPanel); this.dataSources = new JDPList(var1); this.dataSources.setMinWidth(160); this.leftPanel = new Panel(); this.leftPanel.setLayout(new BorderLayout()); this.leftPanel.add("Center", this.dataSources); if (!var3.equals("JDPTemplateMaint") && !var3.equals("JDPDatabaseMaint")) { ((Container)var4).add("West", this.leftPanel); this.popuppanel.addComponent(this.dataSources, "Databases", "Choose the database to connect to"); } Panel var19 = new Panel(); ((Container)var19).setLayout(new BorderLayout(1, 1)); ((Container)var19).add("West", new Label("Sources:", 0)); this.listCount = new Label("0 ", 0); Panel var23 = new Panel(); ((Container)var23).setLayout(new BorderLayout(1, 1)); ((Container)var23).add("West", this.listCount); ((Container)var23).add("Center", new Label(" ", 0)); ((Container)var19).add("Center", var23); this.leftPanel.add("North", var19); ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Select a Database", var4, "North")); this.gParmObject = new Vector(); if (var3.compareTo("JDPTemplateMaint") != 0) { this.gParmObject.addElement(super.moduleName + super.componentName); if (!var3.equals("JDPSetup")) { this.retrieveHandle(); } } else { this.gParmObject.addElement("SelectDSNTemplate"); } this.gParmObject.addElement(""); this.gParmObject.addElement(""); this.gParmObject.addElement(this); ((JDPClassLayout)this).addGlobalParm(this.gParmObject); this.loadList(); if (!var3.equals("JDPSetup") && !var3.equals("JDPDatabaseMaint")) { if (!var3.equals("JDPTemplateMaint")) { this.refresh(); } else { this.gParmObject.setElementAt(this.datasourceC.getSelectedItem(), 1); ((Container)var2).add("Center", var4); } ((Component)var2).paintAll(((Component)var2).getGraphics()); if (super.componentName.equals("")) { new JDPPanelLoader("JDPSelectTable"); } } if (this.demoMode) { this.dataSources.disable(); this.dataSources.select("Pubs"); this.dataSources.makeVisible(this.dataSources.getSelectedIndex()); this.loadItem(); } } }