001
014
015 package com.liferay.portlet.messageboards.trash;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.repository.model.FileEntry;
020 import com.liferay.portal.kernel.trash.BaseTrashHandler;
021 import com.liferay.portal.model.ContainerModel;
022 import com.liferay.portal.portletfilerepository.PortletFileRepositoryUtil;
023 import com.liferay.portal.security.permission.PermissionChecker;
024 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
025 import com.liferay.portlet.messageboards.model.MBMessage;
026 import com.liferay.portlet.messageboards.service.MBMessageLocalServiceUtil;
027 import com.liferay.portlet.messageboards.service.MBMessageServiceUtil;
028 import com.liferay.portlet.messageboards.service.permission.MBMessagePermission;
029 import com.liferay.portlet.messageboards.util.MBMessageAttachmentsUtil;
030
031
036 public class MBMessageTrashHandler extends BaseTrashHandler {
037
038 @Override
039 public void deleteTrashEntry(long classPK) {
040 }
041
042 @Override
043 public String getClassName() {
044 return MBMessage.class.getName();
045 }
046
047 @Override
048 public ContainerModel getTrashContainer(long classPK)
049 throws PortalException, SystemException {
050
051 MBMessage message = MBMessageLocalServiceUtil.getMBMessage(classPK);
052
053 return message.getTrashContainer();
054 }
055
056 @Override
057 public boolean isDeletable() {
058 return false;
059 }
060
061 @Override
062 public boolean isInTrash(long classPK)
063 throws PortalException, SystemException {
064
065 MBMessage message = MBMessageLocalServiceUtil.getMBMessage(classPK);
066
067 return message.isInTrash();
068 }
069
070 @Override
071 public boolean isInTrashContainer(long classPK)
072 throws PortalException, SystemException {
073
074 MBMessage message = MBMessageLocalServiceUtil.getMBMessage(classPK);
075
076 return message.isInTrashThread();
077 }
078
079 @Override
080 public void restoreRelatedTrashEntry(String className, long classPK)
081 throws PortalException, SystemException {
082
083 if (!className.equals(DLFileEntry.class.getName())) {
084 return;
085 }
086
087 FileEntry fileEntry = PortletFileRepositoryUtil.getPortletFileEntry(
088 classPK);
089
090 MBMessage message = MBMessageAttachmentsUtil.getMessage(classPK);
091
092 MBMessageServiceUtil.restoreMessageAttachmentFromTrash(
093 message.getMessageId(), fileEntry.getTitle());
094 }
095
096 @Override
097 public void restoreTrashEntry(long userId, long classPK) {
098 }
099
100 @Override
101 protected boolean hasPermission(
102 PermissionChecker permissionChecker, long classPK, String actionId)
103 throws PortalException, SystemException {
104
105 return MBMessagePermission.contains(
106 permissionChecker, classPK, actionId);
107 }
108
109 }