private void migrateAddressBook(List<String> lines, Configuration configuration, PasswordHolder passwordHolder) throws IOException, GeneralSecurityException, PasswordException { AddressBook addressBook = new AddressBook(configuration.getAddressBookFile(), passwordHolder); for (String line: lines) { String[] fields = line.split("\\t", 2); try { EmailDestination destination = new EmailDestination(fields[0]); String name = null; if (fields.length > 1) name = fields[1]; Contact contact = new Contact(name, destination); addressBook.add(contact); } catch (GeneralSecurityException e) { log.error("Not a valid Email Destination: <" + fields[0] + ">", e); } } addressBook.save(); } }
@Before public void setUp() throws Exception { File tmpDir = new File(System.getProperty("java.io.tmpdir")); testDir = new File(tmpDir, "AddressBookTest-" + System.currentTimeMillis()); addressBookFile = new File(testDir, "addressBook"); assertTrue("Can't create directory: " + testDir.getAbsolutePath(), testDir.mkdir()); passwordHolder = TestUtil.createPasswordCache(testDir); addressBook = new AddressBook(addressBookFile, passwordHolder); for (TestUtil.TestIdentity identity : TestUtil.createTestIdentities()) addressBook.add(new Contact(identity.identity.getPublicName(), identity.identity)); }
addressBook = new AddressBook(configuration.getAddressBookFile(), passwordCache); initializeFolderAccess(passwordCache); initializeExternalThemeDir();
@Test public void testExportImport() throws Exception { File exportFile = new File(testDir, "ExportImportTest-" + System.currentTimeMillis() + ".txt"); addressBook.export(exportFile, null); File tmpAddressBookFile = new File(testDir, "ExportImportAB-" + System.currentTimeMillis()); AddressBook tmpAddressBook = new AddressBook(tmpAddressBookFile, passwordHolder); FileInputStream fis = new FileInputStream(exportFile); try { tmpAddressBook.importFromFileDescriptor(fis.getFD(), null, false, false); SortedSet<Contact> start = addressBook.getAll(); SortedSet<Contact> end = tmpAddressBook.getAll(); for (Contact contact : start) { assertThat(contact, isIn(end)); } for (Contact contact : end) { assertThat(contact, isIn(start)); } } finally { try { fis.close(); } catch (IOException e) { } assertTrue("Can't delete file: " + exportFile.getAbsolutePath(), exportFile.delete()); assertTrue("Can't delete file: " + tmpAddressBookFile.getAbsolutePath(), tmpAddressBookFile.delete()); } } }