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.theme.ThemeDisplay;
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 import javax.portlet.PortletPreferences;
38
39
46 public class MBThreadServiceImpl extends MBThreadServiceBaseImpl {
47
48 public void deleteThread(long threadId)
49 throws PortalException, SystemException {
50
51 List<MBMessage> messages = mbMessagePersistence.findByThreadId(
52 threadId);
53
54 for (MBMessage message : messages) {
55 MBMessagePermission.check(
56 getPermissionChecker(), message.getMessageId(),
57 ActionKeys.DELETE);
58 }
59
60 mbThreadLocalService.deleteThread(threadId);
61 }
62
63 public MBThread moveThread(long categoryId, long threadId)
64 throws PortalException, SystemException {
65
66 MBThread thread = mbThreadLocalService.getThread(threadId);
67
68 MBCategoryPermission.check(
69 getPermissionChecker(), thread.getCategoryId(),
70 ActionKeys.MOVE_THREAD);
71
72 MBCategoryPermission.check(
73 getPermissionChecker(), categoryId, ActionKeys.MOVE_THREAD);
74
75 return mbThreadLocalService.moveThread(categoryId, threadId);
76 }
77
78 public MBThread splitThread(
79 long messageId, PortletPreferences prefs, ThemeDisplay themeDisplay)
80 throws PortalException, SystemException {
81
82 MBMessage message = mbMessageLocalService.getMessage(messageId);
83
84 MBCategoryPermission.check(
85 getPermissionChecker(), message.getCategoryId(),
86 ActionKeys.MOVE_THREAD);
87
88 return mbThreadLocalService.splitThread(messageId, prefs, themeDisplay);
89 }
90
91 }