1 16 package org.outerj.daisy.repository.commonimpl.comment; 17 18 import org.outerj.daisy.repository.RepositoryException; 19 import org.outerj.daisy.repository.comment.Comment; 20 import org.outerj.daisy.repository.comment.Comments; 21 import org.outerj.daisy.repository.comment.CommentVisibility; 22 import org.outerj.daisy.repository.commonimpl.AuthenticatedUser; 23 24 public class CommonCommentManager { 25 private CommentStrategy commentStrategy; 26 27 public CommonCommentManager(CommentStrategy commentStrategy) { 28 this.commentStrategy = commentStrategy; 29 } 30 31 public Comment addComment(long documentId, long branchId, long languageId, CommentVisibility visibility, String commentText, AuthenticatedUser user) throws RepositoryException { 32 return commentStrategy.storeComment(documentId, branchId, languageId, visibility, commentText, user); 33 } 34 35 public void deleteComment(long documentId, long branchId, long languageId, long commentId, AuthenticatedUser user) throws RepositoryException { 36 commentStrategy.deleteComment(documentId, branchId, languageId, commentId, user); 37 } 38 39 public void deleteComment(Comment comment, AuthenticatedUser user) throws RepositoryException { 40 commentStrategy.deleteComment(comment.getOwnerDocumentId(), comment.getOwnerBranchId(), comment.getOwnerLanguageId(), comment.getId(), user); 41 } 42 43 public Comments getComments(long documentId, long branchId, long languageId, AuthenticatedUser user) throws RepositoryException { 44 return new CommentsImpl(commentStrategy.loadComments(documentId, branchId, languageId, user)); 45 } 46 47 public Comments getComments(CommentVisibility visibility, AuthenticatedUser user) throws RepositoryException { 48 return new CommentsImpl(commentStrategy.loadComments(visibility, user)); 49 } 50 51 public Comments getComments(AuthenticatedUser user) throws RepositoryException { 52 return new CommentsImpl(commentStrategy.loadComments(user)); 53 } 54 } 55 | Popular Tags |