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