Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Box.java
- package org.sample.integrations;
- import java.io.IOException;
- import java.io.InputStream;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import org.apache.commons.io.IOUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import com.box.sdk.BoxAPIConnection;
- import com.box.sdk.BoxDeveloperEditionAPIConnection;
- import com.box.sdk.BoxFile;
- import com.box.sdk.BoxFile.Info;
- import com.box.sdk.BoxFolder;
- import com.box.sdk.BoxUser;
- import com.box.sdk.EncryptionAlgorithm;
- import com.box.sdk.IAccessTokenCache;
- import com.box.sdk.InMemoryLRUAccessTokenCache;
- import com.box.sdk.JWTEncryptionPreferences;
- import org.sample.util.Constants;
- public class Box {
- private static final Logger logger = LoggerFactory.getLogger(Box.class);
- private static BoxAPIConnection connectionAppUser;
- // private static BoxAPIConnection connectionEnterpriseUser;
- static {
- JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
- encryptionPref.setPublicKeyID(Constants.PUBLIC_KEY_ID);
- InputStream inputStreamPrivateKey = Box.class.getResourceAsStream("/keys/private_key.pem");
- String privateKey = null;
- try {
- privateKey = IOUtils.toString(inputStreamPrivateKey, "UTF-8");
- } catch (IOException e) {
- logger.error(e.getMessage());
- }
- encryptionPref.setPrivateKey(privateKey);
- encryptionPref.setPrivateKeyPassword(Constants.PRIVATE_KEY_PASSWORD);
- encryptionPref.setEncryptionAlgorithm(EncryptionAlgorithm.RSA_SHA_256);
- IAccessTokenCache accessTokenCache = new InMemoryLRUAccessTokenCache(Constants.MAX_CACHE_ENTRIES);
- connectionAppUser = BoxDeveloperEditionAPIConnection.getAppUserConnection(Constants.USER_ID, Constants.CLIENT_ID,
- Constants.CLIENT_SECRET, encryptionPref, accessTokenCache);
- /*
- connectionEnterpriseUser = BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(Constants.ENTERPRISE_ID,
- Constants.CLIENT_ID, Constants.CLIENT_SECRET, encryptionPref, accessTokenCache);
- */
- }
- public static void deleteUser(String userId) {
- BoxUser user = new BoxUser(Box.connectionAppUser, userId);
- user.delete(false, false);
- }
- public static Info uploadFile(InputStream inputStream, String fileName) {
- BoxFolder folder = new BoxFolder(Box.connectionAppUser, Constants.FOLDER_ID);
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
- String filenameWithTimestamp = LocalDateTime.now().format(formatter).toString() + "_" + fileName;
- Info info = folder.uploadFile(inputStream, filenameWithTimestamp);
- try {
- inputStream.close();
- } catch (IOException e) {
- logger.error("Could not close stream.");
- }
- return info;
- }
- public static BoxFile getFile(String id) {
- BoxFile file = new BoxFile(Box.connectionAppUser, id);
- return file;
- }
- public static void deleteFile(long id) {
- BoxFile file = new BoxFile(Box.connectionAppUser, Long.toString(id));
- file.delete();
- }
- }
- Constants.java
- package org.sample.util;
- public final class Constants {
- public static final String CLIENT_ID = "rthc8d5huf943mx56946bdv47pvmbpi8";
- public static final String CLIENT_SECRET = "StHzBGcXKVOtZYJtPj7GKHDKEnQnKwZZ";
- public static final String ENTERPRISE_ID = "23210947";
- public static final String USER_ID = "2042691881";
- public static final String APP_USER_NAME = "Muneiah";
- public static final String PUBLIC_KEY_ID = "a6dx0bz5";
- public static final String PRIVATE_KEY_PASSWORD = "alcopacarpark";
- public static final String FOLDER_ID = "33355283599";
- public static final int MAX_DEPTH = 1;
- public static final int MAX_CACHE_ENTRIES = 100;
- }
Add Comment
Please, Sign In to add comment