package hackathon.boxme; import java.io.IOException; import java.io.InputStream; import com.dropbox.client2.DropboxAPI; import com.dropbox.client2.exception.DropboxException; import com.dropbox.client2.session.AccessTokenPair; import com.dropbox.client2.session.AppKeyPair; import com.dropbox.client2.session.Session; import com.dropbox.client2.session.WebAuthSession; public class PutFileRequest implements Runnable { private AppKeyPair appKeyPair; private AccessTokenPair token; private FileCopyStream inputStream; private String fileKey; public PutFileRequest(String fileKey, FileCopyStream inputStream, AccessTokenPair token, AppKeyPair pair) { this.fileKey = fileKey; this.token = token; this.appKeyPair = pair; this.inputStream = inputStream; } @Override public void run() { WebAuthSession session = new WebAuthSession(appKeyPair, Session.AccessType.DROPBOX, token); DropboxAPI<?> client = new DropboxAPI<WebAuthSession>(session); try { client.putFile(fileKey, inputStream.getInputStream(), inputStream.getSize(), null, null); System.out.println("file put"); inputStream.getInputStream().close(); } catch (DropboxException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }