Example usage for com.liferay.portal.kernel.comment DiscussionComment getThreadDiscussionCommentIterator

List of usage examples for com.liferay.portal.kernel.comment DiscussionComment getThreadDiscussionCommentIterator

Introduction

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

Prototype

public DiscussionCommentIterator getThreadDiscussionCommentIterator(int from);

Source Link

Usage

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

License:Open Source License

protected List<CommentJSONWS> getComments(DiscussionComment discussionComment, int start, int end) {

    if (start == QueryUtil.ALL_POS) {
        start = 0;/*from  w w w. jav  a2 s.co  m*/
    }

    DiscussionCommentIterator threadDiscussionCommentIterator = discussionComment
            .getThreadDiscussionCommentIterator(start);

    if (end == QueryUtil.ALL_POS) {
        return getAllComments(threadDiscussionCommentIterator);
    }

    int commentsCount = end - start;

    if (commentsCount <= 0) {
        return Collections.emptyList();
    }

    List<CommentJSONWS> commentJSONWSs = new ArrayList<>(commentsCount);

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

        CommentJSONWS commentJSONWS = new CommentJSONWS(threadDiscussionCommentIterator.next());

        commentJSONWSs.add(commentJSONWS);

        commentsCount--;
    }

    return commentJSONWSs;
}

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 w  w  w  . ja  va  2s.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;
}