public void populateTable(StatusTable table) throws StatusService.NoSuchTableException { if (table == null) { throw new IllegalArgumentException("Called with null table"); } else if (table.getKey() == null) { throw new IllegalArgumentException("SingleCrawlStatusAccessor requires a key"); } String key = table.getKey(); CrawlerStatus status = statusSource.getStatus().getCrawlerStatus(key); if (status == null) { throw new StatusService.NoSuchTableException( "Status info from that crawl is no longer available"); } table.setDefaultSortRules(statusSortRules); table.setColumnDescriptors(colDescsMimeTypes); table.setTitle(getTableTitle(status)); table.setRows(getRows(status, key)); table.setSummaryInfo(getSummaryInfo(status)); }
@Override public void onLoad() { final Collection<SavedStatus> savedStatuses = new ArrayList<SavedStatus>(); final Collection<AccountItem> accountItems = new ArrayList<AccountItem>(); Cursor cursor = StatusTable.getInstance().list(); try { if (cursor.moveToFirst()) { do { savedStatuses.add( new SavedStatus( StatusTable.getStatusMode(cursor), StatusTable.getStatusText(cursor))); } while (cursor.moveToNext()); } } finally { cursor.close(); } cursor = AccountTable.getInstance().list(); try { if (cursor.moveToFirst()) { do { AccountItem accountItem = new AccountItem( AccountTable.getProtocol(cursor), AccountTable.isCustom(cursor), AccountTable.getHost(cursor), AccountTable.getPort(cursor), AccountTable.getServerName(cursor), AccountTable.getUserName(cursor), AccountTable.getResource(cursor), AccountTable.isStorePassword(cursor), AccountTable.getPassword(cursor), AccountTable.getColorIndex(cursor), AccountTable.getPriority(cursor), AccountTable.getStatusMode(cursor), AccountTable.getStatusText(cursor), AccountTable.isEnabled(cursor), AccountTable.isSaslEnabled(cursor), AccountTable.getTLSMode(cursor), AccountTable.isCompression(cursor), AccountTable.getProxyType(cursor), AccountTable.getProxyHost(cursor), AccountTable.getProxyPort(cursor), AccountTable.getProxyUser(cursor), AccountTable.getProxyPassword(cursor), AccountTable.isSyncable(cursor), AccountTable.getKeyPair(cursor), AccountTable.getLastSync(cursor), AccountTable.getArchiveMode(cursor)); accountItem.setId(AccountTable.getId(cursor)); accountItems.add(accountItem); } while (cursor.moveToNext()); } } finally { cursor.close(); } Application.getInstance() .runOnUiThread( new Runnable() { @Override public void run() { onLoaded(savedStatuses, accountItems); } }); }