/src/mpv5/ui/dialogs/subcomponents/wizard_DBSettings_1.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/ · Java · 669 lines · 586 code · 69 blank · 14 comment · 43 complexity · 64d90b258f2c9208d21ec9b9de967aa8 MD5 · raw file

  1. /*
  2. * SearchPanel.java
  3. *
  4. * Created on Nov 30, 2008, 6:16:09 PM
  5. */
  6. package mpv5.ui.dialogs.subcomponents;
  7. import java.awt.Cursor;
  8. import java.awt.Desktop;
  9. import java.io.File;
  10. import java.io.IOException;
  11. import javax.swing.DefaultComboBoxModel;
  12. import javax.swing.JCheckBox;
  13. import javax.swing.JFileChooser;
  14. import mpv5.Main;
  15. import mpv5.db.common.ConnectionTypeHandler;
  16. import mpv5.db.common.DatabaseConnection;
  17. import mpv5.db.common.DatabaseInstallation;
  18. import mpv5.db.migration.MigrationWB;
  19. import mpv5.globals.Constants;
  20. import mpv5.globals.LocalSettings;
  21. import mpv5.globals.Messages;
  22. import mpv5.i18n.LanguageManager;
  23. import mpv5.logging.Log;
  24. import mpv5.logging.YConsole;
  25. import mpv5.ui.dialogs.*;
  26. /**
  27. *
  28. *
  29. */
  30. public class wizard_DBSettings_1 extends javax.swing.JPanel implements Wizardable {
  31. private static final long serialVersionUID = 1L;
  32. private WizardMaster master;
  33. private Integer forConnId = null;
  34. public wizard_DBSettings_1(Wizard w, Integer forConnId) {
  35. this.master = w;
  36. initComponents();
  37. labeledTextChooser2.setMode(JFileChooser.DIRECTORIES_ONLY);
  38. jComboBox1.setModel(new DefaultComboBoxModel(ConnectionTypeHandler.DRIVERS));
  39. this.forConnId = forConnId;
  40. load();
  41. }
  42. private boolean DBVerification() {
  43. DatabaseConnection conn;
  44. this.master.setCursor(new Cursor(Cursor.WAIT_CURSOR));
  45. if (labeledTextChooser1.get_Text(false) != null && labeledTextChooser1.get_Text(false).length() > 0) {
  46. master.getStore().changeProperty("driver", jComboBox1.getSelectedItem().toString());
  47. master.getStore().changeProperty("url", labeledTextChooser1.get_Text(false));
  48. master.getStore().changeProperty("user", labeledTextField4.get_Text());
  49. master.getStore().changeProperty("password", labeledTextField5.get_Text());
  50. master.getStore().changeProperty("dbname", labeledTextField3.get_Text());
  51. master.getStore().changeProperty("dbprefix", prefix.get_Text());
  52. master.setMessage(Messages.CONNECTION_PROBE + master.getStore().getProperty("driver"));
  53. conn = new DatabaseConnection();
  54. try {
  55. LocalSettings.setProperty(LocalSettings.DBPATH, master.getStore().getProperty("url"));
  56. LocalSettings.setProperty(LocalSettings.DBDRIVER, master.getStore().getProperty("driver"));
  57. LocalSettings.setProperty(LocalSettings.DBUSER, master.getStore().getProperty("user"));
  58. LocalSettings.setProperty(LocalSettings.DBPASSWORD, master.getStore().getProperty("password"));
  59. LocalSettings.setProperty(LocalSettings.DBNAME, master.getStore().getProperty("dbname"));
  60. LocalSettings.setProperty(LocalSettings.DBPREFIX, master.getStore().getProperty("dbprefix"));
  61. if (!jCheckBox3.isSelected() && labeledTextChooser2.hasText()) {
  62. LocalSettings.setProperty(LocalSettings.OFFICE_HOME, labeledTextChooser2.get_Text(true));
  63. LocalSettings.setProperty(LocalSettings.OFFICE_USE, "true");
  64. LocalSettings.setProperty(LocalSettings.OFFICE_REMOTE, "false");
  65. } else if (labeledTextField1.getText().length() > 0 && labeledTextField2.getText().length() > 0) {
  66. LocalSettings.setProperty(LocalSettings.OFFICE_HOST, labeledTextField1.getText());
  67. LocalSettings.setProperty(LocalSettings.OFFICE_PORT, labeledTextField2.getText());
  68. LocalSettings.setProperty(LocalSettings.OFFICE_USE, "true");
  69. LocalSettings.setProperty(LocalSettings.OFFICE_REMOTE, "true");
  70. } else {
  71. LocalSettings.setProperty(LocalSettings.OFFICE_USE, "false");
  72. }
  73. if (jCheckBox2.isSelected()) {
  74. LocalSettings.setProperty(LocalSettings.DBTYPE, "network");
  75. } else {
  76. LocalSettings.setProperty(LocalSettings.DBTYPE, "single");
  77. }
  78. if (restore.isSelected()) {
  79. master.setMessage(Messages.RESTORING_DATABASE.toString());
  80. conn.setProgressbar(master.getProgressbar());
  81. Log.Debug(this, "Running DB restore ...");
  82. MigrationWB.instanceOf().doRestore(DumpURL.getText(), DumpName.getText(), backupDBName.getText(), conn, master);
  83. LocalSettings.save(forConnId);
  84. LocalSettings.apply();
  85. } else if (conn.connect(master.getStore().getProperty("driver"),
  86. master.getStore().getProperty("user"),
  87. master.getStore().getProperty("password"),
  88. master.getStore().getProperty("url"),
  89. master.getStore().getProperty("dbname"),
  90. master.getStore().getProperty("dbprefix"),
  91. !jCheckBox1.isSelected())) {
  92. master.setMessage(Messages.CONNECTION_VERIFIED.toString());
  93. LocalSettings.save(forConnId);
  94. LocalSettings.apply();
  95. if (!jCheckBox1.isSelected() && !restore.isSelected()) {
  96. master.setMessage(Messages.CREATING_DATABASE.toString());
  97. conn.setProgressbar(master.getProgressbar());
  98. Log.Debug(this, "Running DB install queries...");
  99. if (conn.runQueries(new DatabaseInstallation().getStructure())
  100. && conn.runQueries(new DatabaseInstallation().getInitialData())) {
  101. try {
  102. File f = new File(this.getClass().getResource("languages").toURI());
  103. Log.Debug(this, "Importing languages from: " + f.getCanonicalPath());
  104. File[] langfiles = f.listFiles();
  105. for (int i = 0; i < langfiles.length; i++) {
  106. File file = langfiles[i];
  107. LanguageManager.importLanguage(file.getName(), file);
  108. }
  109. } catch (Exception uRISyntaxException) {
  110. Log.Debug(this, uRISyntaxException.getMessage());
  111. }
  112. try {
  113. File f = new File(this.getClass().getResource("/mpv5/resources/extra/").toURI());
  114. Log.Debug(this, "Importing coutries from: " + f.getCanonicalPath());
  115. File[] langfiles = f.listFiles();
  116. for (int i = 0; i < langfiles.length; i++) {
  117. File file = langfiles[i];
  118. LanguageManager.importCountries(file);
  119. }
  120. } catch (Exception uRISyntaxException) {
  121. Log.Debug(this, uRISyntaxException.getMessage());
  122. }
  123. master.setMessage(Messages.CONNECTION_VERIFIED.toString());
  124. } else {
  125. master.setMessage(Messages.CREATING_DATABASE_FAILED.toString());
  126. return false;
  127. }
  128. }
  129. master.isEnd(true);
  130. } else {
  131. master.setMessage(Messages.CONNECTION_FAILED.toString());
  132. }
  133. } catch (Exception ex) {
  134. master.setMessage(Messages.CONNECTION_FAILED.toString());
  135. this.master.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
  136. Log.Debug(ex);
  137. if (Popup.Y_N_dialog(this, Messages.ERROR_OCCURED + "\n" + Messages.SEE_LOG + "?", Messages.CONNECTION_FAILED)) {
  138. try {
  139. Desktop.getDesktop().open(YConsole.getLogfile());
  140. } catch (IOException ex1) {
  141. Popup.error(ex1);
  142. }
  143. }
  144. return false;
  145. }
  146. this.master.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
  147. return true;
  148. } else {
  149. this.master.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
  150. return false;
  151. }
  152. }
  153. private boolean DirectoryCreate() {
  154. ////////////// The cache dir //////////////////////
  155. LocalSettings.setProperty(LocalSettings.CACHE_DIR, Main.MPPATH + File.separator + "Cache");
  156. LocalSettings.save(forConnId);
  157. File file1 = new File(LocalSettings.getProperty(LocalSettings.CACHE_DIR));
  158. file1.mkdirs();
  159. ///////////////////////////////////////////////////////////
  160. return file1.exists();
  161. }
  162. // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  163. private void initComponents() {
  164. jPanel2 = new javax.swing.JPanel();
  165. jLabel1 = new javax.swing.JLabel();
  166. jComboBox1 = new javax.swing.JComboBox();
  167. labeledTextField3 = new mpv5.ui.beans.LabeledTextField();
  168. jCheckBox1 = new javax.swing.JCheckBox();
  169. jLabel2 = new javax.swing.JLabel();
  170. jCheckBox2 = new javax.swing.JCheckBox();
  171. jPanel4 = new javax.swing.JPanel();
  172. labeledTextField4 = new mpv5.ui.beans.LabeledTextField();
  173. labeledTextField5 = new mpv5.ui.beans.LabeledTextField();
  174. jButton2 = new javax.swing.JButton();
  175. prefix = new mpv5.ui.beans.LabeledTextField();
  176. jButton3 = new javax.swing.JButton();
  177. jLabel4 = new javax.swing.JLabel();
  178. jButton1 = new javax.swing.JButton();
  179. labeledTextChooser1 = new mpv5.ui.beans.LabeledTextChooser();
  180. jPanel5 = new javax.swing.JPanel();
  181. restore = new javax.swing.JCheckBox();
  182. DumpURL = new javax.swing.JTextField();
  183. jLabel5 = new javax.swing.JLabel();
  184. backupDBName = new mpv5.ui.beans.LabeledTextField();
  185. DumpURLBtn = new javax.swing.JButton();
  186. DumpName = new mpv5.ui.beans.LabeledTextField();
  187. jPanel1 = new javax.swing.JPanel();
  188. labeledTextChooser2 = new mpv5.ui.beans.LabeledTextChooser();
  189. jCheckBox3 = new javax.swing.JCheckBox();
  190. labeledTextField1 = new mpv5.ui.beans.LabeledTextField();
  191. labeledTextField2 = new mpv5.ui.beans.LabeledTextField();
  192. jLabel3 = new javax.swing.JLabel();
  193. jPanel3 = new javax.swing.JPanel();
  194. jScrollPane1 = new javax.swing.JScrollPane();
  195. jTextArea1 = new javax.swing.JTextArea();
  196. setBackground(new java.awt.Color(255, 255, 255));
  197. java.util.ResourceBundle bundle = mpv5.i18n.LanguageManager.getBundle(); // NOI18N // NOI18N
  198. setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("wizard_DBSettings_1.border.title"))); // NOI18N
  199. setName("Form"); // NOI18N
  200. setLayout(new java.awt.BorderLayout());
  201. jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("wizard_DBSettings_1.jPanel2.border.title"))); // NOI18N
  202. jPanel2.setName("jPanel2"); // NOI18N
  203. jLabel1.setText(bundle.getString("wizard_DBSettings_1.jLabel1.text")); // NOI18N
  204. jLabel1.setName("jLabel1"); // NOI18N
  205. jComboBox1.setEditable(true);
  206. jComboBox1.setFont(new java.awt.Font("Dialog", 0, 11));
  207. jComboBox1.setName("jComboBox1"); // NOI18N
  208. jComboBox1.addActionListener(new java.awt.event.ActionListener() {
  209. public void actionPerformed(java.awt.event.ActionEvent evt) {
  210. jComboBox1ActionPerformed(evt);
  211. }
  212. });
  213. labeledTextField3.set_Label(bundle.getString("wizard_DBSettings_1.labeledTextField3._Label")); // NOI18N
  214. labeledTextField3.setName("labeledTextField3"); // NOI18N
  215. jCheckBox1.setText(bundle.getString("wizard_DBSettings_1.jCheckBox1.text")); // NOI18N
  216. jCheckBox1.setName("jCheckBox1"); // NOI18N
  217. jLabel2.setText(bundle.getString("wizard_DBSettings_1.jLabel2.text")); // NOI18N
  218. jLabel2.setName("jLabel2"); // NOI18N
  219. jCheckBox2.setFont(new java.awt.Font("Dialog", 0, 12));
  220. jCheckBox2.setText(bundle.getString("wizard_DBSettings_1.jCheckBox2.text")); // NOI18N
  221. jCheckBox2.setName("jCheckBox2"); // NOI18N
  222. jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("wizard_DBSettings_1.jPanel4.border.title"))); // NOI18N
  223. jPanel4.setName("jPanel4"); // NOI18N
  224. labeledTextField4.set_Label(bundle.getString("wizard_DBSettings_1.labeledTextField4._Label")); // NOI18N
  225. labeledTextField4.setEnabled(false);
  226. labeledTextField4.setName("labeledTextField4"); // NOI18N
  227. jPanel4.add(labeledTextField4);
  228. labeledTextField5.set_Label(bundle.getString("wizard_DBSettings_1.labeledTextField5._Label")); // NOI18N
  229. labeledTextField5.setEnabled(false);
  230. labeledTextField5.setName("labeledTextField5"); // NOI18N
  231. jPanel4.add(labeledTextField5);
  232. jButton2.setFont(new java.awt.Font("Dialog", 0, 12));
  233. jButton2.setText(bundle.getString("wizard_DBSettings_1.jButton2.text")); // NOI18N
  234. jButton2.setName("jButton2"); // NOI18N
  235. jButton2.addActionListener(new java.awt.event.ActionListener() {
  236. public void actionPerformed(java.awt.event.ActionEvent evt) {
  237. jButton2ActionPerformed(evt);
  238. }
  239. });
  240. jPanel4.add(jButton2);
  241. prefix.set_Label(bundle.getString("wizard_DBSettings_1.prefix._Label")); // NOI18N
  242. prefix.setEnabled(false);
  243. prefix.setName("prefix"); // NOI18N
  244. jButton3.setFont(new java.awt.Font("Dialog", 0, 12));
  245. jButton3.setText(bundle.getString("wizard_DBSettings_1.jButton3.text")); // NOI18N
  246. jButton3.setName("jButton3"); // NOI18N
  247. jButton3.addActionListener(new java.awt.event.ActionListener() {
  248. public void actionPerformed(java.awt.event.ActionEvent evt) {
  249. jButton3ActionPerformed(evt);
  250. }
  251. });
  252. jLabel4.setFont(new java.awt.Font("Dialog", 0, 12));
  253. jLabel4.setText(bundle.getString("wizard_DBSettings_1.jLabel4.text")); // NOI18N
  254. jLabel4.setName("jLabel4"); // NOI18N
  255. jButton1.setText(bundle.getString("wizard_DBSettings_1.jButton1.text")); // NOI18N
  256. jButton1.setName("jButton1"); // NOI18N
  257. jButton1.addActionListener(new java.awt.event.ActionListener() {
  258. public void actionPerformed(java.awt.event.ActionEvent evt) {
  259. jButton1ActionPerformed(evt);
  260. }
  261. });
  262. labeledTextChooser1.set_Label(bundle.getString("wizard_DBSettings_1.labeledTextChooser1._Label")); // NOI18N
  263. labeledTextChooser1.setFocusCycleRoot(true);
  264. labeledTextChooser1.setFocusTraversalPolicyProvider(true);
  265. labeledTextChooser1.setName("labeledTextChooser1"); // NOI18N
  266. jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("wizard_DBSettings_1.jPanel5.border.title"))); // NOI18N
  267. jPanel5.setName("jPanel5"); // NOI18N
  268. restore.setText(bundle.getString("wizard_DBSettings_1.restore.text")); // NOI18N
  269. restore.setName("restore"); // NOI18N
  270. restore.addActionListener(new java.awt.event.ActionListener() {
  271. public void actionPerformed(java.awt.event.ActionEvent evt) {
  272. restoreActionPerformed(evt);
  273. }
  274. });
  275. DumpURL.setEditable(false);
  276. DumpURL.setText(bundle.getString("wizard_DBSettings_1.DumpURL.text")); // NOI18N
  277. DumpURL.setName("DumpURL"); // NOI18N
  278. jLabel5.setText(bundle.getString("wizard_DBSettings_1.jLabel5.text")); // NOI18N
  279. jLabel5.setName("jLabel5"); // NOI18N
  280. backupDBName.set_Label(bundle.getString("wizard_DBSettings_1.backupDBName._Label")); // NOI18N
  281. backupDBName.setEnabled(false);
  282. backupDBName.setName("backupDBName"); // NOI18N
  283. DumpURLBtn.setText(bundle.getString("wizard_DBSettings_1.DumpURLBtn.text")); // NOI18N
  284. DumpURLBtn.setEnabled(false);
  285. DumpURLBtn.setName("DumpURLBtn"); // NOI18N
  286. DumpURLBtn.addActionListener(new java.awt.event.ActionListener() {
  287. public void actionPerformed(java.awt.event.ActionEvent evt) {
  288. DumpURLBtnActionPerformed(evt);
  289. }
  290. });
  291. DumpName.set_Label(bundle.getString("wizard_DBSettings_1.DumpName._Label")); // NOI18N
  292. DumpName.setEnabled(false);
  293. DumpName.setName("DumpName"); // NOI18N
  294. javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
  295. jPanel5.setLayout(jPanel5Layout);
  296. jPanel5Layout.setHorizontalGroup(
  297. jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  298. .addGroup(jPanel5Layout.createSequentialGroup()
  299. .addComponent(restore)
  300. .addContainerGap())
  301. .addGroup(jPanel5Layout.createSequentialGroup()
  302. .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
  303. .addContainerGap())
  304. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
  305. .addComponent(DumpURL, javax.swing.GroupLayout.DEFAULT_SIZE, 645, Short.MAX_VALUE)
  306. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  307. .addComponent(DumpURLBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
  308. .addComponent(backupDBName, javax.swing.GroupLayout.DEFAULT_SIZE, 668, Short.MAX_VALUE)
  309. .addComponent(DumpName, javax.swing.GroupLayout.DEFAULT_SIZE, 668, Short.MAX_VALUE)
  310. );
  311. jPanel5Layout.setVerticalGroup(
  312. jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  313. .addGroup(jPanel5Layout.createSequentialGroup()
  314. .addComponent(restore)
  315. .addGap(4, 4, 4)
  316. .addComponent(jLabel5)
  317. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  318. .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  319. .addComponent(DumpURL, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  320. .addComponent(DumpURLBtn))
  321. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  322. .addComponent(backupDBName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  323. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 9, Short.MAX_VALUE)
  324. .addComponent(DumpName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  325. );
  326. javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  327. jPanel2.setLayout(jPanel2Layout);
  328. jPanel2Layout.setHorizontalGroup(
  329. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  330. .addComponent(jPanel5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  331. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  332. .addGroup(jPanel2Layout.createSequentialGroup()
  333. .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
  334. .addGap(4, 4, 4)
  335. .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 352, javax.swing.GroupLayout.PREFERRED_SIZE)
  336. .addGap(10, 10, 10)
  337. .addComponent(jButton1))
  338. .addGroup(jPanel2Layout.createSequentialGroup()
  339. .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
  340. .addGap(4, 4, 4)
  341. .addComponent(jCheckBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 415, javax.swing.GroupLayout.PREFERRED_SIZE))
  342. .addComponent(labeledTextChooser1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 602, Short.MAX_VALUE)
  343. .addComponent(jCheckBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE)
  344. .addComponent(labeledTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  345. .addGroup(jPanel2Layout.createSequentialGroup()
  346. .addComponent(prefix, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  347. .addGap(18, 18, 18)
  348. .addComponent(jButton3)
  349. .addGap(18, 18, 18)
  350. .addComponent(jLabel4))
  351. .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 602, Short.MAX_VALUE))
  352. );
  353. jPanel2Layout.setVerticalGroup(
  354. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  355. .addGroup(jPanel2Layout.createSequentialGroup()
  356. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  357. .addGroup(jPanel2Layout.createSequentialGroup()
  358. .addGap(4, 4, 4)
  359. .addComponent(jLabel1))
  360. .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  361. .addComponent(jButton1))
  362. .addGap(2, 2, 2)
  363. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  364. .addGroup(jPanel2Layout.createSequentialGroup()
  365. .addGap(6, 6, 6)
  366. .addComponent(jLabel2))
  367. .addComponent(jCheckBox2))
  368. .addGap(7, 7, 7)
  369. .addComponent(labeledTextChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  370. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  371. .addComponent(jCheckBox1)
  372. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  373. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  374. .addGroup(jPanel2Layout.createSequentialGroup()
  375. .addComponent(labeledTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  376. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  377. .addComponent(prefix, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  378. .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  379. .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
  380. .addComponent(jLabel4)))
  381. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  382. .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
  383. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  384. .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  385. .addContainerGap())
  386. );
  387. add(jPanel2, java.awt.BorderLayout.NORTH);
  388. jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("wizard_DBSettings_1.jPanel1.border.title"))); // NOI18N
  389. jPanel1.setName("jPanel1"); // NOI18N
  390. labeledTextChooser2.set_Label(bundle.getString("wizard_DBSettings_1.labeledTextChooser2._Label")); // NOI18N
  391. labeledTextChooser2.setName("labeledTextChooser2"); // NOI18N
  392. jCheckBox3.setText(bundle.getString("wizard_DBSettings_1.jCheckBox3.text")); // NOI18N
  393. jCheckBox3.setName("jCheckBox3"); // NOI18N
  394. jCheckBox3.addItemListener(new java.awt.event.ItemListener() {
  395. public void itemStateChanged(java.awt.event.ItemEvent evt) {
  396. jCheckBox3ItemStateChanged(evt);
  397. }
  398. });
  399. labeledTextField1.set_Label(bundle.getString("wizard_DBSettings_1.labeledTextField1._Label")); // NOI18N
  400. labeledTextField1.set_Text(bundle.getString("wizard_DBSettings_1.labeledTextField1._Text")); // NOI18N
  401. labeledTextField1.setEnabled(false);
  402. labeledTextField1.setName("labeledTextField1"); // NOI18N
  403. labeledTextField2.set_Label(bundle.getString("wizard_DBSettings_1.labeledTextField2._Label")); // NOI18N
  404. labeledTextField2.setEnabled(false);
  405. labeledTextField2.setName("labeledTextField2"); // NOI18N
  406. jLabel3.setText(bundle.getString("wizard_DBSettings_1.jLabel3.text")); // NOI18N
  407. jLabel3.setName("jLabel3"); // NOI18N
  408. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  409. jPanel1.setLayout(jPanel1Layout);
  410. jPanel1Layout.setHorizontalGroup(
  411. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  412. .addGroup(jPanel1Layout.createSequentialGroup()
  413. .addContainerGap()
  414. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  415. .addComponent(labeledTextChooser2, javax.swing.GroupLayout.DEFAULT_SIZE, 660, Short.MAX_VALUE)
  416. .addGroup(jPanel1Layout.createSequentialGroup()
  417. .addComponent(jCheckBox3, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
  418. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  419. .addComponent(labeledTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE)
  420. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  421. .addComponent(labeledTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE))
  422. .addComponent(jLabel3))
  423. .addContainerGap())
  424. );
  425. jPanel1Layout.setVerticalGroup(
  426. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  427. .addGroup(jPanel1Layout.createSequentialGroup()
  428. .addComponent(labeledTextChooser2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  429. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  430. .addComponent(jLabel3)
  431. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE)
  432. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
  433. .addComponent(labeledTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  434. .addComponent(jCheckBox3)
  435. .addComponent(labeledTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  436. .addContainerGap())
  437. );
  438. add(jPanel1, java.awt.BorderLayout.CENTER);
  439. jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("wizard_DBSettings_1.jPanel3.border.title"))); // NOI18N
  440. jPanel3.setName("jPanel3"); // NOI18N
  441. jScrollPane1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
  442. jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  443. jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
  444. jScrollPane1.setName("jScrollPane1"); // NOI18N
  445. jTextArea1.setBackground(new java.awt.Color(236, 233, 216));
  446. jTextArea1.setColumns(20);
  447. jTextArea1.setEditable(false);
  448. jTextArea1.setFont(new java.awt.Font("Tahoma", 0, 12));
  449. jTextArea1.setLineWrap(true);
  450. jTextArea1.setRows(5);
  451. jTextArea1.setText(bundle.getString("wizard_DBSettings_1.jTextArea1.text")); // NOI18N
  452. jTextArea1.setWrapStyleWord(true);
  453. jTextArea1.setName("jTextArea1"); // NOI18N
  454. jScrollPane1.setViewportView(jTextArea1);
  455. javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
  456. jPanel3.setLayout(jPanel3Layout);
  457. jPanel3Layout.setHorizontalGroup(
  458. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  459. .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 680, Short.MAX_VALUE)
  460. );
  461. jPanel3Layout.setVerticalGroup(
  462. jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  463. .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  464. );
  465. add(jPanel3, java.awt.BorderLayout.SOUTH);
  466. }// </editor-fold>//GEN-END:initComponents
  467. private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
  468. if (jComboBox1.getSelectedItem().toString().contains("mysql")) {
  469. labeledTextChooser1.set_Text("localhost:3306");
  470. if (restore.isSelected()) {
  471. backupDBName.setText("");
  472. backupDBName.setEnabled(false);
  473. DumpName.setEnabled(true);
  474. }
  475. } else if (jComboBox1.getSelectedItem().toString().contains("custom")) {
  476. if (restore.isSelected()) {
  477. DumpName.setText("");
  478. DumpName.setEnabled(false);
  479. backupDBName.setText("");
  480. backupDBName.setEnabled(false);
  481. }
  482. labeledTextChooser1.set_Text("jdbc:sql://<path>:port");
  483. } else if (jComboBox1.getSelectedItem().toString().contains("derby")) {
  484. labeledTextChooser1.set_Text(Main.MPPATH);
  485. if (restore.isSelected()) {
  486. DumpName.setText("");
  487. DumpName.setEnabled(false);
  488. backupDBName.setEnabled(true);
  489. }
  490. }
  491. }//GEN-LAST:event_jComboBox1ActionPerformed
  492. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
  493. labeledTextField4.setEnabled(true);
  494. labeledTextField5.setEnabled(true);
  495. }//GEN-LAST:event_jButton2ActionPerformed
  496. private void jCheckBox3ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jCheckBox3ItemStateChanged
  497. labeledTextField1.setEnabled(jCheckBox3.isSelected());
  498. labeledTextField2.setEnabled(jCheckBox3.isSelected());
  499. labeledTextChooser2.setEnabled(!jCheckBox3.isSelected());
  500. }//GEN-LAST:event_jCheckBox3ItemStateChanged
  501. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
  502. prefix.setEnabled(true);
  503. }//GEN-LAST:event_jButton3ActionPerformed
  504. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
  505. try {
  506. ConnectionTypeHandler.testDriver(jComboBox1.getSelectedItem().toString());
  507. Popup.notice("OK!");
  508. } catch (ClassNotFoundException ex) {
  509. Popup.error(ex);
  510. }
  511. }//GEN-LAST:event_jButton1ActionPerformed
  512. private void DumpURLBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DumpURLBtnActionPerformed
  513. DialogForFile df = new DialogForFile();
  514. df.setFileFilter(DialogForFile.SQL_FILES);
  515. if (df.chooseFile()) {
  516. DumpURL.setText(df.getSelectedFile().getAbsolutePath());
  517. }
  518. }//GEN-LAST:event_DumpURLBtnActionPerformed
  519. private void restoreActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_restoreActionPerformed
  520. JCheckBox box = (JCheckBox) evt.getSource();
  521. if (box.isSelected()) {
  522. DumpURL.setEditable(true);
  523. DumpURLBtn.setEnabled(true);
  524. if (jComboBox1.getSelectedItem().toString().contains("mysql")) {
  525. DumpName.setEnabled(true);
  526. backupDBName.setEnabled(false);
  527. } else if (jComboBox1.getSelectedItem().toString().contains("derby")) {
  528. DumpName.setEnabled(false);
  529. backupDBName.setEnabled(true);
  530. } else {
  531. DumpName.setEnabled(false);
  532. backupDBName.setEnabled(false);
  533. }
  534. } else {
  535. DumpURL.setText("");
  536. DumpURL.setEditable(false);
  537. DumpURLBtn.setEnabled(false);
  538. DumpName.setText("");
  539. DumpName.setEnabled(false);
  540. backupDBName.setText("");
  541. backupDBName.setEnabled(false);
  542. }
  543. }//GEN-LAST:event_restoreActionPerformed
  544. // Variables declaration - do not modify//GEN-BEGIN:variables
  545. private mpv5.ui.beans.LabeledTextField DumpName;
  546. private javax.swing.JTextField DumpURL;
  547. private javax.swing.JButton DumpURLBtn;
  548. private mpv5.ui.beans.LabeledTextField backupDBName;
  549. private javax.swing.JButton jButton1;
  550. private javax.swing.JButton jButton2;
  551. private javax.swing.JButton jButton3;
  552. private javax.swing.JCheckBox jCheckBox1;
  553. private javax.swing.JCheckBox jCheckBox2;
  554. private javax.swing.JCheckBox jCheckBox3;
  555. private javax.swing.JComboBox jComboBox1;
  556. private javax.swing.JLabel jLabel1;
  557. private javax.swing.JLabel jLabel2;
  558. private javax.swing.JLabel jLabel3;
  559. private javax.swing.JLabel jLabel4;
  560. private javax.swing.JLabel jLabel5;
  561. private javax.swing.JPanel jPanel1;
  562. private javax.swing.JPanel jPanel2;
  563. private javax.swing.JPanel jPanel3;
  564. private javax.swing.JPanel jPanel4;
  565. private javax.swing.JPanel jPanel5;
  566. private javax.swing.JScrollPane jScrollPane1;
  567. private javax.swing.JTextArea jTextArea1;
  568. private mpv5.ui.beans.LabeledTextChooser labeledTextChooser1;
  569. private mpv5.ui.beans.LabeledTextChooser labeledTextChooser2;
  570. private mpv5.ui.beans.LabeledTextField labeledTextField1;
  571. private mpv5.ui.beans.LabeledTextField labeledTextField2;
  572. private mpv5.ui.beans.LabeledTextField labeledTextField3;
  573. private mpv5.ui.beans.LabeledTextField labeledTextField4;
  574. private mpv5.ui.beans.LabeledTextField labeledTextField5;
  575. private mpv5.ui.beans.LabeledTextField prefix;
  576. private javax.swing.JCheckBox restore;
  577. // End of variables declaration//GEN-END:variables
  578. public boolean next() {
  579. if (DBVerification() & DirectoryCreate()) {
  580. this.master.dispose();
  581. Main.start();
  582. return true;
  583. } else {
  584. this.master.setCursor(Cursor.DEFAULT_CURSOR);
  585. return false;
  586. }
  587. }
  588. public boolean back() {
  589. return false;
  590. }
  591. public final void load() {
  592. String dbn = Constants.DATABASENAME;
  593. if (forConnId != null) {
  594. dbn += forConnId;
  595. }
  596. labeledTextChooser1.set_Text(Main.MPPATH);
  597. labeledTextField3.set_Text(dbn);
  598. labeledTextField1.requestFocusInWindow();
  599. }
  600. }