public void totalExport() { File expf = new File("export"); if (expf.exists()) rmrf(expf); expf.mkdirs(); for (int sto = 0; sto < storeLocs.size(); sto++) { try { String sl = storeLocs.get(sto).getAbsolutePath().replaceAll("/", "-").replaceAll("\\\\", "-"); File estore = new File(expf, sl); estore.mkdir(); File log = new File(estore, LIBRARY_NAME); PrintWriter pw = new PrintWriter(log); for (int i = 0; i < store.getRowCount(); i++) if (store.curStore(i) == sto) { File enc = store.locate(i); File dec = sec.prepareMainFile(enc, estore, false); pw.println(dec.getName()); pw.println(store.getValueAt(i, Storage.COL_DATE)); pw.println(store.getValueAt(i, Storage.COL_TAGS)); synchronized (jobs) { jobs.addLast(expJob(enc, dec)); } } pw.close(); } catch (IOException exc) { exc.printStackTrace(); JOptionPane.showMessageDialog(frm, "Exporting Failed"); return; } } JOptionPane.showMessageDialog(frm, "Exporting to:\n " + expf.getAbsolutePath()); }
public void updateStatus() { txaStatus.setText(""); txaStatus.append("size\t" + store.getRowCount() + "\n"); txaStatus.append("total\t" + store.sumLengths() + "KB\n"); txaStatus.append("\nThreads:\n"); for (int i = 0; i < numThreads; i++) { txaStatus.append(" " + i + "- "); String jb = encryptDecryptThreads[i].getCur(); if (jb == null) txaStatus.append("idle\n"); else { txaStatus.append(jobString(jb) + "\n"); } } txaStatus.append("\nJobs:\n"); int c = 6 + numThreads; int i = 0; synchronized (jobs) { for (String s : jobs) { if (c + i < TXA_HEIGHT - 1) txaStatus.append(" - " + jobString(s) + "\n"); else if (c + i == TXA_HEIGHT - 1) { txaStatus.append(" - [" + (jobs.size() - i) + "more ]"); } i++; } } }