@Override public void chunk(final Path parent, final AttributedList<Path> list) throws ListCanceledException { throw new ListCanceledException(list); } });
@Override public AttributedList<Path> run(final Session<?> session) throws BackgroundException { try { if(this.isCached()) { final AttributedList<Path> list = cache.get(directory); listener.chunk(directory, list); return list; } final ListService service = session.getFeature(ListService.class).withCache(cache); return service.list(directory, listener); } catch(ListCanceledException e) { return e.getChunk(); } }
@Override public void loadBundle() { final NSAlert alert = NSAlert.alert(); alert.setAlertStyle(NSAlert.NSInformationalAlertStyle); alert.setMessageText(MessageFormat.format(LocaleFactory.localizedString("Listing directory {0}", "Status"), StringUtils.EMPTY)); alert.setInformativeText(MessageFormat.format(LocaleFactory.localizedString("Continue listing directory with more than {0} files.", "Alert"), e.getChunk().size())); alert.addButtonWithTitle(LocaleFactory.localizedString("Continue", "Credentials")); alert.addButtonWithTitle(LocaleFactory.localizedString("Cancel")); alert.setShowsSuppressionButton(true); alert.suppressionButton().setTitle(LocaleFactory.localizedString("Always")); super.loadBundle(alert); } }
@Override public void chunk(final Path parent, final AttributedList<Path> list) throws ListCanceledException { throw new ListCanceledException(list); } });
@Override public void chunk(final Path parent, final AttributedList<Path> list) throws ListCanceledException { try { cancel.verify(); } catch(ConnectionCanceledException e) { throw new ListCanceledException(list, e); } } });
@Override public void chunk(final Path parent, AttributedList<Path> list) throws ConnectionCanceledException { if(worker.isCanceled()) { throw new ListCanceledException(list); } }
@Override public void chunk(final Path folder, final AttributedList<Path> list) throws ListCanceledException { if(folder.isRoot()) { if(list.size() >= container) { // Allow another chunk until limit is reached again container += preferences.getInteger("browser.list.limit.container"); throw new ListCanceledException(list); } } if(list.size() >= directory) { // Allow another chunk until limit is reached again directory += preferences.getInteger("browser.list.limit.directory"); throw new ListCanceledException(list); } }