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