All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.camel.component.box.api.BoxCommentsManager Maven / Gradle / Ivy

There is a newer version: 4.9.0
Show newest version
/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.camel.component.box.api;

import java.util.List;

import com.box.sdk.BoxAPIConnection;
import com.box.sdk.BoxAPIException;
import com.box.sdk.BoxComment;
import com.box.sdk.BoxFile;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Box Comments Manager
 * 
 * 

* Provides operations to manage Box comments. * * * */ public class BoxCommentsManager { private static final Logger LOG = LoggerFactory.getLogger(BoxCommentsManager.class); /** * Box connection to authenticated user account. */ private BoxAPIConnection boxConnection; /** * Create comments manager to manage the comments of Box connection's * authenticated user. * * @param boxConnection * - Box connection to authenticated user account. */ public BoxCommentsManager(BoxAPIConnection boxConnection) { this.boxConnection = boxConnection; } /** * Add comment to file. * * @param fileId * - the id of file to rename. * @param message * - the comment's message. * @return The commented file. */ public BoxFile addFileComment(String fileId, String message) { try { LOG.debug("Adding comment to file(id=" + fileId + ") to '" + message + "'"); if (fileId == null) { throw new IllegalArgumentException("Parameter 'fileId' can not be null"); } if (message == null) { throw new IllegalArgumentException("Parameter 'message' can not be null"); } BoxFile fileToCommentOn = new BoxFile(boxConnection, fileId); fileToCommentOn.addComment(message); return fileToCommentOn; } catch (BoxAPIException e) { throw new RuntimeException( String.format("Box API returned the error code %d\n\n%s", e.getResponseCode(), e.getResponse()), e); } } /** * Get a list of any comments on this file. * * @param fileId * - the id of file. * @return The list of comments on this file. */ public List getFileComments(String fileId) { try { LOG.debug("Getting comments of file(id=" + fileId + ")"); if (fileId == null) { throw new IllegalArgumentException("Parameter 'fileId' can not be null"); } BoxFile file = new BoxFile(boxConnection, fileId); return file.getComments(); } catch (BoxAPIException e) { throw new RuntimeException( String.format("Box API returned the error code %d\n\n%s", e.getResponseCode(), e.getResponse()), e); } } /** * Get comment information. * * @param commentId * - the id of comment. * @return The comment information. */ public BoxComment.Info getCommentInfo(String commentId) { try { LOG.debug("Getting info for comment(id=" + commentId + ")"); if (commentId == null) { throw new IllegalArgumentException("Parameter 'commentId' can not be null"); } BoxComment comment = new BoxComment(boxConnection, commentId); return comment.getInfo(); } catch (BoxAPIException e) { throw new RuntimeException( String.format("Box API returned the error code %d\n\n%s", e.getResponseCode(), e.getResponse()), e); } } /** * Reply to a comment. * * @param commentId * - the id of comment to reply to. * @param message * - the message for the reply. * @return The newly created reply comment. */ public BoxComment replyToComment(String commentId, String message) { try { LOG.debug("Replying to comment(id=" + commentId + ") with message=" + message); if (commentId == null) { throw new IllegalArgumentException("Parameter 'commentId' can not be null"); } if (message == null) { throw new IllegalArgumentException("Parameter 'message' can not be null"); } BoxComment comment = new BoxComment(boxConnection, commentId); return comment.reply(message).getResource(); } catch (BoxAPIException e) { throw new RuntimeException( String.format("Box API returned the error code %d\n\n%s", e.getResponseCode(), e.getResponse()), e); } } /** * Change comment message. * * @param commentId * - the id of comment to change. * @param message * - the new message for the comment. * @return The comment with changed message. */ public BoxComment changeCommentMessage(String commentId, String message) { try { LOG.debug("Changing comment(id=" + commentId + ") message=" + message); if (commentId == null) { throw new IllegalArgumentException("Parameter 'commentId' can not be null"); } if (message == null) { throw new IllegalArgumentException("Parameter 'message' can not be null"); } BoxComment comment = new BoxComment(boxConnection, commentId); return comment.changeMessage(message).getResource(); } catch (BoxAPIException e) { throw new RuntimeException( String.format("Box API returned the error code %d\n\n%s", e.getResponseCode(), e.getResponse()), e); } } /** * Delete comment. * * @param commentId * - the id of comment to delete. */ public void deleteComment(String commentId) { try { LOG.debug("Deleting comment(id=" + commentId + ")"); if (commentId == null) { throw new IllegalArgumentException("Parameter 'commentId' can not be null"); } BoxComment comment = new BoxComment(boxConnection, commentId); comment.delete(); } catch (BoxAPIException e) { throw new RuntimeException( String.format("Box API returned the error code %d\n\n%s", e.getResponseCode(), e.getResponse()), e); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy