private static ImportedFolder parseFolder(XmlPullParser xpp) throws XmlPullParserException, IOException { ImportedFolder folder = new ImportedFolder(); folder.name = xpp.getAttributeValue(null, SettingsExporter.NAME_ATTRIBUTE); folder.settings = parseSettings(xpp, SettingsExporter.FOLDER_ELEMENT); return folder; }
private static ImportedIdentity parseIdentity(XmlPullParser xpp) throws XmlPullParserException, IOException { ImportedIdentity identity = new ImportedIdentity(); int eventType = xpp.next(); while (!(eventType == XmlPullParser.END_TAG && SettingsExporter.IDENTITY_ELEMENT.equals(xpp.getName()))) { if (eventType == XmlPullParser.START_TAG) { String element = xpp.getName(); if (SettingsExporter.NAME_ELEMENT.equals(element)) { identity.name = getText(xpp); } else if (SettingsExporter.EMAIL_ELEMENT.equals(element)) { identity.email = getText(xpp); } else if (SettingsExporter.DESCRIPTION_ELEMENT.equals(element)) { identity.description = getText(xpp); } else if (SettingsExporter.SETTINGS_ELEMENT.equals(element)) { identity.settings = parseSettings(xpp, SettingsExporter.SETTINGS_ELEMENT); } else { Timber.w("Unexpected start tag: %s", xpp.getName()); } } eventType = xpp.next(); } return identity; }
server.password = getText(xpp); } else if (SettingsExporter.EXTRA_ELEMENT.equals(element)) { server.extras = parseSettings(xpp, SettingsExporter.EXTRA_ELEMENT); } else { Timber.w("Unexpected start tag: %s", xpp.getName());
Imported imported = parseSettings(inputStream, false, null, true);
@Test public void parseSettings_account() throws SettingsImportExportException { String validUUID = UUID.randomUUID().toString(); InputStream inputStream = new StringInputStream("<k9settings format=\"1\" version=\"1\">" + "<accounts><account uuid=\"" + validUUID + "\"><name>Account</name></account></accounts></k9settings>"); List<String> accountUuids = new ArrayList<>(); accountUuids.add("1"); SettingsImporter.Imported results = SettingsImporter.parseSettings(inputStream, true, accountUuids, true); assertEquals(1, results.accounts.size()); assertEquals("Account", results.accounts.get(validUUID).name); assertEquals(validUUID, results.accounts.get(validUUID).uuid); }
skipToEndTag(xpp, SettingsExporter.GLOBAL_ELEMENT); } else { result.globalSettings = parseSettings(xpp, SettingsExporter.GLOBAL_ELEMENT);
@Test public void parseSettings_account_cram_md5() throws SettingsImportExportException { String validUUID = UUID.randomUUID().toString(); InputStream inputStream = new StringInputStream("<k9settings format=\"1\" version=\"1\">" + "<accounts><account uuid=\"" + validUUID + "\"><name>Account</name>" + "<incoming-server><authentication-type>CRAM_MD5</authentication-type></incoming-server>" + "</account></accounts></k9settings>"); List<String> accountUuids = new ArrayList<>(); accountUuids.add(validUUID); SettingsImporter.Imported results = SettingsImporter.parseSettings(inputStream, true, accountUuids, false); assertEquals("Account", results.accounts.get(validUUID).name); assertEquals(validUUID, results.accounts.get(validUUID).uuid); assertEquals(AuthType.CRAM_MD5, results.accounts.get(validUUID).incoming.authenticationType); }
@Test public void parseSettings_account_identities() throws SettingsImportExportException { String validUUID = UUID.randomUUID().toString(); InputStream inputStream = new StringInputStream("<k9settings format=\"1\" version=\"1\">" + "<accounts><account uuid=\"" + validUUID + "\"><name>Account</name>" + "<identities><identity><email>user@gmail.com</email></identity></identities>" + "</account></accounts></k9settings>"); List<String> accountUuids = new ArrayList<>(); accountUuids.add("1"); SettingsImporter.Imported results = SettingsImporter.parseSettings(inputStream, true, accountUuids, true); assertEquals(1, results.accounts.size()); assertEquals(validUUID, results.accounts.get(validUUID).uuid); assertEquals(1, results.accounts.get(validUUID).identities.size()); assertEquals("user@gmail.com", results.accounts.get(validUUID).identities.get(0).email); }
skipToEndTag(xpp, SettingsExporter.SETTINGS_ELEMENT); } else { account.settings = parseSettings(xpp, SettingsExporter.SETTINGS_ELEMENT);
List<AccountDescription> erroneousAccounts = new ArrayList<>(); Imported imported = parseSettings(inputStream, globalSettings, accountUuids, false);