1
22
23 package com.liferay.portlet.messageboards.social;
24
25 import com.liferay.portal.kernel.util.StringPool;
26 import com.liferay.portal.theme.ThemeDisplay;
27 import com.liferay.portlet.messageboards.model.MBMessage;
28 import com.liferay.portlet.messageboards.service.MBMessageLocalServiceUtil;
29 import com.liferay.portlet.social.model.BaseSocialActivityInterpreter;
30 import com.liferay.portlet.social.model.SocialActivity;
31 import com.liferay.portlet.social.model.SocialActivityFeedEntry;
32
33
39 public class MBActivityInterpreter extends BaseSocialActivityInterpreter {
40
41 public String[] getClassNames() {
42 return _CLASS_NAMES;
43 }
44
45 protected SocialActivityFeedEntry doInterpret(
46 SocialActivity activity, ThemeDisplay themeDisplay)
47 throws Exception {
48
49 String creatorUserName = getUserName(
50 activity.getUserId(), themeDisplay);
51 String receiverUserName = getUserName(
52 activity.getReceiverUserId(), themeDisplay);
53
54 int activityType = activity.getType();
55
56
58 MBMessage message = MBMessageLocalServiceUtil.getMessage(
59 activity.getClassPK());
60
61 String link =
62 themeDisplay.getURLPortal() + themeDisplay.getPathMain() +
63 "/message_boards/find_message?messageId=" +
64 activity.getClassPK();
65
66
68 String title = StringPool.BLANK;
69
70 if (activityType == MBActivityKeys.ADD_MESSAGE) {
71 title = themeDisplay.translate(
72 "activity-message-boards-add-message", creatorUserName);
73 }
74 else if (activityType == MBActivityKeys.REPLY_MESSAGE) {
75 title = themeDisplay.translate(
76 "activity-message-boards-reply-message",
77 new Object[] {creatorUserName, receiverUserName});
78 }
79
80
82 StringBuilder sb = new StringBuilder();
83
84 sb.append("<a href=\"");
85 sb.append(link);
86 sb.append("\">");
87 sb.append(cleanContent(message.getSubject()));
88 sb.append("</a><br />");
89 sb.append(cleanContent(message.getBody()));
90
91 String body = sb.toString();
92
93 return new SocialActivityFeedEntry(link, title, body);
94 }
95
96 private static final String[] _CLASS_NAMES = new String[] {
97 MBMessage.class.getName()
98 };
99
100 }