001: package org.apache.ojb.tools.mapping.reversedb.gui.actions;
002:
003: /* Copyright 2002-2005 The Apache Software Foundation
004: *
005: * Licensed under the Apache License, Version 2.0 (the "License");
006: * you may not use this file except in compliance with the License.
007: * You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: import javax.swing.JOptionPane;
019:
020: /**
021: *
022: * @author <a href="mailto:bfl@florianbruckner.com">Florian Bruckner</a>
023: * @version $Id: DBConnectAction.java,v 1.1.2.1 2005/12/21 22:32:06 tomdz Exp $
024: */
025: public class DBConnectAction extends javax.swing.AbstractAction {
026: private org.apache.ojb.tools.mapping.reversedb.gui.JFrmMainFrame mainFrame;
027:
028: /** Creates a new instance of DBConnectAction */
029: public DBConnectAction(
030: org.apache.ojb.tools.mapping.reversedb.gui.JFrmMainFrame pmainFrame) {
031: super ();
032: mainFrame = pmainFrame;
033: }
034:
035: public void actionPerformed(java.awt.event.ActionEvent actionEvent) {
036: java.sql.Connection conn = connectToDB(mainFrame.getProperty(
037: "JDBCDriver", ""),
038: mainFrame.getProperty("JDBCURL", ""), mainFrame
039: .getProperty("JDBCUsername", ""), mainFrame
040: .getProperty("JDBCPassword", ""));
041: if (conn != null)
042: mainFrame.setConnection(conn);
043: else
044: new org.apache.ojb.tools.mapping.reversedb.gui.JDlgDBConnection(
045: mainFrame, false, mainFrame).show();
046: }
047:
048: private java.sql.Connection connectToDB(String strJDBCDriver,
049: String strJDBCURL, String strUsername, String strPassword) {
050: try {
051: Class.forName(strJDBCDriver); // "com.informix.jdbc.IfxDriver"
052: java.sql.Connection conn = java.sql.DriverManager
053: .getConnection(strJDBCURL, strUsername, strPassword); // "jdbc:informix-sqli://moon:1526/bci_test:INFORMIXSERVER=ol_bci", "informix", "informix"
054: return conn;
055: } catch (java.sql.SQLException sqlEx) {
056: java.sql.SQLException currentSqlEx = sqlEx;
057: System.out.println(sqlEx.getErrorCode() + ":"
058: + sqlEx.getMessage());
059: while (currentSqlEx.getNextException() != null) {
060: currentSqlEx = currentSqlEx.getNextException();
061: System.out.println(sqlEx.getErrorCode() + ":"
062: + sqlEx.getMessage());
063: }
064: JOptionPane.showMessageDialog(mainFrame,
065: "Error connecting to database:\n"
066: + sqlEx.getMessage(), "SQL Error",
067: JOptionPane.ERROR_MESSAGE);
068: return null;
069: } catch (java.lang.ClassNotFoundException clNotFoundEx) {
070: clNotFoundEx.printStackTrace();
071: JOptionPane.showMessageDialog(mainFrame,
072: "Cannot find driver class:\n"
073: + clNotFoundEx.getMessage(),
074: "Class Not Found", JOptionPane.ERROR_MESSAGE);
075: return null;
076: } catch (Throwable t) {
077: t.printStackTrace();
078: JOptionPane.showMessageDialog(mainFrame, "Unknown error:\n"
079: + t.getMessage(), "Unknown Error",
080: JOptionPane.ERROR_MESSAGE);
081: return null;
082: }
083: }
084: }
085:
086: /***************************** Changelog *****************************
087: // $Log: DBConnectAction.java,v $
088: // Revision 1.1.2.1 2005/12/21 22:32:06 tomdz
089: // Updated license
090: //
091: // Revision 1.1 2004/05/05 16:38:11 arminw
092: // fix fault
093: // wrong package structure used:
094: // org.apache.ojb.tools.reversdb
095: // org.apache.ojb.tools.reversdb2
096: //
097: // instead of
098: // org.apache.ojb.tools.mapping.reversdb
099: // org.apache.ojb.tools.mapping.reversdb2
100: //
101: // Revision 1.1 2004/05/04 13:44:59 arminw
102: // move reverseDB stuff
103: //
104: // Revision 1.7 2004/04/05 12:16:24 tomdz
105: // Fixed/updated license in files leftover from automatic license transition
106: //
107: // Revision 1.6 2004/04/04 23:53:42 brianm
108: // Fixed initial copyright dates to match cvs repository
109: //
110: // Revision 1.5 2004/03/11 18:16:23 brianm
111: // ASL 2.0
112: //
113: // Revision 1.4 2003/06/21 10:38:16 florianbruckner
114: // improve error reporting
115: //
116: // Revision 1.3 2002/06/18 12:23:15 florianbruckner
117: // bugfix: was reading a table "CATEGORIES" after opening a connection.
118: //
119: // Revision 1.2 2002/06/17 19:34:34 jvanzyl
120: // Correcting all the package references.
121: // PR:
122: // Obtained from:
123: // Submitted by:
124: // Reviewed by:
125: //
126: // Revision 1.1.1.1 2002/06/17 18:16:54 jvanzyl
127: // Initial OJB import
128: //
129: // Revision 1.2 2002/05/16 11:47:09 florianbruckner
130: // fix CR/LF issue, change license to ASL
131: //
132: // Revision 1.1 2002/04/18 11:44:16 mpoeschl
133: //
134: // move files to new location
135: //
136: // Revision 1.2 2002/04/07 09:05:17 thma
137: // *** empty log message ***
138: //
139: // Revision 1.1.1.1 2002/02/20 13:35:25 Administrator
140: // initial import
141: //
142: /***************************** Changelog *****************************/
|