use of com.dropbox.core.v2.files.ListFolderResult in project dropbox-sdk-java by dropbox.
the class FilesActivity method loadData.
@Override
protected void loadData() {
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setCancelable(false);
dialog.setMessage("Loading");
dialog.show();
new ListFolderTask(DropboxClientFactory.getClient(), new ListFolderTask.Callback() {
@Override
public void onDataLoaded(ListFolderResult result) {
dialog.dismiss();
mFilesAdapter.setFiles(result.getEntries());
}
@Override
public void onError(Exception e) {
dialog.dismiss();
Log.e(TAG, "Failed to list folder.", e);
Toast.makeText(FilesActivity.this, "An error has occurred", Toast.LENGTH_SHORT).show();
}
}).execute(mPath);
}
use of com.dropbox.core.v2.files.ListFolderResult in project dropbox-sdk-java by dropbox.
the class DropboxBrowse method renderFolder.
private void renderFolder(HttpServletResponse response, User user, DbxClientV2 dbxClient, String path) throws IOException {
// Get the folder listing from Dropbox.
TreeMap<String, Metadata> children = new TreeMap<String, Metadata>();
ListFolderResult result;
try {
try {
result = dbxClient.files().listFolder(path);
} catch (ListFolderErrorException ex) {
if (ex.errorValue.isPath()) {
if (checkPathError(response, path, ex.errorValue.getPathValue()))
return;
}
throw ex;
}
while (true) {
for (Metadata md : result.getEntries()) {
if (md instanceof DeletedMetadata) {
children.remove(md.getPathLower());
} else {
children.put(md.getPathLower(), md);
}
}
if (!result.getHasMore())
break;
try {
result = dbxClient.files().listFolderContinue(result.getCursor());
} catch (ListFolderContinueErrorException ex) {
if (ex.errorValue.isPath()) {
if (checkPathError(response, path, ex.errorValue.getPathValue()))
return;
}
throw ex;
}
}
} catch (DbxException ex) {
common.handleDbxException(response, user, ex, "listFolder(" + jq(path) + ")");
return;
}
FormProtection fp = FormProtection.start(response);
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = new PrintWriter(IOUtil.utf8Writer(response.getOutputStream()));
out.println("<html>");
out.println("<head><title>" + escapeHtml4(path) + "- Web File Browser</title></head>");
out.println("<body>");
fp.insertAntiRedressHtml(out);
out.println("<h2>Path: " + escapeHtml4(path) + "</h2>");
// Upload form
out.println("<form action='/upload' method='post' enctype='multipart/form-data'>");
fp.insertAntiCsrfFormField(out);
out.println("<label for='file'>Upload file:</label> <input name='file' type='file'/>");
out.println("<input type='submit' value='Upload'/>");
out.println("<input name='targetFolder' type='hidden' value='" + escapeHtml4(path) + "'/>");
out.println("</form>");
// Listing of folder contents.
out.println("<ul>");
for (Metadata child : children.values()) {
String href = "/browse?path=" + DbxRequestUtil.encodeUrlParam(child.getPathLower());
out.println(" <li><a href='" + escapeHtml4(href) + "'>" + escapeHtml4(child.getName()) + "</a></li>");
}
out.println("</ul>");
out.println("</body>");
out.println("</html>");
out.flush();
}
use of com.dropbox.core.v2.files.ListFolderResult in project dropbox-sdk-java by dropbox.
the class Main method printChanges.
/**
* Prints changes made to a folder in Dropbox since the given
* cursor was retrieved.
*
* @param dbxClient Dropbox client to use for fetching folder changes
* @param cursor lastest cursor received since last set of changes
*
* @return latest cursor after changes
*/
private static String printChanges(DbxClientV2 client, String cursor) throws DbxApiException, DbxException {
while (true) {
ListFolderResult result = client.files().listFolderContinue(cursor);
for (Metadata metadata : result.getEntries()) {
String type;
String details;
if (metadata instanceof FileMetadata) {
FileMetadata fileMetadata = (FileMetadata) metadata;
type = "file";
details = "(rev=" + fileMetadata.getRev() + ")";
} else if (metadata instanceof FolderMetadata) {
FolderMetadata folderMetadata = (FolderMetadata) metadata;
type = "folder";
details = folderMetadata.getSharingInfo() != null ? "(shared)" : "";
} else if (metadata instanceof DeletedMetadata) {
type = "deleted";
details = "";
} else {
throw new IllegalStateException("Unrecognized metadata type: " + metadata.getClass());
}
System.out.printf("\t%10s %24s \"%s\"\n", type, details, metadata.getPathLower());
}
// update cursor to fetch remaining results
cursor = result.getCursor();
if (!result.getHasMore()) {
break;
}
}
return cursor;
}
use of com.dropbox.core.v2.files.ListFolderResult in project dropbox-sdk-java by dropbox.
the class Main method main.
public static void main(String[] args) throws DbxException, IOException {
// Create Dropbox client
DbxRequestConfig config = new DbxRequestConfig("dropbox/java-tutorial");
DbxClientV2 client = new DbxClientV2(config, ACCESS_TOKEN);
// Get current account info
FullAccount account = client.users().getCurrentAccount();
System.out.println(account.getName().getDisplayName());
// Get files and folder metadata from Dropbox root directory
ListFolderResult result = client.files().listFolder("");
while (true) {
for (Metadata metadata : result.getEntries()) {
System.out.println(metadata.getPathLower());
}
if (!result.getHasMore()) {
break;
}
result = client.files().listFolderContinue(result.getCursor());
}
// Upload "test.txt" to Dropbox
try (InputStream in = new FileInputStream("test.txt")) {
FileMetadata metadata = client.files().uploadBuilder("/test.txt").uploadAndFinish(in);
}
}
Aggregations