Guest User

Box Integration

a guest
Aug 31st, 2017
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.62 KB | None | 0 0
  1. Box.java
  2.  
  3. package org.sample.integrations;
  4.  
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.time.LocalDateTime;
  8. import java.time.format.DateTimeFormatter;
  9.  
  10. import org.apache.commons.io.IOUtils;
  11. import org.slf4j.Logger;
  12. import org.slf4j.LoggerFactory;
  13.  
  14. import com.box.sdk.BoxAPIConnection;
  15. import com.box.sdk.BoxDeveloperEditionAPIConnection;
  16. import com.box.sdk.BoxFile;
  17. import com.box.sdk.BoxFile.Info;
  18. import com.box.sdk.BoxFolder;
  19. import com.box.sdk.BoxUser;
  20. import com.box.sdk.EncryptionAlgorithm;
  21. import com.box.sdk.IAccessTokenCache;
  22. import com.box.sdk.InMemoryLRUAccessTokenCache;
  23. import com.box.sdk.JWTEncryptionPreferences;
  24.  
  25. import org.sample.util.Constants;
  26.  
  27. public class Box {
  28.     private static final Logger logger = LoggerFactory.getLogger(Box.class);
  29.     private static BoxAPIConnection connectionAppUser;
  30.     // private static BoxAPIConnection connectionEnterpriseUser;
  31.  
  32.     static {
  33.         JWTEncryptionPreferences encryptionPref = new JWTEncryptionPreferences();
  34.         encryptionPref.setPublicKeyID(Constants.PUBLIC_KEY_ID);
  35.         InputStream inputStreamPrivateKey = Box.class.getResourceAsStream("/keys/private_key.pem");
  36.         String privateKey = null;
  37.         try {
  38.             privateKey = IOUtils.toString(inputStreamPrivateKey, "UTF-8");
  39.            
  40.         } catch (IOException e) {
  41.             logger.error(e.getMessage());
  42.         }
  43.         encryptionPref.setPrivateKey(privateKey);
  44.         encryptionPref.setPrivateKeyPassword(Constants.PRIVATE_KEY_PASSWORD);
  45.         encryptionPref.setEncryptionAlgorithm(EncryptionAlgorithm.RSA_SHA_256);
  46.  
  47.         IAccessTokenCache accessTokenCache = new InMemoryLRUAccessTokenCache(Constants.MAX_CACHE_ENTRIES);
  48.  
  49.        
  50.         connectionAppUser = BoxDeveloperEditionAPIConnection.getAppUserConnection(Constants.USER_ID, Constants.CLIENT_ID,
  51.                 Constants.CLIENT_SECRET, encryptionPref, accessTokenCache);
  52.        
  53.        
  54.         /*
  55.         connectionEnterpriseUser = BoxDeveloperEditionAPIConnection.getAppEnterpriseConnection(Constants.ENTERPRISE_ID,
  56.                 Constants.CLIENT_ID, Constants.CLIENT_SECRET, encryptionPref, accessTokenCache);
  57.         */
  58.  
  59.     }
  60.    
  61.     public static void deleteUser(String userId) {
  62.         BoxUser user = new BoxUser(Box.connectionAppUser, userId);
  63.         user.delete(false, false);
  64.     }
  65.  
  66.     public static Info uploadFile(InputStream inputStream, String fileName) {
  67.         BoxFolder folder = new BoxFolder(Box.connectionAppUser, Constants.FOLDER_ID);
  68.         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
  69.         String filenameWithTimestamp = LocalDateTime.now().format(formatter).toString() + "_" + fileName;
  70.         Info info = folder.uploadFile(inputStream, filenameWithTimestamp);
  71.  
  72.         try {
  73.             inputStream.close();
  74.         } catch (IOException e) {
  75.             logger.error("Could not close stream.");
  76.         }
  77.         return info;
  78.     }
  79.  
  80.     public static BoxFile getFile(String id) {
  81.         BoxFile file = new BoxFile(Box.connectionAppUser, id);
  82.         return file;
  83.     }
  84.  
  85.     public static void deleteFile(long id) {
  86.         BoxFile file = new BoxFile(Box.connectionAppUser, Long.toString(id));
  87.         file.delete();
  88.     }
  89. }
  90.  
  91.  
  92. Constants.java
  93.  
  94. package org.sample.util;
  95.  
  96. public final class Constants {
  97.     public static final String CLIENT_ID = "rthc8d5huf943mx56946bdv47pvmbpi8";
  98.     public static final String CLIENT_SECRET = "StHzBGcXKVOtZYJtPj7GKHDKEnQnKwZZ";
  99.     public static final String ENTERPRISE_ID = "23210947";
  100.     public static final String USER_ID = "2042691881";
  101.     public static final String APP_USER_NAME = "Muneiah";
  102.     public static final String PUBLIC_KEY_ID = "a6dx0bz5";
  103.     public static final String PRIVATE_KEY_PASSWORD = "alcopacarpark";
  104.     public static final String FOLDER_ID = "33355283599";
  105.     public static final int MAX_DEPTH = 1;
  106.     public static final int MAX_CACHE_ENTRIES = 100;
  107. }
Add Comment
Please, Sign In to add comment