1
22
23 package com.liferay.portlet.messageboards.service.impl;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.security.permission.ActionKeys;
28 import com.liferay.portal.service.ServiceContext;
29 import com.liferay.portlet.messageboards.model.MBMessage;
30 import com.liferay.portlet.messageboards.model.MBThread;
31 import com.liferay.portlet.messageboards.service.base.MBThreadServiceBaseImpl;
32 import com.liferay.portlet.messageboards.service.permission.MBCategoryPermission;
33 import com.liferay.portlet.messageboards.service.permission.MBMessagePermission;
34
35 import java.util.List;
36
37
44 public class MBThreadServiceImpl extends MBThreadServiceBaseImpl {
45
46 public void deleteThread(long threadId)
47 throws PortalException, SystemException {
48
49 List<MBMessage> messages = mbMessagePersistence.findByThreadId(
50 threadId);
51
52 for (MBMessage message : messages) {
53 MBMessagePermission.check(
54 getPermissionChecker(), message.getMessageId(),
55 ActionKeys.DELETE);
56 }
57
58 mbThreadLocalService.deleteThread(threadId);
59 }
60
61 public MBThread moveThread(long categoryId, long threadId)
62 throws PortalException, SystemException {
63
64 MBThread thread = mbThreadLocalService.getThread(threadId);
65
66 MBCategoryPermission.check(
67 getPermissionChecker(), thread.getCategoryId(),
68 ActionKeys.MOVE_THREAD);
69
70 MBCategoryPermission.check(
71 getPermissionChecker(), categoryId, ActionKeys.MOVE_THREAD);
72
73 return mbThreadLocalService.moveThread(categoryId, threadId);
74 }
75
76 public MBThread splitThread(long messageId, ServiceContext serviceContext)
77 throws PortalException, SystemException {
78
79 MBMessage message = mbMessageLocalService.getMessage(messageId);
80
81 MBCategoryPermission.check(
82 getPermissionChecker(), message.getCategoryId(),
83 ActionKeys.MOVE_THREAD);
84
85 return mbThreadLocalService.splitThread(messageId, serviceContext);
86 }
87
88 }