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;
// 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
@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