1
19
20 package com.liferay.portlet.messageboards.service.impl;
21
22 import com.liferay.portal.PortalException;
23 import com.liferay.portal.SystemException;
24 import com.liferay.portal.model.User;
25 import com.liferay.portlet.messageboards.model.MBMessage;
26 import com.liferay.portlet.messageboards.model.MBMessageFlag;
27 import com.liferay.portlet.messageboards.model.impl.MBMessageFlagImpl;
28 import com.liferay.portlet.messageboards.service.base.MBMessageFlagLocalServiceBaseImpl;
29
30 import java.util.List;
31
32
39 public class MBMessageFlagLocalServiceImpl
40 extends MBMessageFlagLocalServiceBaseImpl {
41
42 public void addReadFlags(long userId, List<MBMessage> messages)
43 throws PortalException, SystemException {
44
45 User user = userPersistence.findByPrimaryKey(userId);
46
47 if (user.isDefaultUser()) {
48 return;
49 }
50
51 for (MBMessage message : messages) {
52 MBMessageFlag messageFlag = mbMessageFlagPersistence.fetchByU_M(
53 userId, message.getMessageId());
54
55 if (messageFlag == null) {
56 long messageFlagId = counterLocalService.increment();
57
58 messageFlag = mbMessageFlagPersistence.create(messageFlagId);
59
60 messageFlag.setUserId(userId);
61 messageFlag.setMessageId(message.getMessageId());
62 messageFlag.setFlag(MBMessageFlagImpl.READ_FLAG);
63
64 mbMessageFlagPersistence.update(messageFlag, false);
65 }
66 }
67 }
68
69 public void deleteFlags(long userId) throws SystemException {
70 mbMessageFlagPersistence.removeByUserId(userId);
71 }
72
73 public boolean hasReadFlag(long userId, long messageId)
74 throws PortalException, SystemException {
75
76 User user = userPersistence.findByPrimaryKey(userId);
77
78 if (user.isDefaultUser()) {
79 return true;
80 }
81
82 MBMessageFlag messageFlag = mbMessageFlagPersistence.fetchByU_M(
83 userId, messageId);
84
85 if (messageFlag != null) {
86 return true;
87 }
88 else {
89 return false;
90 }
91 }
92
93 }