Example usage for com.liferay.portal.kernel.comment Discussion getRootDiscussionComment

List of usage examples for com.liferay.portal.kernel.comment Discussion getRootDiscussionComment

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.comment Discussion getRootDiscussionComment.

Prototype

public DiscussionComment getRootDiscussionComment();

Source Link

Usage

From source file:com.liferay.comment.internal.jsonws.CommentManagerJSONWS.java

License:Open Source License

public List<CommentJSONWS> getComments(long groupId, String className, long classPK, int start, int end)
        throws PortalException {

    DiscussionPermission discussionPermission = _commentManager.getDiscussionPermission(getPermissionChecker());

    discussionPermission.checkViewPermission(getCompanyId(groupId), groupId, className, classPK);

    Discussion discussion = _commentManager.getDiscussion(getUserId(), groupId, className, classPK,
            createServiceContextFunction());

    DiscussionComment rootDiscussionComment = discussion.getRootDiscussionComment();

    return getComments(rootDiscussionComment, start, end);
}

From source file:com.liferay.message.boards.comment.internal.test.MBCommentManagerImplTest.java

License:Open Source License

@Test
public void testSecondLevelThreadCommentsCount() throws Exception {
    Discussion discussion = _commentManager.getDiscussion(_user.getUserId(), _group.getGroupId(),
            DLFileEntryConstants.getClassName(), _fileEntry.getFileEntryId(), _createServiceContextFunction());

    DiscussionComment rootDiscussionComment = discussion.getRootDiscussionComment();

    DiscussionCommentIterator threadDiscussionCommentIterator = rootDiscussionComment
            .getThreadDiscussionCommentIterator();

    DiscussionComment discussionComment = threadDiscussionCommentIterator.next();

    int descendantCommentsCount = discussionComment.getDescendantCommentsCount();

    Assert.assertEquals(2, descendantCommentsCount);
}

From source file:com.liferay.message.boards.comment.internal.test.MBCommentManagerImplTest.java

License:Open Source License

@Test
public void testTopLevelThreadCommentsCount() throws Exception {
    Discussion discussion = _commentManager.getDiscussion(_user.getUserId(), _group.getGroupId(),
            DLFileEntryConstants.getClassName(), _fileEntry.getFileEntryId(), _createServiceContextFunction());

    DiscussionComment rootDiscussionComment = discussion.getRootDiscussionComment();

    int descendantCommentsCount = rootDiscussionComment.getDescendantCommentsCount();

    Assert.assertEquals(2, descendantCommentsCount);
}

From source file:com.liferay.screens.service.impl.ScreensCommentServiceImpl.java

License:Open Source License

@Override
public JSONArray getComments(String className, long classPK, int start, int end) throws PortalException {

    DiscussionPermission discussionPermission = commentManager.getDiscussionPermission(getPermissionChecker());

    AssetEntry assetEntry = assetEntryLocalService.getEntry(className, classPK);

    Group group = groupLocalService.getGroup(assetEntry.getGroupId());

    discussionPermission.checkViewPermission(group.getCompanyId(), assetEntry.getGroupId(), className, classPK);

    Discussion discussion = commentManager.getDiscussion(getUserId(), assetEntry.getGroupId(), className,
            classPK, createServiceContextFunction());

    DiscussionComment rootDiscussionComment = discussion.getRootDiscussionComment();

    if (start == QueryUtil.ALL_POS) {
        start = 0;//from   ww w .  j a va  2  s .c o  m
    }

    DiscussionCommentIterator threadDiscussionCommentIterator = rootDiscussionComment
            .getThreadDiscussionCommentIterator(start);

    JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

    if (end == QueryUtil.ALL_POS) {
        while (threadDiscussionCommentIterator.hasNext()) {
            JSONObject jsonObject = toJSONObject(threadDiscussionCommentIterator.next(), discussionPermission);

            jsonArray.put(jsonObject);
        }
    } else {
        int commentsCount = end - start;

        while (threadDiscussionCommentIterator.hasNext() && (commentsCount > 0)) {

            JSONObject jsonObject = toJSONObject(threadDiscussionCommentIterator.next(), discussionPermission);

            jsonArray.put(jsonObject);

            commentsCount--;
        }
    }

    return jsonArray;
}