1
19
20 package com.liferay.portlet.social.service.impl;
21
22 import com.liferay.portal.PortalException;
23 import com.liferay.portal.SystemException;
24 import com.liferay.portal.kernel.dao.orm.QueryUtil;
25 import com.liferay.portal.model.User;
26 import com.liferay.portal.util.PortalUtil;
27 import com.liferay.portlet.social.NoSuchActivityException;
28 import com.liferay.portlet.social.model.SocialActivity;
29 import com.liferay.portlet.social.service.base.SocialActivityLocalServiceBaseImpl;
30
31 import java.util.Date;
32 import java.util.List;
33
34
41 public class SocialActivityLocalServiceImpl
42 extends SocialActivityLocalServiceBaseImpl {
43
44 public SocialActivity addActivity(
45 long userId, long groupId, String className, long classPK, int type,
46 String extraData, long receiverUserId)
47 throws PortalException, SystemException {
48
49 return addActivity(
50 userId, groupId, new Date(), className, classPK, type, extraData,
51 receiverUserId);
52 }
53
54 public SocialActivity addActivity(
55 long userId, long groupId, Date createDate, String className,
56 long classPK, int type, String extraData, long receiverUserId)
57 throws PortalException, SystemException {
58
59 User user = userPersistence.findByPrimaryKey(userId);
60 long classNameId = PortalUtil.getClassNameId(className);
61
62 long activityId = counterLocalService.increment(
63 SocialActivity.class.getName());
64
65 SocialActivity activity = socialActivityPersistence.create(
66 activityId);
67
68 activity.setGroupId(groupId);
69 activity.setCompanyId(user.getCompanyId());
70 activity.setUserId(user.getUserId());
71 activity.setCreateDate(createDate);
72 activity.setMirrorActivityId(0);
73 activity.setClassNameId(classNameId);
74 activity.setClassPK(classPK);
75 activity.setType(type);
76 activity.setExtraData(extraData);
77 activity.setReceiverUserId(receiverUserId);
78
79 socialActivityPersistence.update(activity, false);
80
81 if ((receiverUserId > 0) && (userId != receiverUserId)) {
82 long mirrorActivityId = counterLocalService.increment(
83 SocialActivity.class.getName());
84
85 SocialActivity mirrorActivity = socialActivityPersistence.create(
86 mirrorActivityId);
87
88 mirrorActivity.setGroupId(groupId);
89 mirrorActivity.setCompanyId(user.getCompanyId());
90 mirrorActivity.setUserId(receiverUserId);
91 mirrorActivity.setCreateDate(createDate);
92 mirrorActivity.setMirrorActivityId(activityId);
93 mirrorActivity.setClassNameId(classNameId);
94 mirrorActivity.setClassPK(classPK);
95 mirrorActivity.setType(type);
96 mirrorActivity.setExtraData(extraData);
97 mirrorActivity.setReceiverUserId(user.getUserId());
98
99 socialActivityPersistence.update(mirrorActivity, false);
100 }
101
102 return activity;
103 }
104
105 public SocialActivity addUniqueActivity(
106 long userId, long groupId, String className, long classPK, int type,
107 String extraData, long receiverUserId)
108 throws PortalException, SystemException {
109
110 return addUniqueActivity(
111 userId, groupId, new Date(), className, classPK, type, extraData,
112 receiverUserId);
113 }
114
115 public SocialActivity addUniqueActivity(
116 long userId, long groupId, Date createDate, String className,
117 long classPK, int type, String extraData, long receiverUserId)
118 throws PortalException, SystemException {
119
120 long classNameId = PortalUtil.getClassNameId(className);
121
122 SocialActivity socialActivity =
123 socialActivityPersistence.fetchByG_U_CD_C_C_T_R(
124 groupId, userId, createDate, classNameId, classPK, type,
125 receiverUserId);
126
127 if (socialActivity != null) {
128 return socialActivity;
129 }
130
131 return addActivity(
132 userId, groupId, createDate, className, classPK, type, extraData,
133 receiverUserId);
134 }
135
136 public void deleteActivities(String className, long classPK)
137 throws SystemException {
138
139 long classNameId = PortalUtil.getClassNameId(className);
140
141 deleteActivities(classNameId, classPK);
142 }
143
144 public void deleteActivities(long classNameId, long classPK)
145 throws SystemException {
146
147 socialActivityPersistence.removeByC_C(classNameId, classPK);
148 }
149
150 public void deleteActivity(long activityId)
151 throws PortalException, SystemException {
152
153 SocialActivity activity = socialActivityPersistence.findByPrimaryKey(
154 activityId);
155
156 try {
157 socialActivityPersistence.removeByMirrorActivityId(activityId);
158 }
159 catch (NoSuchActivityException nsae) {
160 }
161
162 socialActivityPersistence.remove(activity);
163 }
164
165 public void deleteUserActivities(long userId) throws SystemException {
166 List<SocialActivity> activities =
167 socialActivityPersistence.findByUserId(
168 userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
169
170 for (SocialActivity activity : activities) {
171 socialActivityPersistence.remove(activity);
172 }
173
174 activities = socialActivityPersistence.findByReceiverUserId(
175 userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
176
177 for (SocialActivity activity : activities) {
178 socialActivityPersistence.remove(activity);
179 }
180 }
181
182 public List<SocialActivity> getActivities(
183 String className, int start, int end)
184 throws SystemException {
185
186 long classNameId = PortalUtil.getClassNameId(className);
187
188 return getActivities(classNameId, start, end);
189 }
190
191 public List<SocialActivity> getActivities(
192 long classNameId, int start, int end)
193 throws SystemException {
194
195 return socialActivityPersistence.findByClassNameId(
196 classNameId, start, end);
197 }
198
199 public List<SocialActivity> getActivities(
200 long mirrorActivityId, String className, long classPK, int start,
201 int end)
202 throws SystemException {
203
204 long classNameId = PortalUtil.getClassNameId(className);
205
206 return getActivities(
207 mirrorActivityId, classNameId, classPK, start, end);
208 }
209
210 public List<SocialActivity> getActivities(
211 long mirrorActivityId, long classNameId, long classPK, int start,
212 int end)
213 throws SystemException {
214
215 return socialActivityPersistence.findByM_C_C(
216 mirrorActivityId, classNameId, classPK, start, end);
217 }
218
219 public int getActivitiesCount(String className) throws SystemException {
220 long classNameId = PortalUtil.getClassNameId(className);
221
222 return getActivitiesCount(classNameId);
223 }
224
225 public int getActivitiesCount(long classNameId) throws SystemException {
226 return socialActivityPersistence.countByClassNameId(classNameId);
227 }
228
229 public int getActivitiesCount(
230 long mirrorActivityId, String className, long classPK)
231 throws SystemException {
232
233 long classNameId = PortalUtil.getClassNameId(className);
234
235 return getActivitiesCount(mirrorActivityId, classNameId, classPK);
236 }
237
238 public int getActivitiesCount(
239 long mirrorActivityId, long classNameId, long classPK)
240 throws SystemException {
241
242 return socialActivityPersistence.countByM_C_C(
243 mirrorActivityId, classNameId, classPK);
244 }
245
246 public SocialActivity getActivity(long activityId)
247 throws PortalException, SystemException {
248
249 return socialActivityPersistence.findByPrimaryKey(activityId);
250 }
251
252 public List<SocialActivity> getGroupActivities(
253 long groupId, int start, int end)
254 throws SystemException {
255
256 return socialActivityFinder.findByGroupId(groupId, start, end);
257 }
258
259 public int getGroupActivitiesCount(long groupId) throws SystemException {
260 return socialActivityFinder.countByGroupId(groupId);
261 }
262
263 public List<SocialActivity> getGroupUsersActivities(
264 long groupId, int start, int end)
265 throws SystemException {
266
267 return socialActivityFinder.findByGroupUsers(groupId, start, end);
268 }
269
270 public int getGroupUsersActivitiesCount(long groupId)
271 throws SystemException {
272
273 return socialActivityFinder.countByGroupUsers(groupId);
274 }
275
276 public SocialActivity getMirrorActivity(long mirrorActivityId)
277 throws PortalException, SystemException {
278
279 return socialActivityPersistence.findByMirrorActivityId(
280 mirrorActivityId);
281 }
282
283 public List<SocialActivity> getOrganizationActivities(
284 long organizationId, int start, int end)
285 throws SystemException {
286
287 return socialActivityFinder.findByOrganizationId(
288 organizationId, start, end);
289 }
290
291 public int getOrganizationActivitiesCount(long organizationId)
292 throws SystemException {
293
294 return socialActivityFinder.countByOrganizationId(organizationId);
295 }
296
297 public List<SocialActivity> getOrganizationUsersActivities(
298 long organizationId, int start, int end)
299 throws SystemException {
300
301 return socialActivityFinder.findByOrganizationUsers(
302 organizationId, start, end);
303 }
304
305 public int getOrganizationUsersActivitiesCount(long organizationId)
306 throws SystemException {
307
308 return socialActivityFinder.countByOrganizationUsers(organizationId);
309 }
310
311 public List<SocialActivity> getRelationActivities(
312 long userId, int start, int end)
313 throws SystemException {
314
315 return socialActivityFinder.findByRelation(userId, start, end);
316 }
317
318 public List<SocialActivity> getRelationActivities(
319 long userId, int type, int start, int end)
320 throws SystemException {
321
322 return socialActivityFinder.findByRelationType(
323 userId, type, start, end);
324 }
325
326 public int getRelationActivitiesCount(long userId) throws SystemException {
327 return socialActivityFinder.countByRelation(userId);
328 }
329
330 public int getRelationActivitiesCount(long userId, int type)
331 throws SystemException {
332
333 return socialActivityFinder.countByRelationType(userId, type);
334 }
335
336 public List<SocialActivity> getUserActivities(
337 long userId, int start, int end)
338 throws SystemException {
339
340 return socialActivityPersistence.findByUserId(userId, start, end);
341 }
342
343 public int getUserActivitiesCount(long userId) throws SystemException {
344 return socialActivityPersistence.countByUserId(userId);
345 }
346
347 public List<SocialActivity> getUserGroupsActivities(
348 long userId, int start, int end)
349 throws SystemException {
350
351 return socialActivityFinder.findByUserGroups(userId, start, end);
352 }
353
354 public int getUserGroupsActivitiesCount(long userId)
355 throws SystemException {
356
357 return socialActivityFinder.countByUserGroups(userId);
358 }
359
360 public List<SocialActivity> getUserGroupsAndOrganizationsActivities(
361 long userId, int start, int end)
362 throws SystemException {
363
364 return socialActivityFinder.findByUserGroupsAndOrganizations(
365 userId, start, end);
366 }
367
368 public int getUserGroupsAndOrganizationsActivitiesCount(long userId)
369 throws SystemException {
370
371 return socialActivityFinder.countByUserGroupsAndOrganizations(userId);
372 }
373
374 public List<SocialActivity> getUserOrganizationsActivities(
375 long userId, int start, int end)
376 throws SystemException {
377
378 return socialActivityFinder.findByUserOrganizations(userId, start, end);
379 }
380
381 public int getUserOrganizationsActivitiesCount(long userId)
382 throws SystemException {
383
384 return socialActivityFinder.countByUserOrganizations(userId);
385 }
386
387 }