]> git.mxchange.org Git - addressbook-swing.git/blobdiff - Addressbook/src/org/mxchange/addressbook/database/backend/mysql/MySqlDatabaseBackend.java
Implemented doShutdown() for MySQL backend
[addressbook-swing.git] / Addressbook / src / org / mxchange / addressbook / database / backend / mysql / MySqlDatabaseBackend.java
index f2fea93ce7fd64825747c11bb3d03190c69f37b0..900d5a8948d329f00f867e2fd3f6bcee89080242 100644 (file)
@@ -20,6 +20,7 @@ import java.io.IOException;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
+import java.text.MessageFormat;
 import java.util.Iterator;
 import org.mxchange.addressbook.contact.Contact;
 import org.mxchange.addressbook.database.backend.BaseDatabaseBackend;
@@ -49,16 +50,33 @@ public class MySqlDatabaseBackend extends BaseDatabaseBackend implements Databas
                // Validate driver
                this.validateDriver("mysql"); //NOI18N
 
-               // Now that the driver is there ...
+               // Now that the driver is there, set the table name
+               this.setTableName(tableName);
        }
 
        @Override
        public void connectToDatabase () throws SQLException {
+               // Trace message
+               this.getLogger().trace("CALLED!"); //NOI18N
+
                // Generate connection string
-               String connect = "jdbc:mysql://" + this.getProperty("org.mxchange.database.mysql.host") + "/" + this.getTableName();
+               String connect = String.format("jdbc:mysql://%s/%s", //NOI18N
+                               this.getProperty("org.mxchange.addressbook.database.mysql.host"), //NOI18N
+                               this.getProperty("org.mxchange.addressbook.database.mysql.dbname") //NOI18N
+               );
+
+               // Debug message
+               this.getLogger().debug(MessageFormat.format("Attempting to connect to {0} ...", connect)); //NOI18N
 
                // Now get a connection instance back
-               this.connection = DriverManager.getConnection(connect, this.getProperty("org.mxchange.database.mysql.login"), this.getProperty("org.mxchange.database.mysql.password"));
+               this.connection = DriverManager.getConnection(
+                               connect,
+                               this.getProperty("org.mxchange.addressbook.database.mysql.login"), //NOI18N
+                               this.getProperty("org.mxchange.addressbook.database.mysql.password") //NOI18N
+               );
+
+               // Trace message
+               this.getLogger().trace("EXIT!"); //NOI18N
        }
 
        @Override
@@ -68,7 +86,15 @@ public class MySqlDatabaseBackend extends BaseDatabaseBackend implements Databas
 
        @Override
        public void doShutdown () {
-               throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+               // This should not happen:
+               assert(this.connection == null) : "connection is null";
+
+               try {
+                       // Close down database connection
+                       this.connection.close();
+               } catch (final SQLException ex) {
+                       this.abortProgramWithException(ex);
+               }
        }
 
        @Override