1
19
20 package com.liferay.portlet.social.service.impl;
21
22 import com.liferay.portal.theme.ThemeDisplay;
23 import com.liferay.portal.util.PortalUtil;
24 import com.liferay.portlet.social.model.SocialActivity;
25 import com.liferay.portlet.social.model.SocialActivityFeedEntry;
26 import com.liferay.portlet.social.model.SocialActivityInterpreter;
27 import com.liferay.portlet.social.model.impl.SocialActivityInterpreterImpl;
28 import com.liferay.portlet.social.service.base.SocialActivityInterpreterLocalServiceBaseImpl;
29
30 import java.util.ArrayList;
31 import java.util.List;
32
33
40 public class SocialActivityInterpreterLocalServiceImpl
41 extends SocialActivityInterpreterLocalServiceBaseImpl {
42
43 public void addActivityInterpreter(
44 SocialActivityInterpreter activityInterpreter) {
45
46 _activityInterpreters.add(activityInterpreter);
47 }
48
49 public void deleteActivityInterpreter(
50 SocialActivityInterpreter activityInterpreter) {
51
52 if (activityInterpreter != null) {
53 _activityInterpreters.remove(activityInterpreter);
54 }
55 }
56
57 public SocialActivityFeedEntry interpret(
58 SocialActivity activity, ThemeDisplay themeDisplay) {
59
60 if (activity.getMirrorActivityId() > 0) {
61 SocialActivity mirrorActivity = null;
62
63 try {
64 mirrorActivity = socialActivityLocalService.getActivity(
65 activity.getMirrorActivityId());
66 }
67 catch (Exception e) {
68 }
69
70 if (mirrorActivity != null) {
71 activity = mirrorActivity;
72 }
73 }
74
75 String className = PortalUtil.getClassName(activity.getClassNameId());
76
77 for (int i = 0; i < _activityInterpreters.size(); i++) {
78 SocialActivityInterpreterImpl activityInterpreter =
79 (SocialActivityInterpreterImpl)_activityInterpreters.get(i);
80
81 if (activityInterpreter.hasClassName(className)) {
82 SocialActivityFeedEntry activityFeedEntry =
83 activityInterpreter.interpret(activity, themeDisplay);
84
85 if (activityFeedEntry != null) {
86 activityFeedEntry.setPortletId(
87 activityInterpreter.getPortletId());
88
89 return activityFeedEntry;
90 }
91 }
92 }
93
94 return null;
95 }
96
97 private List<SocialActivityInterpreter> _activityInterpreters =
98 new ArrayList<SocialActivityInterpreter>();
99
100 }