001
014
015 package com.liferay.portlet.messageboards.service.impl;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.model.User;
020 import com.liferay.portal.service.ServiceContext;
021 import com.liferay.portal.util.PortalUtil;
022 import com.liferay.portlet.messageboards.model.MBDiscussion;
023 import com.liferay.portlet.messageboards.service.base.MBDiscussionLocalServiceBaseImpl;
024
025 import java.util.Date;
026
027
030 public class MBDiscussionLocalServiceImpl
031 extends MBDiscussionLocalServiceBaseImpl {
032
033 public MBDiscussion addDiscussion(
034 long userId, long classNameId, long classPK, long threadId,
035 ServiceContext serviceContext)
036 throws PortalException, SystemException {
037
038 User user = userPersistence.findByPrimaryKey(userId);
039 long groupId = serviceContext.getScopeGroupId();
040 Date now = new Date();
041
042 long discussionId = counterLocalService.increment();
043
044 MBDiscussion discussion = mbDiscussionPersistence.create(discussionId);
045
046 discussion.setUuid(serviceContext.getUuid());
047 discussion.setGroupId(groupId);
048 discussion.setCompanyId(serviceContext.getCompanyId());
049 discussion.setUserId(userId);
050 discussion.setUserName(user.getFullName());
051 discussion.setCreateDate(serviceContext.getCreateDate(now));
052 discussion.setModifiedDate(serviceContext.getModifiedDate(now));
053 discussion.setClassNameId(classNameId);
054 discussion.setClassPK(classPK);
055 discussion.setThreadId(threadId);
056
057 mbDiscussionPersistence.update(discussion);
058
059 return discussion;
060 }
061
062 public MBDiscussion getDiscussion(long discussionId)
063 throws PortalException, SystemException {
064
065 return mbDiscussionPersistence.findByPrimaryKey(discussionId);
066 }
067
068 public MBDiscussion getDiscussion(String className, long classPK)
069 throws PortalException, SystemException {
070
071 long classNameId = PortalUtil.getClassNameId(className);
072
073 return mbDiscussionPersistence.findByC_C(classNameId, classPK);
074 }
075
076 public MBDiscussion getThreadDiscussion(long threadId)
077 throws PortalException, SystemException {
078
079 return mbDiscussionPersistence.findByThreadId(threadId);
080 }
081
082 }