RestClient { public Resource getResources(final ResourcesArgs args) throws IOException, ServerIOException { final Resource resource = cloudApi.getResources(args.getPath(), args.getFields(), args.getLimit(), args.getOffset(), args.getSort(), args.getPreviewSize(), args.getPreviewCrop()); if (args.getParsingHandler() != null) { parseListResponse(resource, args.getParsingHandler()); } return resource; } RestClient(final Credentials credentials);  RestClient(final Credentials credentials, final OkHttpClient client);  RestClient(final Credentials credentials, final OkHttpClient client, final String serverUrl); ApiVersion getApiVersion(); Operation getOperation(final String operationId); Operation getOperation(final Link link); Operation waitProgress(final Link link, final Runnable waiting); DiskInfo getDiskInfo(); DiskInfo getDiskInfo(final String fields); Resource getResources(final ResourcesArgs args); ResourceList getFlatResourceList(final ResourcesArgs args); ResourceList getLastUploadedResources(final ResourcesArgs args); Resource patchResource(final ResourcesArgs args); Resource listPublicResources(final ResourcesArgs args); Resource getTrashResources(final ResourcesArgs args); Link deleteFromTrash(final String path); Link restoreFromTrash(final String path, final String name, final Boolean overwrite); void downloadFile(final String path, final File saveTo, final ProgressListener progressListener); void downloadFile(final String path, final DownloadListener downloadListener); Link saveFromUrl(final String url, final String serverPath); Link getUploadLink(final String serverPath, final boolean overwrite); void uploadFile(final Link link, final boolean resumeUpload, final File localSource,
                           final ProgressListener progressListener); Link delete(final String path, final boolean permanently); Link makeFolder(final String path); Link copy(final String from, final String path, final boolean overwrite); Link move(final String from, final String path, final boolean overwrite); Link publish(final String path); Link unpublish(final String path); void downloadPublicResource(final String publicKey, final String path, final File saveTo,
                                       final ProgressListener progressListener); Link savePublicResource(final String publicKey, final String path, final String name);  }
@Test public void testListResources() throws Exception { int limit = 50; Resource resource = client.getResources(new ResourcesArgs.Builder() .setPath("/") .setLimit(limit) .setOffset(2) .build()); assertTrue("dir".equals(resource.getType())); assertEquals(resource.getPath(), new ResourcePath("disk", "/")); logger.info("self: " + resource); ResourceList items = resource.getResourceList(); assertFalse(items == null); for (Resource item : items.getItems()) { logger.info("item: " + item); } assertThat(items.getItems(), hasSize(7)); assertThat(items.getItems().get(0).getName(), not(isEmptyOrNullString())); }
@Test public void testListResources2() throws Exception { int limit = 50; int offset = 0; ResourceList items; do { Resource resource = client.getResources(new ResourcesArgs.Builder() .setPath("/") .setLimit(limit) .setOffset(offset) .build()); assertTrue("dir".equals(resource.getType())); assertEquals(resource.getPath(), new ResourcePath("disk", "/")); logger.info("self: " + resource); items = resource.getResourceList(); assertFalse(items == null); for (Resource item : items.getItems()) { logger.info("item: " + item); } offset += limit; logger.info("offset: " + offset); } while(items.getItems().size() >= limit); }
@Test public void testListResourcesHandler() throws Exception { ResourcesHandler parsingHandler = new ResourcesHandler() { final List<Resource> items = new ArrayList<>(); @Override public void handleSelf(Resource item) { logger.info("self: " + item); } @Override public void handleItem(Resource item) { items.add(item); logger.info("item: " + item); } @Override public void onFinished(int itemsOnPage) { assertThat(items, hasSize(itemsOnPage)); assertThat(items.get(0).getName(), not(isEmptyOrNullString())); } }; client.getResources(new ResourcesArgs.Builder() .setPath("/") .setParsingHandler(parsingHandler) .build()); }