Penambahan Dokumen Perubahan Dokumen

4.3.7. Penambahan Dokumen

Pada proses ini, sistem akan menerima sebuah masukan JDialog dialog, JTextField field, JTextArea area . Nilai field digunakan sebagai nama penyakit judul dan nilai area digunakan sebagai gejala penyakit isi. Penggunaan dialog adalah sebagai antarmuka penambahan dokumen. Sistem akan membaca direktori yang telah ditentukan pengguna sebagai penyimpanan file fisik dokumen. Jika pengguna belum menentukan direktori, maka direktori dianggap menggunakan default yaitu pada folder “List penyakit” pada direktori yang sama dengan sistem. Sistem akan menyimpan isi pada file dengan nama file menggunakan judul. File ini akan disimpan dengan menggunakan ekstensi .txt. Proses dilanjutkan dengan melakukan indexing file tersebut. public void tambahDokumenJDialog dialog, JTextField field, JTextArea area throws FileNotFoundException, UnsupportedEncodingException, SQLException { String nama = field.getText; String isi = area.getText; String pathSetting = SettingController.getSettingController.getPengaturan; String path = ; if pathSetting.isEmpty pathSetting.startsWithFILE_DIR { String[] n = pathSetting.split;; path = n[0].substring11.concat + nama + .txt; } else { path = .List penyakit + nama + .txt; } String[] perBaris = isi.split\n; int count = JOptionPane.showConfirmDialogarea, Apakah anda yakin akan melakukan penambahan?; if count == 0 { PrintWriter writer = new PrintWriterpath, UTF-8; for int i = 0; i perBaris.length; i++ { String string = perBaris[i]; writer.printlnstring.concat;; } writer.close; File file = new Filepath; Dokumen dokumen = new Dokumenfile; dokumen.setIsiisi.replaceAll\n, \\;; IndexingController.getKoneksiKontrol.indexingDokumendokumen; area.setTextnull; field.setTextnull; dialog.dispose; JOptionPane.showMessageDialogarea, Penyakit + dokumen.getJudul + berhasil ditambahkan; } else { JOptionPane.showMessageDialogarea, Penambahan penyakit batal dilakukan; } } List Code 4. 14 Penambahan Dokumen

4.3.8. Perubahan Dokumen

Proses ini dimaksudkan agar pengguna dapat merubah isi dokumen. Hal ini dapat memudahkan pengguna untuk memperbarui gejala umum pada dokumen. Pada proses ini, perubahan dokumen akan menyebabkan proses indexing untuk seluruh dokumen pada koleksi. Berikut adalah metode untuk melakukan proses perubahan dokumen. public void ubahIsiDokumenint row, JTable table, JTextArea area, JButton button, JButton button2 throws FileNotFoundException, UnsupportedEncodingException, SQLException { PreparedStatement statement = null; ResultSet result = null; try { if table.getRowCount 0 table.getValueAt0, 0 = null { Dokumen dokumen = Dokumen table.getValueAtrow, 1; String isi = area.getText; String[] perBaris = isi.split\n; String is = SettingController.getSettingController.getPengaturan; String path = ; if is.isEmpty is.startsWithFILE_DIR { String[] n = is.split;; path = n[0].substring11.concat + dokumen.getNamaFile; } else { path = .List penyakit + dokumen.getNamaFile; } int count = JOptionPane.showConfirmDialogarea, Apakah anda yakin akan melakukan perubahan?; if count == 0 { PrintWriter writer = new PrintWriterpath, UTF-8; for int i = 0; i perBaris.length; i++ { String string = perBaris[i]; writer.printlnstring.concat;; } writer.close; dokumen.setIsiisi.replaceAll\n, \\;; connection.setAutoCommitfalse; statement = connection.prepareStatementSQL_UPDATEDOKUMEN; statement.setObject1, dokumen.getIsi; statement.setObject2, dokumen.getIdDok; statement.executeUpdate; connection.commit; Dokumen[] dokumens = FileController.getKoneksiKontrol.getAllDokumenFromDB; IndexingController.getKoneksiKontrol.preInsert; if dokumens = null dokumens.length 0 { for int i = 0; i dokumens.length; i++ { Dokumen temp = dokumens[i]; IndexingController.getKoneksiKontrol.indexingDokumentemp; } } else { IndexingController.getKoneksiKontrol.IndexKoleksinull, MainForm.mainForm.getFolderDirektori, null; } JOptionPane.showMessageDialogarea, Gejala umum penyakit + dokumen.getJudul + berhasil dirubah; } else { JOptionPane.showMessageDialogarea, Gejala umum penyakit + dokumen.getJudul + batal dirubah; } area.setTextnull; area.setEnabledfalse; area.setEditablefalse; button.setEnabledfalse; button2.setEnabledfalse; table.requestFocus; } } catch SQLException exception { connection.rollback; throw exception; } finally { try { connection.setAutoCommittrue; if result = null { result.close;} if statement = null {statement.close;} } catch SQLException exception {throw exception; } } } List Code 4. 15 List ubahIsiDokumen

4.3.9. Penambahan