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