1
19
20 package com.liferay.portlet.social.model;
21
22 import com.liferay.portal.kernel.log.Log;
23 import com.liferay.portal.kernel.log.LogFactoryUtil;
24 import com.liferay.portal.kernel.util.HtmlUtil;
25 import com.liferay.portal.kernel.util.StringPool;
26 import com.liferay.portal.kernel.util.StringUtil;
27 import com.liferay.portal.model.Group;
28 import com.liferay.portal.model.User;
29 import com.liferay.portal.service.UserLocalServiceUtil;
30 import com.liferay.portal.theme.ThemeDisplay;
31
32
39 public abstract class BaseSocialActivityInterpreter
40 implements SocialActivityInterpreter {
41
42 public String cleanContent(String content) {
43 return StringUtil.shorten(HtmlUtil.extractText(content), 200);
44 }
45
46 public String getUserName(long userId, ThemeDisplay themeDisplay) {
47 try {
48 if (userId <= 0) {
49 return StringPool.BLANK;
50 }
51
52 User user = UserLocalServiceUtil.getUserById(userId);
53
54 if (user.getUserId() == themeDisplay.getUserId()) {
55 return user.getFirstName();
56 }
57
58 String userName = user.getFullName();
59
60 Group group = user.getGroup();
61
62 if (group.getGroupId() == themeDisplay.getScopeGroupId()) {
63 return userName;
64 }
65
66 String userDisplayURL = user.getDisplayURL(themeDisplay);
67
68 userName =
69 "<a href=\"" + userDisplayURL + "\">" + userName + "</a>";
70
71 return userName;
72 }
73 catch (Exception e) {
74 return StringPool.BLANK;
75 }
76 }
77
78 public SocialActivityFeedEntry interpret(
79 SocialActivity activity, ThemeDisplay themeDisplay) {
80
81 try {
82 return doInterpret(activity, themeDisplay);
83 }
84 catch (Exception e) {
85 _log.error("Unable to interpret activity", e);
86 }
87
88 return null;
89 }
90
91 protected abstract SocialActivityFeedEntry doInterpret(
92 SocialActivity activity, ThemeDisplay themeDisplay)
93 throws Exception;
94
95 private static Log _log =
96 LogFactoryUtil.getLog(BaseSocialActivityInterpreter.class);
97
98 }