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.model.User;
28 import com.liferay.portlet.messageboards.model.MBMessage;
29 import com.liferay.portlet.messageboards.model.MBMessageFlag;
30 import com.liferay.portlet.messageboards.model.impl.MBMessageFlagImpl;
31 import com.liferay.portlet.messageboards.service.base.MBMessageFlagLocalServiceBaseImpl;
32
33 import java.util.Iterator;
34 import java.util.List;
35
36
43 public class MBMessageFlagLocalServiceImpl
44 extends MBMessageFlagLocalServiceBaseImpl {
45
46 public void addReadFlags(long userId, List messages)
47 throws PortalException, SystemException {
48
49 User user = userPersistence.findByPrimaryKey(userId);
50
51 if (user.isDefaultUser()) {
52 return;
53 }
54
55 Iterator itr = messages.iterator();
56
57 while (itr.hasNext()) {
58 MBMessage message = (MBMessage)itr.next();
59
60 MBMessageFlag messageFlag = mbMessageFlagPersistence.fetchByU_M(
61 userId, message.getMessageId());
62
63 if (messageFlag == null) {
64 long messageFlagId = counterLocalService.increment();
65
66 messageFlag = mbMessageFlagPersistence.create(messageFlagId);
67
68 messageFlag.setUserId(userId);
69 messageFlag.setMessageId(message.getMessageId());
70 messageFlag.setFlag(MBMessageFlagImpl.READ_FLAG);
71
72 mbMessageFlagPersistence.update(messageFlag);
73 }
74 }
75 }
76
77 public void deleteFlags(long userId) throws SystemException {
78 mbMessageFlagPersistence.removeByUserId(userId);
79 }
80
81 public boolean hasReadFlag(long userId, long messageId)
82 throws PortalException, SystemException {
83
84 User user = userPersistence.findByPrimaryKey(userId);
85
86 if (user.isDefaultUser()) {
87 return true;
88 }
89
90 MBMessageFlag messageFlag = mbMessageFlagPersistence.fetchByU_M(
91 userId, messageId);
92
93 if (messageFlag != null) {
94 return true;
95 }
96 else {
97 return false;
98 }
99 }
100
101 }