1
22
23 package com.liferay.portlet.messageboards.service.impl;
24
25 import com.liferay.counter.service.CounterLocalServiceUtil;
26 import com.liferay.portal.PortalException;
27 import com.liferay.portal.SystemException;
28 import com.liferay.portal.model.User;
29 import com.liferay.portal.service.UserLocalServiceUtil;
30 import com.liferay.portlet.messageboards.model.MBMessage;
31 import com.liferay.portlet.messageboards.model.MBMessageFlag;
32 import com.liferay.portlet.messageboards.model.impl.MBMessageFlagImpl;
33 import com.liferay.portlet.messageboards.service.base.MBMessageFlagLocalServiceBaseImpl;
34 import com.liferay.portlet.messageboards.service.persistence.MBMessageFlagUtil;
35
36 import java.util.Iterator;
37 import java.util.List;
38
39
46 public class MBMessageFlagLocalServiceImpl
47 extends MBMessageFlagLocalServiceBaseImpl {
48
49 public void addReadFlags(long userId, List messages)
50 throws PortalException, SystemException {
51
52 User user = UserLocalServiceUtil.getUserById(userId);
53
54 if (user.isDefaultUser()) {
55 return;
56 }
57
58 Iterator itr = messages.iterator();
59
60 while (itr.hasNext()) {
61 MBMessage message = (MBMessage)itr.next();
62
63 MBMessageFlag messageFlag = MBMessageFlagUtil.fetchByU_M(
64 userId, message.getMessageId());
65
66 if (messageFlag == null) {
67 long messageFlagId = CounterLocalServiceUtil.increment();
68
69 messageFlag = MBMessageFlagUtil.create(messageFlagId);
70
71 messageFlag.setUserId(userId);
72 messageFlag.setMessageId(message.getMessageId());
73 messageFlag.setFlag(MBMessageFlagImpl.READ_FLAG);
74
75 MBMessageFlagUtil.update(messageFlag);
76 }
77 }
78 }
79
80 public void deleteFlags(long userId) throws SystemException {
81 MBMessageFlagUtil.removeByUserId(userId);
82 }
83
84 public boolean hasReadFlag(long userId, long messageId)
85 throws PortalException, SystemException {
86
87 User user = UserLocalServiceUtil.getUserById(userId);
88
89 if (user.isDefaultUser()) {
90 return true;
91 }
92
93 MBMessageFlag messageFlag = MBMessageFlagUtil.fetchByU_M(
94 userId, messageId);
95
96 if (messageFlag != null) {
97 return true;
98 }
99 else {
100 return false;
101 }
102 }
103
104 }