Index: jbidwatcher/trunk/src/com/jbidwatcher/ui/config/JConfigDatabaseTab.java =================================================================== --- jbidwatcher/trunk/src/com/jbidwatcher/ui/config/JConfigDatabaseTab.java (revision 951) +++ jbidwatcher/trunk/src/com/jbidwatcher/ui/config/JConfigDatabaseTab.java (revision 954) @@ -1,6 +1,7 @@ package com.jbidwatcher.ui.config; import com.jbidwatcher.util.config.JConfig; +import com.jbidwatcher.ui.util.OptionUI; import javax.swing.*; import java.awt.event.ActionListener; @@ -19,6 +20,7 @@ public class JConfigDatabaseTab extends JConfigTab { private JRadioButton defaultDerbyDB; private JRadioButton mysqlDB; + private OptionUI mOui = null; private JTextField mysqlHost, mysqlPort; private JTextField mysqlDatabase; @@ -61,18 +63,20 @@ updateValues(); } - // - // Apply all changes made to the firewall options. This does NOT - // immediately open a SOCKS server, or a web proxy for all future - // transactions. It should. HACKHACK -- mrs: 14-August-2001 01:44 - // public boolean apply() { if (defaultDerbyDB.isSelected()) { - JConfig.kill("db.protocol"); - JConfig.kill("db.driver"); - JConfig.kill("db.user"); - JConfig.kill("db.pass"); + if(JConfig.queryConfiguration("temp.db.switch2derby") != null) JConfig.kill("temp.db.switch2derby"); + if(JConfig.queryConfiguration("db.protocol", "jdbc:derby:").contains("mysql")) { + JConfig.setConfiguration("temp.db.switch2derby", "true"); + } + JConfig.kill("temp.db.protocol"); + JConfig.kill("temp.db.driver"); + JConfig.kill("temp.db.user"); + JConfig.kill("temp.db.pass"); } else if (mysqlDB.isSelected()) { + if(!JConfig.queryConfiguration("db.protocol", "jdbc:derby:").contains("mysql")) { + JConfig.setConfiguration("temp.db.switch2derby", "false"); + } String host = mysqlHost.getText(); String port = mysqlPort.getText(); @@ -95,6 +99,11 @@ JConfig.setConfiguration("temp.db.pass", new String(mysqlPassword.getPassword())); } + if(JConfig.queryConfiguration("temp.db.switch2derby") != null) { + if(mOui == null) mOui = new OptionUI(); + mOui.promptWithCheckbox(null, "You will have to shut down JBidwatcher and restart for the database change to take effect.", "JBidwatcher restart required", "prompt.db_change_restart"); + } + return true; }