1
22
23 package com.liferay.portlet.calendar.social;
24
25 import com.liferay.portal.kernel.util.StringPool;
26 import com.liferay.portal.kernel.util.Validator;
27 import com.liferay.portal.model.Group;
28 import com.liferay.portal.service.GroupLocalServiceUtil;
29 import com.liferay.portal.theme.ThemeDisplay;
30 import com.liferay.portlet.calendar.model.CalEvent;
31 import com.liferay.portlet.calendar.service.CalEventLocalServiceUtil;
32 import com.liferay.portlet.social.model.BaseSocialActivityInterpreter;
33 import com.liferay.portlet.social.model.SocialActivity;
34 import com.liferay.portlet.social.model.SocialActivityFeedEntry;
35
36
42 public class CalendarActivityInterpreter extends BaseSocialActivityInterpreter {
43
44 public String[] getClassNames() {
45 return _CLASS_NAMES;
46 }
47
48 protected SocialActivityFeedEntry doInterpret(
49 SocialActivity activity, ThemeDisplay themeDisplay)
50 throws Exception {
51
52 String creatorUserName = getUserName(
53 activity.getUserId(), themeDisplay);
54
55 int activityType = activity.getType();
56
57
59 CalEvent event = CalEventLocalServiceUtil.getEvent(
60 activity.getClassPK());
61
62 String link =
63 themeDisplay.getURLPortal() + themeDisplay.getPathMain() +
64 "/calendar/find_event?eventId=" + activity.getClassPK();
65
66
68 String groupName = StringPool.BLANK;
69
70 if (activity.getGroupId() != themeDisplay.getScopeGroupId()) {
71 Group group = GroupLocalServiceUtil.getGroup(activity.getGroupId());
72
73 groupName = group.getDescriptiveName();
74 }
75
76 String titlePattern = null;
77 Object[] titleArguments = null;
78
79 if (activityType == CalendarActivityKeys.ADD_EVENT) {
80 titlePattern = "activity-calendar-add-event";
81
82 if (Validator.isNotNull(groupName)) {
83 titlePattern += "-in";
84 }
85
86 titleArguments = new Object[] {creatorUserName, groupName};
87 }
88 else if (activityType == CalendarActivityKeys.UPDATE_EVENT) {
89 titlePattern = "activity-calendar-update-event";
90
91 if (Validator.isNotNull(groupName)) {
92 titlePattern += "-in";
93 }
94
95 titleArguments = new Object[] {creatorUserName, groupName};
96 }
97
98 String title = themeDisplay.translate(titlePattern, titleArguments);
99
100
102 StringBuilder sb = new StringBuilder();
103
104 sb.append("<a href=\"");
105 sb.append(link);
106 sb.append("\">");
107 sb.append(cleanContent(event.getTitle()));
108 sb.append("</a><br />");
109 sb.append(cleanContent(event.getDescription()));
110
111 String body = sb.toString();
112
113 return new SocialActivityFeedEntry(link, title, body);
114 }
115
116 private static final String[] _CLASS_NAMES = new String[] {
117 CalEvent.class.getName()
118 };
119
120 }