001
014
015 package com.liferay.portal.comment.display.context;
016
017 import com.liferay.portal.comment.display.context.util.DiscussionRequestHelper;
018 import com.liferay.portal.comment.display.context.util.DiscussionTaglibHelper;
019 import com.liferay.portal.kernel.comment.Discussion;
020 import com.liferay.portal.kernel.comment.DiscussionComment;
021 import com.liferay.portal.kernel.comment.DiscussionPermission;
022 import com.liferay.portal.kernel.comment.display.context.CommentDisplayContextFactory;
023 import com.liferay.portal.kernel.comment.display.context.CommentSectionDisplayContext;
024 import com.liferay.portal.kernel.comment.display.context.CommentTreeDisplayContext;
025 import com.liferay.portal.kernel.display.context.BaseDisplayContextProvider;
026
027 import javax.servlet.http.HttpServletRequest;
028 import javax.servlet.http.HttpServletResponse;
029
030
033 public class CommentDisplayContextProviderImpl
034 extends BaseDisplayContextProvider<CommentDisplayContextFactory>
035 implements CommentDisplayContextProvider {
036
037 public CommentDisplayContextProviderImpl() {
038 super(CommentDisplayContextFactory.class);
039 }
040
041 @Override
042 public CommentSectionDisplayContext getCommentSectionDisplayContext(
043 HttpServletRequest request, HttpServletResponse response,
044 DiscussionPermission discussionPermission, Discussion discussion) {
045
046 DiscussionRequestHelper discussionRequestHelper =
047 new DiscussionRequestHelper(request);
048 DiscussionTaglibHelper discussionTaglibHelper =
049 new DiscussionTaglibHelper(request);
050
051 CommentSectionDisplayContext commentSectionDisplayContext =
052 new DefaultCommentSectionDisplayContext(
053 discussionRequestHelper, discussionTaglibHelper,
054 discussionPermission, discussion);
055
056 for (CommentDisplayContextFactory commentDisplayContextFactory :
057 getDisplayContextFactories()) {
058
059 commentSectionDisplayContext =
060 commentDisplayContextFactory.getCommentSectionDisplayContext(
061 commentSectionDisplayContext, request, response,
062 discussionPermission, discussion);
063 }
064
065 return commentSectionDisplayContext;
066 }
067
068 @Override
069 public CommentTreeDisplayContext getCommentTreeDisplayContext(
070 HttpServletRequest request, HttpServletResponse response,
071 DiscussionPermission discussionPermission,
072 DiscussionComment discussionComment) {
073
074 DiscussionRequestHelper discussionRequestHelper =
075 new DiscussionRequestHelper(request);
076 DiscussionTaglibHelper discussionTaglibHelper =
077 new DiscussionTaglibHelper(request);
078
079 CommentTreeDisplayContext commentTreeDisplayContext =
080 new DefaultCommentTreeDisplayContext(
081 discussionRequestHelper, discussionTaglibHelper,
082 discussionPermission, discussionComment);
083
084 for (CommentDisplayContextFactory commentDisplayContextFactory :
085 getDisplayContextFactories()) {
086
087 commentTreeDisplayContext =
088 commentDisplayContextFactory.getCommentTreeDisplayContext(
089 commentTreeDisplayContext, request, response,
090 discussionPermission, discussionComment);
091 }
092
093 return commentTreeDisplayContext;
094 }
095
096 }