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

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