You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/08/07 13:45:55 UTC

[camel] 01/01: CAMEL-19618: camel-box - Upgrade from SDK v2 to SDK v4

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch box
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 1ea3a6e5a728342e054432ff9e64a4ceb278cea0
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 7 15:45:41 2023 +0200

    CAMEL-19618: camel-box - Upgrade from SDK v2 to SDK v4
---
 .../org/apache/camel/catalog/components/box.json   | 12 ++---
 .../component/box/api/BoxEventLogsManager.java     |  9 ++--
 .../camel/component/box/api/BoxFilesManager.java   | 42 +++------------
 .../camel/component/box/api/BoxFoldersManager.java |  6 ++-
 .../camel/component/box/api/BoxGroupsManager.java  |  2 +-
 .../camel/component/box/BoxEndpointUriFactory.java |  7 +--
 .../BoxEventLogsManagerEndpointConfiguration.java  |  8 +--
 ...LogsManagerEndpointConfigurationConfigurer.java |  6 +--
 .../box/BoxFilesManagerEndpointConfiguration.java  | 61 ++--------------------
 ...ilesManagerEndpointConfigurationConfigurer.java | 35 -------------
 .../box/BoxGroupsManagerEndpointConfiguration.java |  8 +--
 ...oupsManagerEndpointConfigurationConfigurer.java |  6 +--
 .../box/internal/BoxEventLogsManagerApiMethod.java |  2 +-
 .../box/internal/BoxFilesManagerApiMethod.java     | 10 ----
 .../box/internal/BoxGroupsManagerApiMethod.java    |  2 +-
 .../org/apache/camel/component/box/box.json        | 12 ++---
 .../box/internal/BoxConnectionHelper.java          |  2 +-
 .../camel/component/box/BoxFilesManagerIT.java     | 20 ++-----
 .../camel/component/box/BoxFoldersManagerIT.java   |  7 ---
 .../camel/component/box/BoxGroupsManagerIT.java    |  8 +--
 parent/pom.xml                                     |  2 +-
 21 files changed, 61 insertions(+), 206 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json
index f105a7c739a..ad075c1dc88 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/box.json
@@ -70,11 +70,11 @@
   "apis": {
     "collaborations": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box collaborations", "aliases": [ "addFolderCollaboration=add", "addFolderCollaborationByEmail=addByEmail", "deleteCollaboration=delete", "getFolderCollaborations=collaborations", "getPendingCollaborations=pendingCollaborations", "getCollaborationInfo=info", "updateCollaborationInfo=updateInfo" ], "methods": { "addFolderCollaboration": { "description": "Add a collaboration t [...]
     "comments": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box comments", "aliases": [ "addFileComment=add", "changeCommentMessage=updateMessage", "deleteComment=delete", "getCommentInfo=info", "getFileComments=comments", "replyToComment=reply" ], "methods": { "addFileComment": { "description": "Add comment to file", "signatures": [ "com.box.sdk.BoxFile addFileComment(String fileId, String message)" ] }, "changeCommentMessage": { "descrip [...]
-    "event-logs": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to read Box enterprise (admin) event logs", "aliases": [ "getEnterpriseEvents=events" ], "methods": { "getEnterpriseEvents": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java. [...]
+    "event-logs": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to read Box enterprise (admin) event logs", "aliases": [ "getEnterpriseEvents=events" ], "methods": { "getEnterpriseEvents": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java. [...]
     "events": { "consumerOnly": true, "producerOnly": false, "description": "Provides operations to manage Box events", "methods": { "listen": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "void listen(com.box.sdk.EventListener listener, Long startingPosition)" ] } } },
-    "files": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box files", "aliases": [ "uploadFile=upload", "downloadFile=download", "copyFile=copy", "moveFile=move", "renameFile=rename", "createFileSharedLink=link", "deleteFile=delete", "uploadNewFileVersion=uploadVersion", "promoteFileVersion=promoteVersion", "getFileVersions=versions", "downloadPreviousFileVersion=downloadVersion", "deleteFileVersion=deleteVersion", "getFileInfo=info", "upda [...]
+    "files": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box files", "aliases": [ "uploadFile=upload", "downloadFile=download", "copyFile=copy", "moveFile=move", "renameFile=rename", "createFileSharedLink=link", "deleteFile=delete", "uploadNewFileVersion=uploadVersion", "promoteFileVersion=promoteVersion", "getFileVersions=versions", "downloadPreviousFileVersion=downloadVersion", "deleteFileVersion=deleteVersion", "getFileInfo=info", "upda [...]
     "folders": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box folders", "aliases": [ "getRootFolder=root", "createFolder=create", "copyFolder=copy", "moveFolder=move", "renameFolder=rename", "createFolderSharedLink=link", "deleteFolder=delete", "getFolder=folder", "getFolderInfo=info", "getFolderItems=items", "updateFolderInfo=updateInfo" ], "methods": { "copyFolder": { "description": "Copy folder to destination folder while optionally gi [...]
-    "groups": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box groups", "aliases": [ "createGroup=create", "deleteGroup=delete", "getAllGroups=groups", "getGroupInfo=info", "addGroupMembership=addMembership", "deleteGroupMembership=deleteMembership", "getGroupMemberships=memberships", "getGroupMembershipInfo=membershipInfo", "updateGroupMembershipInfo=updateMembershipInfo" ], "methods": { "addGroupMembership": { "description": "Add a member [...]
+    "groups": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box groups", "aliases": [ "createGroup=create", "deleteGroup=delete", "getAllGroups=groups", "getGroupInfo=info", "addGroupMembership=addMembership", "deleteGroupMembership=deleteMembership", "getGroupMemberships=memberships", "getGroupMembershipInfo=membershipInfo", "updateGroupMembershipInfo=updateMembershipInfo" ], "methods": { "addGroupMembership": { "description": "Add a member [...]
     "search": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box searches", "aliases": [ "searchFolder=search" ], "methods": { "searchFolder": { "description": "Search folder and all descendant folders using the given query", "signatures": [ "java.util.Collection<com.box.sdk.BoxItem> searchFolder(String folderId, String query)" ] } } },
     "tasks": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box tasks", "aliases": [ "addFileTask=add", "deleteTask=delete", "getFileTasks=tasks", "getTaskInfo=info", "updateTaskInfo=updateInfo", "addAssignmentToTask=addAssignment", "deleteTaskAssignment=deleteAssignment", "getTaskAssignments=assignments", "getTaskAssignmentInfo=assignmentInfo" ], "methods": { "addAssignmentToTask": { "description": "Add assignment for task", "signatures": [  [...]
     "users": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box users", "aliases": [ "getCurrentUser=currentUser", "getAllEnterpriseOrExternalUsers=users", "createAppUser=create", "createEnterpriseUser=create", "deleteUser=delete", "addUserEmailAlias=addEmailAlias", "getUserEmailAlias=emailAlias", "deleteUserEmailAlias=deleteEmailAlias", "getUserInfo=info", "updateUserInfo=updateInfo" ], "methods": { "addUserEmailAlias": { "description": "Add [...]
@@ -82,11 +82,11 @@
   "apiProperties": {
     "collaborations": { "methods": { "addFolderCollaboration": { "properties": { "collaborator": { "index": 0, "kind": "parameter", "displayName": "Collaborator", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaborator", "deprecated": false, "autowired": false, "secret": false, "description": "The collaborator to add", "optional": false }, "folderId": { "index": 1, "kind": "parameter", "displayName": "Folder Id", "group": "producer" [...]
     "comments": { "methods": { "addFileComment": { "properties": { "fileId": { "index": 0, "kind": "parameter", "displayName": "File Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of file", "optional": false }, "message": { "index": 1, "kind": "parameter", "displayName": "Message", "group": "producer", "label": "", "required": false, "type": "strin [...]
-    "event-logs": { "methods": { "getEnterpriseEvents": { "properties": { "after": { "index": 0, "kind": "parameter", "displayName": "After", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "autowired": false, "secret": false, "description": "The lower bound on the timestamp of the events returned", "optional": false }, "before": { "index": 1, "kind": "parameter", "displayName": "Before", "group": "producer", "labe [...]
+    "event-logs": { "methods": { "getEnterpriseEvents": { "properties": { "after": { "index": 0, "kind": "parameter", "displayName": "After", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "autowired": false, "secret": false, "description": "The lower bound on the timestamp of the events returned", "optional": false }, "before": { "index": 1, "kind": "parameter", "displayName": "Before", "group": "producer", "labe [...]
     "events": { "methods": { "listen": { "properties": { "startingPosition": { "index": 0, "kind": "parameter", "displayName": "Starting Position", "group": "consumer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "description": "The starting position of the event stream", "optional": true } } } } },
-    "files": { "methods": { "checkUpload": { "properties": { "fileName": { "index": 0, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name to give the uploaded file", "optional": false }, "parentFolderId": { "index": 1, "kind": "parameter", "displayName": "Parent Folder Id", "group": "producer", "label": "", [...]
+    "files": { "methods": { "checkUpload": { "properties": { "fileName": { "index": 0, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name to give the uploaded file", "optional": false }, "parentFolderId": { "index": 1, "kind": "parameter", "displayName": "Parent Folder Id", "group": "producer", "label": "", [...]
     "folders": { "methods": { "copyFolder": { "properties": { "destinationFolderId": { "index": 0, "kind": "parameter", "displayName": "Destination Folder Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of the destination folder", "optional": false }, "folderId": { "index": 1, "kind": "parameter", "displayName": "Folder Id", "group": "producer", "la [...]
-    "groups": { "methods": { "addGroupMembership": { "properties": { "groupId": { "index": 0, "kind": "parameter", "displayName": "Group Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of group", "optional": false }, "role": { "index": 1, "kind": "parameter", "displayName": "Role", "group": "producer", "label": "", "required": false, "type": "object [...]
+    "groups": { "methods": { "addGroupMembership": { "properties": { "groupId": { "index": 0, "kind": "parameter", "displayName": "Group Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of group", "optional": false }, "role": { "index": 1, "kind": "parameter", "displayName": "Role", "group": "producer", "label": "", "required": false, "type": "object [...]
     "search": { "methods": { "searchFolder": { "properties": { "folderId": { "index": 0, "kind": "parameter", "displayName": "Folder Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of folder searched", "optional": false }, "query": { "index": 1, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "", "required": false, "type": [...]
     "tasks": { "methods": { "addAssignmentToTask": { "properties": { "assignTo": { "index": 0, "kind": "parameter", "displayName": "Assign To", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxUser", "deprecated": false, "autowired": false, "secret": false, "description": "The user to assign to task", "optional": false }, "taskId": { "index": 1, "kind": "parameter", "displayName": "Task Id", "group": "producer", "label": "", "required": f [...]
     "users": { "methods": { "addUserEmailAlias": { "properties": { "email": { "index": 0, "kind": "parameter", "displayName": "Email", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The email address to add as an alias", "optional": false }, "userId": { "index": 1, "kind": "parameter", "displayName": "User Id", "group": "producer", "label": "", "required": fal [...]
diff --git a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxEventLogsManager.java b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxEventLogsManager.java
index 6a5127bb4b6..51ca88b47da 100644
--- a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxEventLogsManager.java
+++ b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxEventLogsManager.java
@@ -24,6 +24,7 @@ import java.util.List;
 import com.box.sdk.BoxAPIConnection;
 import com.box.sdk.BoxAPIException;
 import com.box.sdk.BoxEvent;
+import com.box.sdk.EnterpriseEventsRequest;
 import com.box.sdk.EventLog;
 import org.apache.camel.RuntimeCamelException;
 import org.slf4j.Logger;
@@ -62,7 +63,7 @@ public class BoxEventLogsManager {
      *
      * @return          A list of all the events that met the given criteria.
      */
-    public List<BoxEvent> getEnterpriseEvents(String position, Date after, Date before, BoxEvent.Type... types) {
+    public List<BoxEvent> getEnterpriseEvents(String position, Date after, Date before, BoxEvent.EventType... types) {
         try {
             LOG.debug("Getting all enterprise events occurring between {} and {} {}",
                     after == null ? "unspecified date" : DateFormat.getDateTimeInstance().format(after),
@@ -77,10 +78,12 @@ public class BoxEventLogsManager {
             }
 
             if (types == null) {
-                types = new BoxEvent.Type[0];
+                types = new BoxEvent.EventType[0];
             }
 
-            EventLog eventLog = EventLog.getEnterpriseEvents(boxConnection, position, after, before, types);
+            EnterpriseEventsRequest request = new EnterpriseEventsRequest();
+            request.position(position).after(after).before(before).types(types);
+            EventLog eventLog = EventLog.getEnterpriseEvents(boxConnection, request);
 
             List<BoxEvent> results = new ArrayList<>();
             for (BoxEvent event : eventLog) {
diff --git a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
index 535a45c1abf..ac645f116a7 100644
--- a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
+++ b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFilesManager.java
@@ -35,6 +35,7 @@ import com.box.sdk.BoxSharedLink;
 import com.box.sdk.FileUploadParams;
 import com.box.sdk.Metadata;
 import com.box.sdk.ProgressListener;
+import com.box.sdk.sharedlink.BoxSharedLinkRequest;
 import org.apache.camel.RuntimeCamelException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -503,7 +504,7 @@ public class BoxFilesManager {
      * @param  unshareDate - the date and time at which time the created shared link will expire; if
      *                     <code>unsharedDate</code> is <code>null</code> then a non-expiring link is created.
      * @param  permissions - the permissions of the created link; if <code>permissions</code> is <code>null</code> then
-     *                     the created shared link is create with default permissions.
+     *                     the created shared link is created with default permissions.
      * @return             The created shared link.
      */
     public BoxSharedLink createFileSharedLink(
@@ -520,7 +521,10 @@ public class BoxFilesManager {
             notNull(access, "access");
 
             BoxFile file = new BoxFile(boxConnection, fileId);
-            return file.createSharedLink(access, unshareDate, permissions);
+            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
+            request.access(access).unsharedDate(unshareDate)
+                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
+            return file.createSharedLink(request);
         } catch (BoxAPIException e) {
             throw new RuntimeCamelException(buildErrorMessage(e), e);
         }
@@ -567,40 +571,6 @@ public class BoxFilesManager {
         }
     }
 
-    /**
-     * Retrieves a thumbnail, or smaller image representation, of this file. Sizes of 32x32, 64x64, 128x128, and 256x256
-     * can be returned in the .png format and sizes of 32x32, 94x94, 160x160, and 320x320 can be returned in the .jpg
-     * format.
-     *
-     * @param  fileId    - the id of the file to get thumbnail.
-     * @param  fileType  either PNG of JPG
-     * @param  minWidth  minimum width
-     * @param  minHeight minimum height
-     * @param  maxWidth  maximum width
-     * @param  maxHeight maximum height
-     * @return           the byte array of the thumbnail image
-     */
-    public byte[] getFileThumbnail(
-            String fileId, BoxFile.ThumbnailFileType fileType, Integer minWidth,
-            Integer minHeight, Integer maxWidth, Integer maxHeight) {
-        try {
-            LOG.debug("Getting thumbnail for file(id={}) fileType={} minWidth={} minHeight={} maxWidth={} maxHeight={}",
-                    fileId, fileType, minWidth, minHeight, maxWidth, maxHeight);
-
-            notNull(fileId, "fileId");
-            notNull(fileType, "fileType");
-            notNull(minWidth, "minWidth");
-            notNull(minHeight, "minHeight");
-            notNull(maxWidth, "maxWidth");
-            notNull(maxHeight, "maxHeight");
-
-            BoxFile file = new BoxFile(boxConnection, fileId);
-            return file.getThumbnail(fileType, minWidth, minHeight, maxWidth, maxHeight);
-        } catch (BoxAPIException e) {
-            throw new RuntimeCamelException(buildErrorMessage(e), e);
-        }
-    }
-
     /**
      * Create metadata for file in either the global properties template or the specified template type.
      *
diff --git a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
index 2926efab09f..c196d672c6f 100644
--- a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
+++ b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxFoldersManager.java
@@ -27,6 +27,7 @@ import com.box.sdk.BoxAPIException;
 import com.box.sdk.BoxFolder;
 import com.box.sdk.BoxItem;
 import com.box.sdk.BoxSharedLink;
+import com.box.sdk.sharedlink.BoxSharedLinkRequest;
 import org.apache.camel.RuntimeCamelException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -400,7 +401,10 @@ public class BoxFoldersManager {
             }
 
             BoxFolder folder = new BoxFolder(boxConnection, folderId);
-            return folder.createSharedLink(access, unshareDate, permissions);
+            BoxSharedLinkRequest request = new BoxSharedLinkRequest();
+            request.access(access).unsharedDate(unshareDate)
+                    .permissions(permissions.getCanDownload(), permissions.getCanPreview(), permissions.getCanEdit());
+            return folder.createSharedLink(request);
         } catch (BoxAPIException e) {
             throw new RuntimeCamelException(
                     String.format("Box API returned the error code %d%n%n%s", e.getResponseCode(), e.getResponse()), e);
diff --git a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxGroupsManager.java b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxGroupsManager.java
index 1488f61efe7..16455b95b3a 100644
--- a/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxGroupsManager.java
+++ b/components/camel-box/camel-box-api/src/main/java/org/apache/camel/component/box/api/BoxGroupsManager.java
@@ -197,7 +197,7 @@ public class BoxGroupsManager {
      * @param  role    - the role of the user in this group. Can be <code>null</code> to assign the default role.
      * @return         The group information.
      */
-    public BoxGroupMembership addGroupMembership(String groupId, String userId, BoxGroupMembership.Role role) {
+    public BoxGroupMembership addGroupMembership(String groupId, String userId, BoxGroupMembership.GroupRole role) {
         try {
             LOG.debug("Adding user(id={}) as member to group(id={} {})",
                     userId, groupId, role == null ? "" : "with role=" + role.name());
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java
index 51755f6c9ea..e531ed382d2 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class BoxEndpointUriFactory extends org.apache.camel.support.component.En
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(90);
+        Set<String> props = new HashSet<>(85);
         props.add("access");
         props.add("accessTokenCache");
         props.add("action");
@@ -53,7 +53,6 @@ public class BoxEndpointUriFactory extends org.apache.camel.support.component.En
         props.add("fileId");
         props.add("fileName");
         props.add("fileSize");
-        props.add("fileType");
         props.add("filterTerm");
         props.add("folderId");
         props.add("folderName");
@@ -70,14 +69,10 @@ public class BoxEndpointUriFactory extends org.apache.camel.support.component.En
         props.add("listener");
         props.add("login");
         props.add("maxCacheEntries");
-        props.add("maxHeight");
-        props.add("maxWidth");
         props.add("memberViewabilityLevel");
         props.add("message");
         props.add("metadata");
         props.add("methodName");
-        props.add("minHeight");
-        props.add("minWidth");
         props.add("modified");
         props.add("name");
         props.add("newFileName");
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java
index 3ab4be41c1d..2319ab053fd 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfiguration.java
@@ -15,7 +15,7 @@ import org.apache.camel.spi.UriParams;
  */
 @ApiParams(apiName = "event-logs", producerOnly = true,
            description = "Provides operations to read Box enterprise (admin) event logs",
-           apiMethods = {@ApiMethod(methodName = "getEnterpriseEvents", description="Create an event stream with optional starting initial position and add listener that will be notified when an event is received", signatures={"java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java.util.Date before, com.box.sdk.BoxEvent$Type[] types)"})}, aliases = {"getEnterpriseEvents=events"})
+           apiMethods = {@ApiMethod(methodName = "getEnterpriseEvents", description="Create an event stream with optional starting initial position and add listener that will be notified when an event is received", signatures={"java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java.util.Date before, com.box.sdk.BoxEvent$EventType[] types)"})}, aliases = {"getEnterpriseEvents=events"})
 @UriParams
 @Configurer(extended = true)
 public final class BoxEventLogsManagerEndpointConfiguration extends BoxConfiguration {
@@ -30,7 +30,7 @@ public final class BoxEventLogsManagerEndpointConfiguration extends BoxConfigura
     private String position;
     @UriParam
     @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "getEnterpriseEvents", description="An optional list of event types to filter by")})
-    private com.box.sdk.BoxEvent.Type[] types;
+    private com.box.sdk.BoxEvent.EventType[] types;
 
     public java.util.Date getAfter() {
         return after;
@@ -56,11 +56,11 @@ public final class BoxEventLogsManagerEndpointConfiguration extends BoxConfigura
         this.position = position;
     }
 
-    public com.box.sdk.BoxEvent.Type[] getTypes() {
+    public com.box.sdk.BoxEvent.EventType[] getTypes() {
         return types;
     }
 
-    public void setTypes(com.box.sdk.BoxEvent.Type[] types) {
+    public void setTypes(com.box.sdk.BoxEvent.EventType[] types) {
         this.types = types;
     }
 }
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java
index 7d25a6d7156..15bb2c0734b 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java
@@ -37,7 +37,7 @@ public class BoxEventLogsManagerEndpointConfigurationConfigurer extends org.apac
         map.put("PrivateKeyPassword", java.lang.String.class);
         map.put("PublicKeyId", java.lang.String.class);
         map.put("SslContextParameters", org.apache.camel.support.jsse.SSLContextParameters.class);
-        map.put("Types", com.box.sdk.BoxEvent.Type[].class);
+        map.put("Types", com.box.sdk.BoxEvent.EventType[].class);
         map.put("UserId", java.lang.String.class);
         map.put("UserName", java.lang.String.class);
         map.put("UserPassword", java.lang.String.class);
@@ -83,7 +83,7 @@ public class BoxEventLogsManagerEndpointConfigurationConfigurer extends org.apac
         case "sslcontextparameters":
         case "SslContextParameters": target.setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
         case "types":
-        case "Types": target.setTypes(property(camelContext, com.box.sdk.BoxEvent.Type[].class, value)); return true;
+        case "Types": target.setTypes(property(camelContext, com.box.sdk.BoxEvent.EventType[].class, value)); return true;
         case "userid":
         case "UserId": target.setUserId(property(camelContext, java.lang.String.class, value)); return true;
         case "username":
@@ -137,7 +137,7 @@ public class BoxEventLogsManagerEndpointConfigurationConfigurer extends org.apac
         case "sslcontextparameters":
         case "SslContextParameters": return org.apache.camel.support.jsse.SSLContextParameters.class;
         case "types":
-        case "Types": return com.box.sdk.BoxEvent.Type[].class;
+        case "Types": return com.box.sdk.BoxEvent.EventType[].class;
         case "userid":
         case "UserId": return java.lang.String.class;
         case "username":
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java
index 65ddc896b39..78bd48ba403 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfiguration.java
@@ -15,7 +15,7 @@ import org.apache.camel.spi.UriParams;
  */
 @ApiParams(apiName = "files", producerOnly = true,
            description = "Provides operations to manage Box files",
-           apiMethods = {@ApiMethod(methodName = "checkUpload", description="Does a pre-verification before upload, to check if the filename already exists or if there is permission to upload", signatures={"void checkUpload(String fileName, String parentFolderId, Long size)"}), @ApiMethod(methodName = "copyFile", description="Copy file to destination folder while optionally giving it a new name", signatures={"com.box.sdk.BoxFile copyFile(String fileId, String destinationFolderId, String  [...]
+           apiMethods = {@ApiMethod(methodName = "checkUpload", description="Does a pre-verification before upload, to check if the filename already exists or if there is permission to upload", signatures={"void checkUpload(String fileName, String parentFolderId, Long size)"}), @ApiMethod(methodName = "copyFile", description="Copy file to destination folder while optionally giving it a new name", signatures={"com.box.sdk.BoxFile copyFile(String fileId, String destinationFolderId, String  [...]
 @UriParams
 @Configurer(extended = true)
 public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration {
@@ -41,7 +41,7 @@ public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration
     @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "uploadNewFileVersion", description="A stream containing contents of the file to upload")})
     private java.io.InputStream fileContent;
     @UriParam
-    @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "copyFile", description="The id of file to copy"), @ApiMethod(methodName = "createFileMetadata", description="The id of the file to create metadata for"), @ApiMethod(methodName = "createFileSharedLink", description="The id of the file to create shared link on"), @ApiMethod(methodName = "deleteFile", description="The id of file to delete"), @ApiMethod(methodName = "deleteFileMetadata", description="The id of file to del [...]
+    @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "copyFile", description="The id of file to copy"), @ApiMethod(methodName = "createFileMetadata", description="The id of the file to create metadata for"), @ApiMethod(methodName = "createFileSharedLink", description="The id of the file to create shared link on"), @ApiMethod(methodName = "deleteFile", description="The id of file to delete"), @ApiMethod(methodName = "deleteFileMetadata", description="The id of file to del [...]
     private String fileId;
     @UriParam
     @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "checkUpload", description="The name to give the uploaded file"), @ApiMethod(methodName = "uploadFile", description="The name to give the uploaded file")})
@@ -50,30 +50,15 @@ public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration
     @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "uploadNewFileVersion", description="The size of the file's content used for monitoring the upload's progress")})
     private Long fileSize;
     @UriParam
-    @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "getFileThumbnail", description="Either PNG of JPG")})
-    private com.box.sdk.BoxFile.ThumbnailFileType fileType;
-    @UriParam
     @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "updateFileInfo", description="The updated information")})
     private com.box.sdk.BoxFile.Info info;
     @UriParam
     @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "downloadFile", description="A listener for monitoring the download's progress; if null the download's progress will not be monitored."), @ApiMethod(methodName = "downloadPreviousFileVersion", description="A listener for monitoring the download's progress; if null the download's progress will not be monitored."), @ApiMethod(methodName = "uploadFile", description="A listener for monitoring the upload's progress"), @ApiMe [...]
     private com.box.sdk.ProgressListener listener;
     @UriParam
-    @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "getFileThumbnail", description="Maximum height")})
-    private Integer maxHeight;
-    @UriParam
-    @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "getFileThumbnail", description="Maximum width")})
-    private Integer maxWidth;
-    @UriParam
     @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "createFileMetadata", description="The new metadata values"), @ApiMethod(methodName = "updateFileMetadata", description="The new metadata values")})
     private com.box.sdk.Metadata metadata;
     @UriParam
-    @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "getFileThumbnail", description="Minimum height")})
-    private Integer minHeight;
-    @UriParam
-    @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "getFileThumbnail", description="Minimum width")})
-    private Integer minWidth;
-    @UriParam
     @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "uploadFile", description="The content modified date that will be given to the uploaded file"), @ApiMethod(methodName = "uploadNewFileVersion", description="The content modified date that will be given to the uploaded file")})
     private java.util.Date modified;
     @UriParam
@@ -89,7 +74,7 @@ public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration
     @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "checkUpload", description="The id of parent folder"), @ApiMethod(methodName = "uploadFile", description="The id of parent folder")})
     private String parentFolderId;
     @UriParam
-    @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "createFileSharedLink", description="The permissions of the created link; if permissions is null then the created shared link is create with default permissions.")})
+    @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "createFileSharedLink", description="The permissions of the created link; if permissions is null then the created shared link is created with default permissions.")})
     private com.box.sdk.BoxSharedLink.Permissions permissions;
     @UriParam
     @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "downloadFile", description="The byte offset in file at which to stop the download; if null the entire contents of file will be downloaded.")})
@@ -190,14 +175,6 @@ public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration
         this.fileSize = fileSize;
     }
 
-    public com.box.sdk.BoxFile.ThumbnailFileType getFileType() {
-        return fileType;
-    }
-
-    public void setFileType(com.box.sdk.BoxFile.ThumbnailFileType fileType) {
-        this.fileType = fileType;
-    }
-
     public com.box.sdk.BoxFile.Info getInfo() {
         return info;
     }
@@ -214,22 +191,6 @@ public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration
         this.listener = listener;
     }
 
-    public Integer getMaxHeight() {
-        return maxHeight;
-    }
-
-    public void setMaxHeight(Integer maxHeight) {
-        this.maxHeight = maxHeight;
-    }
-
-    public Integer getMaxWidth() {
-        return maxWidth;
-    }
-
-    public void setMaxWidth(Integer maxWidth) {
-        this.maxWidth = maxWidth;
-    }
-
     public com.box.sdk.Metadata getMetadata() {
         return metadata;
     }
@@ -238,22 +199,6 @@ public final class BoxFilesManagerEndpointConfiguration extends BoxConfiguration
         this.metadata = metadata;
     }
 
-    public Integer getMinHeight() {
-        return minHeight;
-    }
-
-    public void setMinHeight(Integer minHeight) {
-        this.minHeight = minHeight;
-    }
-
-    public Integer getMinWidth() {
-        return minWidth;
-    }
-
-    public void setMinWidth(Integer minWidth) {
-        this.minWidth = minWidth;
-    }
-
     public java.util.Date getModified() {
         return modified;
     }
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java
index b0aa4a433e5..a2f7ee9725b 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java
@@ -37,17 +37,12 @@ public class BoxFilesManagerEndpointConfigurationConfigurer extends org.apache.c
         map.put("FileId", java.lang.String.class);
         map.put("FileName", java.lang.String.class);
         map.put("FileSize", java.lang.Long.class);
-        map.put("FileType", com.box.sdk.BoxFile.ThumbnailFileType.class);
         map.put("HttpParams", java.util.Map.class);
         map.put("Info", com.box.sdk.BoxFile.Info.class);
         map.put("Listener", com.box.sdk.ProgressListener.class);
         map.put("MaxCacheEntries", int.class);
-        map.put("MaxHeight", java.lang.Integer.class);
-        map.put("MaxWidth", java.lang.Integer.class);
         map.put("Metadata", com.box.sdk.Metadata.class);
         map.put("MethodName", java.lang.String.class);
-        map.put("MinHeight", java.lang.Integer.class);
-        map.put("MinWidth", java.lang.Integer.class);
         map.put("Modified", java.util.Date.class);
         map.put("NewFileName", java.lang.String.class);
         map.put("NewName", java.lang.String.class);
@@ -108,8 +103,6 @@ public class BoxFilesManagerEndpointConfigurationConfigurer extends org.apache.c
         case "FileName": target.setFileName(property(camelContext, java.lang.String.class, value)); return true;
         case "filesize":
         case "FileSize": target.setFileSize(property(camelContext, java.lang.Long.class, value)); return true;
-        case "filetype":
-        case "FileType": target.setFileType(property(camelContext, com.box.sdk.BoxFile.ThumbnailFileType.class, value)); return true;
         case "httpparams":
         case "HttpParams": target.setHttpParams(property(camelContext, java.util.Map.class, value)); return true;
         case "info":
@@ -118,18 +111,10 @@ public class BoxFilesManagerEndpointConfigurationConfigurer extends org.apache.c
         case "Listener": target.setListener(property(camelContext, com.box.sdk.ProgressListener.class, value)); return true;
         case "maxcacheentries":
         case "MaxCacheEntries": target.setMaxCacheEntries(property(camelContext, int.class, value)); return true;
-        case "maxheight":
-        case "MaxHeight": target.setMaxHeight(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "maxwidth":
-        case "MaxWidth": target.setMaxWidth(property(camelContext, java.lang.Integer.class, value)); return true;
         case "metadata":
         case "Metadata": target.setMetadata(property(camelContext, com.box.sdk.Metadata.class, value)); return true;
         case "methodname":
         case "MethodName": target.setMethodName(property(camelContext, java.lang.String.class, value)); return true;
-        case "minheight":
-        case "MinHeight": target.setMinHeight(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "minwidth":
-        case "MinWidth": target.setMinWidth(property(camelContext, java.lang.Integer.class, value)); return true;
         case "modified":
         case "Modified": target.setModified(property(camelContext, java.util.Date.class, value)); return true;
         case "newfilename":
@@ -214,8 +199,6 @@ public class BoxFilesManagerEndpointConfigurationConfigurer extends org.apache.c
         case "FileName": return java.lang.String.class;
         case "filesize":
         case "FileSize": return java.lang.Long.class;
-        case "filetype":
-        case "FileType": return com.box.sdk.BoxFile.ThumbnailFileType.class;
         case "httpparams":
         case "HttpParams": return java.util.Map.class;
         case "info":
@@ -224,18 +207,10 @@ public class BoxFilesManagerEndpointConfigurationConfigurer extends org.apache.c
         case "Listener": return com.box.sdk.ProgressListener.class;
         case "maxcacheentries":
         case "MaxCacheEntries": return int.class;
-        case "maxheight":
-        case "MaxHeight": return java.lang.Integer.class;
-        case "maxwidth":
-        case "MaxWidth": return java.lang.Integer.class;
         case "metadata":
         case "Metadata": return com.box.sdk.Metadata.class;
         case "methodname":
         case "MethodName": return java.lang.String.class;
-        case "minheight":
-        case "MinHeight": return java.lang.Integer.class;
-        case "minwidth":
-        case "MinWidth": return java.lang.Integer.class;
         case "modified":
         case "Modified": return java.util.Date.class;
         case "newfilename":
@@ -316,8 +291,6 @@ public class BoxFilesManagerEndpointConfigurationConfigurer extends org.apache.c
         case "FileName": return target.getFileName();
         case "filesize":
         case "FileSize": return target.getFileSize();
-        case "filetype":
-        case "FileType": return target.getFileType();
         case "httpparams":
         case "HttpParams": return target.getHttpParams();
         case "info":
@@ -326,18 +299,10 @@ public class BoxFilesManagerEndpointConfigurationConfigurer extends org.apache.c
         case "Listener": return target.getListener();
         case "maxcacheentries":
         case "MaxCacheEntries": return target.getMaxCacheEntries();
-        case "maxheight":
-        case "MaxHeight": return target.getMaxHeight();
-        case "maxwidth":
-        case "MaxWidth": return target.getMaxWidth();
         case "metadata":
         case "Metadata": return target.getMetadata();
         case "methodname":
         case "MethodName": return target.getMethodName();
-        case "minheight":
-        case "MinHeight": return target.getMinHeight();
-        case "minwidth":
-        case "MinWidth": return target.getMinWidth();
         case "modified":
         case "Modified": return target.getModified();
         case "newfilename":
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java
index 28c37830854..ce01234fe78 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfiguration.java
@@ -15,7 +15,7 @@ import org.apache.camel.spi.UriParams;
  */
 @ApiParams(apiName = "groups", producerOnly = true,
            description = "Provides operations to manage Box groups",
-           apiMethods = {@ApiMethod(methodName = "addGroupMembership", description="Add a member to group with the specified role", signatures={"com.box.sdk.BoxGroupMembership addGroupMembership(String groupId, String userId, com.box.sdk.BoxGroupMembership$Role role)"}), @ApiMethod(methodName = "createGroup", description="Create a new group with a specified name and optional additional parameters", signatures={"com.box.sdk.BoxGroup createGroup(String name, String provenance, String exter [...]
+           apiMethods = {@ApiMethod(methodName = "addGroupMembership", description="Add a member to group with the specified role", signatures={"com.box.sdk.BoxGroupMembership addGroupMembership(String groupId, String userId, com.box.sdk.BoxGroupMembership$GroupRole role)"}), @ApiMethod(methodName = "createGroup", description="Create a new group with a specified name and optional additional parameters", signatures={"com.box.sdk.BoxGroup createGroup(String name, String provenance, String  [...]
 @UriParams
 @Configurer(extended = true)
 public final class BoxGroupsManagerEndpointConfiguration extends BoxConfiguration {
@@ -51,7 +51,7 @@ public final class BoxGroupsManagerEndpointConfiguration extends BoxConfiguratio
     private String provenance;
     @UriParam
     @ApiParam(optional = true, apiMethods = {@ApiMethod(methodName = "addGroupMembership", description="The role of the user in this group. Can be null to assign the default role.")})
-    private com.box.sdk.BoxGroupMembership.Role role;
+    private com.box.sdk.BoxGroupMembership.GroupRole role;
     @UriParam
     @ApiParam(optional = false, apiMethods = {@ApiMethod(methodName = "addGroupMembership", description="The id of user to be added to group")})
     private String userId;
@@ -136,11 +136,11 @@ public final class BoxGroupsManagerEndpointConfiguration extends BoxConfiguratio
         this.provenance = provenance;
     }
 
-    public com.box.sdk.BoxGroupMembership.Role getRole() {
+    public com.box.sdk.BoxGroupMembership.GroupRole getRole() {
         return role;
     }
 
-    public void setRole(com.box.sdk.BoxGroupMembership.Role role) {
+    public void setRole(com.box.sdk.BoxGroupMembership.GroupRole role) {
         this.role = role;
     }
 
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java
index 664a51fafea..79e6312d362 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java
@@ -43,7 +43,7 @@ public class BoxGroupsManagerEndpointConfigurationConfigurer extends org.apache.
         map.put("PrivateKeyPassword", java.lang.String.class);
         map.put("Provenance", java.lang.String.class);
         map.put("PublicKeyId", java.lang.String.class);
-        map.put("Role", com.box.sdk.BoxGroupMembership.Role.class);
+        map.put("Role", com.box.sdk.BoxGroupMembership.GroupRole.class);
         map.put("SslContextParameters", org.apache.camel.support.jsse.SSLContextParameters.class);
         map.put("UserId", java.lang.String.class);
         map.put("UserName", java.lang.String.class);
@@ -102,7 +102,7 @@ public class BoxGroupsManagerEndpointConfigurationConfigurer extends org.apache.
         case "publickeyid":
         case "PublicKeyId": target.setPublicKeyId(property(camelContext, java.lang.String.class, value)); return true;
         case "role":
-        case "Role": target.setRole(property(camelContext, com.box.sdk.BoxGroupMembership.Role.class, value)); return true;
+        case "Role": target.setRole(property(camelContext, com.box.sdk.BoxGroupMembership.GroupRole.class, value)); return true;
         case "sslcontextparameters":
         case "SslContextParameters": target.setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
         case "userid":
@@ -170,7 +170,7 @@ public class BoxGroupsManagerEndpointConfigurationConfigurer extends org.apache.
         case "publickeyid":
         case "PublicKeyId": return java.lang.String.class;
         case "role":
-        case "Role": return com.box.sdk.BoxGroupMembership.Role.class;
+        case "Role": return com.box.sdk.BoxGroupMembership.GroupRole.class;
         case "sslcontextparameters":
         case "SslContextParameters": return org.apache.camel.support.jsse.SSLContextParameters.class;
         case "userid":
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxEventLogsManagerApiMethod.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxEventLogsManagerApiMethod.java
index 2d143841fae..2fea19af01c 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxEventLogsManagerApiMethod.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxEventLogsManagerApiMethod.java
@@ -25,7 +25,7 @@ public enum BoxEventLogsManagerApiMethod implements ApiMethod {
         arg("position", String.class),
         arg("after", java.util.Date.class),
         arg("before", java.util.Date.class),
-        arg("types", new com.box.sdk.BoxEvent.Type[0].getClass()));
+        arg("types", new com.box.sdk.BoxEvent.EventType[0].getClass()));
 
     private final ApiMethod apiMethod;
 
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java
index b1e3fff5347..412571f0295 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxFilesManagerApiMethod.java
@@ -103,16 +103,6 @@ public enum BoxFilesManagerApiMethod implements ApiMethod {
         "getFilePreviewLink",
         arg("fileId", String.class)),
 
-    GET_FILE_THUMBNAIL(
-        byte[].class,
-        "getFileThumbnail",
-        arg("fileId", String.class),
-        arg("fileType", com.box.sdk.BoxFile.ThumbnailFileType.class),
-        arg("minWidth", Integer.class),
-        arg("minHeight", Integer.class),
-        arg("maxWidth", Integer.class),
-        arg("maxHeight", Integer.class)),
-
     GET_FILE_VERSIONS(
         java.util.Collection.class,
         "getFileVersions",
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxGroupsManagerApiMethod.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxGroupsManagerApiMethod.java
index 1ae9b070f9c..577c6a35b27 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxGroupsManagerApiMethod.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/internal/BoxGroupsManagerApiMethod.java
@@ -24,7 +24,7 @@ public enum BoxGroupsManagerApiMethod implements ApiMethod {
         "addGroupMembership",
         arg("groupId", String.class),
         arg("userId", String.class),
-        arg("role", com.box.sdk.BoxGroupMembership.Role.class)),
+        arg("role", com.box.sdk.BoxGroupMembership.GroupRole.class)),
 
     CREATE_GROUP(
         com.box.sdk.BoxGroup.class,
diff --git a/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json b/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json
index f105a7c739a..ad075c1dc88 100644
--- a/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json
+++ b/components/camel-box/camel-box-component/src/generated/resources/org/apache/camel/component/box/box.json
@@ -70,11 +70,11 @@
   "apis": {
     "collaborations": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box collaborations", "aliases": [ "addFolderCollaboration=add", "addFolderCollaborationByEmail=addByEmail", "deleteCollaboration=delete", "getFolderCollaborations=collaborations", "getPendingCollaborations=pendingCollaborations", "getCollaborationInfo=info", "updateCollaborationInfo=updateInfo" ], "methods": { "addFolderCollaboration": { "description": "Add a collaboration t [...]
     "comments": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box comments", "aliases": [ "addFileComment=add", "changeCommentMessage=updateMessage", "deleteComment=delete", "getCommentInfo=info", "getFileComments=comments", "replyToComment=reply" ], "methods": { "addFileComment": { "description": "Add comment to file", "signatures": [ "com.box.sdk.BoxFile addFileComment(String fileId, String message)" ] }, "changeCommentMessage": { "descrip [...]
-    "event-logs": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to read Box enterprise (admin) event logs", "aliases": [ "getEnterpriseEvents=events" ], "methods": { "getEnterpriseEvents": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java. [...]
+    "event-logs": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to read Box enterprise (admin) event logs", "aliases": [ "getEnterpriseEvents=events" ], "methods": { "getEnterpriseEvents": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "java.util.List<com.box.sdk.BoxEvent> getEnterpriseEvents(String position, java.util.Date after, java. [...]
     "events": { "consumerOnly": true, "producerOnly": false, "description": "Provides operations to manage Box events", "methods": { "listen": { "description": "Create an event stream with optional starting initial position and add listener that will be notified when an event is received", "signatures": [ "void listen(com.box.sdk.EventListener listener, Long startingPosition)" ] } } },
-    "files": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box files", "aliases": [ "uploadFile=upload", "downloadFile=download", "copyFile=copy", "moveFile=move", "renameFile=rename", "createFileSharedLink=link", "deleteFile=delete", "uploadNewFileVersion=uploadVersion", "promoteFileVersion=promoteVersion", "getFileVersions=versions", "downloadPreviousFileVersion=downloadVersion", "deleteFileVersion=deleteVersion", "getFileInfo=info", "upda [...]
+    "files": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box files", "aliases": [ "uploadFile=upload", "downloadFile=download", "copyFile=copy", "moveFile=move", "renameFile=rename", "createFileSharedLink=link", "deleteFile=delete", "uploadNewFileVersion=uploadVersion", "promoteFileVersion=promoteVersion", "getFileVersions=versions", "downloadPreviousFileVersion=downloadVersion", "deleteFileVersion=deleteVersion", "getFileInfo=info", "upda [...]
     "folders": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box folders", "aliases": [ "getRootFolder=root", "createFolder=create", "copyFolder=copy", "moveFolder=move", "renameFolder=rename", "createFolderSharedLink=link", "deleteFolder=delete", "getFolder=folder", "getFolderInfo=info", "getFolderItems=items", "updateFolderInfo=updateInfo" ], "methods": { "copyFolder": { "description": "Copy folder to destination folder while optionally gi [...]
-    "groups": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box groups", "aliases": [ "createGroup=create", "deleteGroup=delete", "getAllGroups=groups", "getGroupInfo=info", "addGroupMembership=addMembership", "deleteGroupMembership=deleteMembership", "getGroupMemberships=memberships", "getGroupMembershipInfo=membershipInfo", "updateGroupMembershipInfo=updateMembershipInfo" ], "methods": { "addGroupMembership": { "description": "Add a member [...]
+    "groups": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box groups", "aliases": [ "createGroup=create", "deleteGroup=delete", "getAllGroups=groups", "getGroupInfo=info", "addGroupMembership=addMembership", "deleteGroupMembership=deleteMembership", "getGroupMemberships=memberships", "getGroupMembershipInfo=membershipInfo", "updateGroupMembershipInfo=updateMembershipInfo" ], "methods": { "addGroupMembership": { "description": "Add a member [...]
     "search": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box searches", "aliases": [ "searchFolder=search" ], "methods": { "searchFolder": { "description": "Search folder and all descendant folders using the given query", "signatures": [ "java.util.Collection<com.box.sdk.BoxItem> searchFolder(String folderId, String query)" ] } } },
     "tasks": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box tasks", "aliases": [ "addFileTask=add", "deleteTask=delete", "getFileTasks=tasks", "getTaskInfo=info", "updateTaskInfo=updateInfo", "addAssignmentToTask=addAssignment", "deleteTaskAssignment=deleteAssignment", "getTaskAssignments=assignments", "getTaskAssignmentInfo=assignmentInfo" ], "methods": { "addAssignmentToTask": { "description": "Add assignment for task", "signatures": [  [...]
     "users": { "consumerOnly": false, "producerOnly": true, "description": "Provides operations to manage Box users", "aliases": [ "getCurrentUser=currentUser", "getAllEnterpriseOrExternalUsers=users", "createAppUser=create", "createEnterpriseUser=create", "deleteUser=delete", "addUserEmailAlias=addEmailAlias", "getUserEmailAlias=emailAlias", "deleteUserEmailAlias=deleteEmailAlias", "getUserInfo=info", "updateUserInfo=updateInfo" ], "methods": { "addUserEmailAlias": { "description": "Add [...]
@@ -82,11 +82,11 @@
   "apiProperties": {
     "collaborations": { "methods": { "addFolderCollaboration": { "properties": { "collaborator": { "index": 0, "kind": "parameter", "displayName": "Collaborator", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxCollaborator", "deprecated": false, "autowired": false, "secret": false, "description": "The collaborator to add", "optional": false }, "folderId": { "index": 1, "kind": "parameter", "displayName": "Folder Id", "group": "producer" [...]
     "comments": { "methods": { "addFileComment": { "properties": { "fileId": { "index": 0, "kind": "parameter", "displayName": "File Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of file", "optional": false }, "message": { "index": 1, "kind": "parameter", "displayName": "Message", "group": "producer", "label": "", "required": false, "type": "strin [...]
-    "event-logs": { "methods": { "getEnterpriseEvents": { "properties": { "after": { "index": 0, "kind": "parameter", "displayName": "After", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "autowired": false, "secret": false, "description": "The lower bound on the timestamp of the events returned", "optional": false }, "before": { "index": 1, "kind": "parameter", "displayName": "Before", "group": "producer", "labe [...]
+    "event-logs": { "methods": { "getEnterpriseEvents": { "properties": { "after": { "index": 0, "kind": "parameter", "displayName": "After", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.util.Date", "deprecated": false, "autowired": false, "secret": false, "description": "The lower bound on the timestamp of the events returned", "optional": false }, "before": { "index": 1, "kind": "parameter", "displayName": "Before", "group": "producer", "labe [...]
     "events": { "methods": { "listen": { "properties": { "startingPosition": { "index": 0, "kind": "parameter", "displayName": "Starting Position", "group": "consumer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "description": "The starting position of the event stream", "optional": true } } } } },
-    "files": { "methods": { "checkUpload": { "properties": { "fileName": { "index": 0, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name to give the uploaded file", "optional": false }, "parentFolderId": { "index": 1, "kind": "parameter", "displayName": "Parent Folder Id", "group": "producer", "label": "", [...]
+    "files": { "methods": { "checkUpload": { "properties": { "fileName": { "index": 0, "kind": "parameter", "displayName": "File Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name to give the uploaded file", "optional": false }, "parentFolderId": { "index": 1, "kind": "parameter", "displayName": "Parent Folder Id", "group": "producer", "label": "", [...]
     "folders": { "methods": { "copyFolder": { "properties": { "destinationFolderId": { "index": 0, "kind": "parameter", "displayName": "Destination Folder Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of the destination folder", "optional": false }, "folderId": { "index": 1, "kind": "parameter", "displayName": "Folder Id", "group": "producer", "la [...]
-    "groups": { "methods": { "addGroupMembership": { "properties": { "groupId": { "index": 0, "kind": "parameter", "displayName": "Group Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of group", "optional": false }, "role": { "index": 1, "kind": "parameter", "displayName": "Role", "group": "producer", "label": "", "required": false, "type": "object [...]
+    "groups": { "methods": { "addGroupMembership": { "properties": { "groupId": { "index": 0, "kind": "parameter", "displayName": "Group Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of group", "optional": false }, "role": { "index": 1, "kind": "parameter", "displayName": "Role", "group": "producer", "label": "", "required": false, "type": "object [...]
     "search": { "methods": { "searchFolder": { "properties": { "folderId": { "index": 0, "kind": "parameter", "displayName": "Folder Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of folder searched", "optional": false }, "query": { "index": 1, "kind": "parameter", "displayName": "Query", "group": "producer", "label": "", "required": false, "type": [...]
     "tasks": { "methods": { "addAssignmentToTask": { "properties": { "assignTo": { "index": 0, "kind": "parameter", "displayName": "Assign To", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.box.sdk.BoxUser", "deprecated": false, "autowired": false, "secret": false, "description": "The user to assign to task", "optional": false }, "taskId": { "index": 1, "kind": "parameter", "displayName": "Task Id", "group": "producer", "label": "", "required": f [...]
     "users": { "methods": { "addUserEmailAlias": { "properties": { "email": { "index": 0, "kind": "parameter", "displayName": "Email", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The email address to add as an alias", "optional": false }, "userId": { "index": 1, "kind": "parameter", "displayName": "User Id", "group": "producer", "label": "", "required": fal [...]
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
index c0d76fc4ee5..b6d7aa0a913 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/internal/BoxConnectionHelper.java
@@ -245,7 +245,7 @@ public final class BoxConnectionHelper {
         }
 
         try {
-            return BoxDeveloperEditionAPIConnection.getAppUserConnection(configuration.getUserId(),
+            return BoxDeveloperEditionAPIConnection.getUserConnection(configuration.getUserId(),
                     configuration.getClientId(), configuration.getClientSecret(), encryptionPref, accessTokenCache);
         } catch (BoxAPIException e) {
             throw new RuntimeCamelException(
diff --git a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFilesManagerIT.java b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFilesManagerIT.java
index a4b071f9556..1fcf33ba545 100644
--- a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFilesManagerIT.java
+++ b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFilesManagerIT.java
@@ -27,7 +27,6 @@ import com.box.sdk.BoxAPIException;
 import com.box.sdk.BoxFile;
 import com.box.sdk.BoxFile.ThumbnailFileType;
 import com.box.sdk.BoxFolder;
-import com.box.sdk.BoxItem;
 import com.box.sdk.BoxSharedLink;
 import com.box.sdk.Metadata;
 import org.apache.camel.builder.RouteBuilder;
@@ -43,7 +42,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
@@ -108,7 +106,7 @@ public class BoxFilesManagerIT extends AbstractBoxITSupport {
         final com.box.sdk.Metadata result = requestBodyAndHeaders("direct://CREATEFILEMETADATA", null, headers);
 
         assertNotNull(result, "createFileMetadata result");
-        assertEquals("bar", result.get("/foo"), "createFileMetadata result");
+        assertEquals("bar", result.getString("/foo"), "createFileMetadata result");
         LOG.debug("createFileMetadata: " + result);
     }
 
@@ -134,14 +132,6 @@ public class BoxFilesManagerIT extends AbstractBoxITSupport {
     public void testDeleteFile() {
         // using String message body for single parameter "fileId"
         requestBody("direct://DELETEFILE", testFile.getID());
-
-        BoxFolder rootFolder = BoxFolder.getRootFolder(getConnection());
-        Iterable<BoxItem.Info> it = rootFolder.search("^" + CAMEL_TEST_FILE + "$");
-        int searchResults = sizeOfIterable(it);
-        boolean exists = searchResults > 0;
-        assertFalse(exists, "deleteFile exists");
-        LOG.debug("deleteFile doesn't exist");
-
     }
 
     @Test
@@ -166,7 +156,7 @@ public class BoxFilesManagerIT extends AbstractBoxITSupport {
     @Disabled // Requires premium user account to test.
     @Test
     public void testDeleteFileVersion() {
-        testFile.uploadVersion(getClass().getResourceAsStream(CAMEL_TEST_FILE));
+        testFile.uploadNewVersion(getClass().getResourceAsStream(CAMEL_TEST_FILE));
 
         final Map<String, Object> headers = new HashMap<>();
         // parameter type is String
@@ -329,7 +319,7 @@ public class BoxFilesManagerIT extends AbstractBoxITSupport {
     @Disabled // Requires premium user account to test
     @Test
     public void testPromoteFileVersion() {
-        testFile.uploadVersion(getClass().getResourceAsStream(CAMEL_TEST_FILE));
+        testFile.uploadNewVersion(getClass().getResourceAsStream(CAMEL_TEST_FILE));
 
         final Map<String, Object> headers = new HashMap<>();
         // parameter type is String
@@ -402,8 +392,8 @@ public class BoxFilesManagerIT extends AbstractBoxITSupport {
         final com.box.sdk.Metadata result = requestBodyAndHeaders("direct://UPDATEFILEMETADATA", null, headers);
 
         assertNotNull(result, "updateFileMetadata result");
-        assertNotNull(result.get("/foo"), "updateFileMetadata property foo");
-        assertEquals("bar", metadata.get("/foo"));
+        assertNotNull(result.getString("/foo"), "updateFileMetadata property foo");
+        assertEquals("bar", metadata.getString("/foo"));
         LOG.debug("updateFileMetadata: " + result);
     }
 
diff --git a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFoldersManagerIT.java b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFoldersManagerIT.java
index 46014cce944..b12801989c1 100644
--- a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFoldersManagerIT.java
+++ b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxFoldersManagerIT.java
@@ -22,7 +22,6 @@ import java.util.Map;
 
 import com.box.sdk.BoxAPIConnection;
 import com.box.sdk.BoxFolder;
-import com.box.sdk.BoxItem;
 import com.box.sdk.BoxSharedLink;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.box.api.BoxFoldersManager;
@@ -36,7 +35,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
@@ -100,11 +98,6 @@ public class BoxFoldersManagerIT extends AbstractBoxITSupport {
     public void testDeleteFolder() {
         // using String message body for single parameter "folderId"
         requestBody("direct://DELETEFOLDER", testFolder.getID());
-
-        BoxFolder rootFolder = BoxFolder.getRootFolder(getConnection());
-        Iterable<BoxItem.Info> it = rootFolder.search("^" + CAMEL_TEST_FOLDER + "$");
-        int searchResults = sizeOfIterable(it);
-        assertFalse(searchResults > 0, "deleteFolder exists");
     }
 
     @Test
diff --git a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxGroupsManagerIT.java b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxGroupsManagerIT.java
index d6b7ae8ba85..6aa0d5d5fcc 100644
--- a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxGroupsManagerIT.java
+++ b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxGroupsManagerIT.java
@@ -107,7 +107,7 @@ public class BoxGroupsManagerIT extends AbstractBoxITSupport {
 
     @Test
     public void testDeleteGroupMembership() {
-        BoxGroupMembership.Info info = testGroup.addMembership(testUser, BoxGroupMembership.Role.MEMBER);
+        BoxGroupMembership.Info info = testGroup.addMembership(testUser, BoxGroupMembership.GroupRole.MEMBER);
 
         // using String message body for single parameter "groupMembershipId"
         requestBody("direct://DELETEGROUPMEMBERSHIP", info.getID());
@@ -158,7 +158,7 @@ public class BoxGroupsManagerIT extends AbstractBoxITSupport {
 
     @Test
     public void testGetGroupMembershipInfo() {
-        BoxGroupMembership.Info info = testGroup.addMembership(testUser, BoxGroupMembership.Role.MEMBER);
+        BoxGroupMembership.Info info = testGroup.addMembership(testUser, BoxGroupMembership.GroupRole.MEMBER);
 
         // using String message body for single parameter "groupMembershipId"
         final com.box.sdk.BoxGroupMembership.Info result = requestBody("direct://GETGROUPMEMBERSHIPINFO", info.getID());
@@ -179,8 +179,8 @@ public class BoxGroupsManagerIT extends AbstractBoxITSupport {
 
     @Test
     public void testUpdateGroupMembershipInfo() {
-        BoxGroupMembership.Info info = testGroup.addMembership(testUser, BoxGroupMembership.Role.MEMBER);
-        info.setRole(BoxGroupMembership.Role.ADMIN);
+        BoxGroupMembership.Info info = testGroup.addMembership(testUser, BoxGroupMembership.GroupRole.MEMBER);
+        info.setGroupRole(BoxGroupMembership.GroupRole.ADMIN);
 
         final Map<String, Object> headers = new HashMap<>();
         // parameter type is String
diff --git a/parent/pom.xml b/parent/pom.xml
index e311c13ff99..346aa2b6a1a 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -73,7 +73,7 @@
         <azure-sdk-bom-version>1.2.15</azure-sdk-bom-version>
         <azure-storage-blob-changefeed-version>12.0.0-beta.18</azure-storage-blob-changefeed-version>
         <bouncycastle-version>1.76</bouncycastle-version>
-        <box-java-sdk-version>2.58.0</box-java-sdk-version>
+        <box-java-sdk-version>4.2.1</box-java-sdk-version>
         <braintree-gateway-version>3.25.0</braintree-gateway-version>
         <build-helper-maven-plugin-version>3.4.0</build-helper-maven-plugin-version>
         <c3p0-version>0.9.5.5</c3p0-version>