1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portlet.social.service.persistence;
16  
17  import com.liferay.portal.NoSuchModelException;
18  import com.liferay.portal.kernel.annotation.BeanReference;
19  import com.liferay.portal.kernel.cache.CacheRegistry;
20  import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
21  import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
22  import com.liferay.portal.kernel.dao.orm.FinderPath;
23  import com.liferay.portal.kernel.dao.orm.Query;
24  import com.liferay.portal.kernel.dao.orm.QueryPos;
25  import com.liferay.portal.kernel.dao.orm.QueryUtil;
26  import com.liferay.portal.kernel.dao.orm.Session;
27  import com.liferay.portal.kernel.exception.SystemException;
28  import com.liferay.portal.kernel.log.Log;
29  import com.liferay.portal.kernel.log.LogFactoryUtil;
30  import com.liferay.portal.kernel.util.GetterUtil;
31  import com.liferay.portal.kernel.util.InstanceFactory;
32  import com.liferay.portal.kernel.util.OrderByComparator;
33  import com.liferay.portal.kernel.util.StringBundler;
34  import com.liferay.portal.kernel.util.StringPool;
35  import com.liferay.portal.kernel.util.StringUtil;
36  import com.liferay.portal.model.ModelListener;
37  import com.liferay.portal.service.persistence.BatchSessionUtil;
38  import com.liferay.portal.service.persistence.GroupPersistence;
39  import com.liferay.portal.service.persistence.LayoutPersistence;
40  import com.liferay.portal.service.persistence.ResourcePersistence;
41  import com.liferay.portal.service.persistence.UserPersistence;
42  import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
43  
44  import com.liferay.portlet.social.NoSuchActivityException;
45  import com.liferay.portlet.social.model.SocialActivity;
46  import com.liferay.portlet.social.model.impl.SocialActivityImpl;
47  import com.liferay.portlet.social.model.impl.SocialActivityModelImpl;
48  
49  import java.io.Serializable;
50  
51  import java.util.ArrayList;
52  import java.util.Collections;
53  import java.util.List;
54  
55  /**
56   * <a href="SocialActivityPersistenceImpl.java.html"><b><i>View Source</i></b></a>
57   *
58   * <p>
59   * ServiceBuilder generated this class. Modifications in this class will be
60   * overwritten the next time is generated.
61   * </p>
62   *
63   * @author    Brian Wing Shun Chan
64   * @see       SocialActivityPersistence
65   * @see       SocialActivityUtil
66   * @generated
67   */
68  public class SocialActivityPersistenceImpl extends BasePersistenceImpl<SocialActivity>
69      implements SocialActivityPersistence {
70      public static final String FINDER_CLASS_NAME_ENTITY = SocialActivityImpl.class.getName();
71      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
72          ".List";
73      public static final FinderPath FINDER_PATH_FIND_BY_GROUPID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
74              SocialActivityModelImpl.FINDER_CACHE_ENABLED,
75              FINDER_CLASS_NAME_LIST, "findByGroupId",
76              new String[] {
77                  Long.class.getName(),
78                  
79              "java.lang.Integer", "java.lang.Integer",
80                  "com.liferay.portal.kernel.util.OrderByComparator"
81              });
82      public static final FinderPath FINDER_PATH_COUNT_BY_GROUPID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
83              SocialActivityModelImpl.FINDER_CACHE_ENABLED,
84              FINDER_CLASS_NAME_LIST, "countByGroupId",
85              new String[] { Long.class.getName() });
86      public static final FinderPath FINDER_PATH_FIND_BY_COMPANYID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
87              SocialActivityModelImpl.FINDER_CACHE_ENABLED,
88              FINDER_CLASS_NAME_LIST, "findByCompanyId",
89              new String[] {
90                  Long.class.getName(),
91                  
92              "java.lang.Integer", "java.lang.Integer",
93                  "com.liferay.portal.kernel.util.OrderByComparator"
94              });
95      public static final FinderPath FINDER_PATH_COUNT_BY_COMPANYID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
96              SocialActivityModelImpl.FINDER_CACHE_ENABLED,
97              FINDER_CLASS_NAME_LIST, "countByCompanyId",
98              new String[] { Long.class.getName() });
99      public static final FinderPath FINDER_PATH_FIND_BY_USERID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
100             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
101             FINDER_CLASS_NAME_LIST, "findByUserId",
102             new String[] {
103                 Long.class.getName(),
104                 
105             "java.lang.Integer", "java.lang.Integer",
106                 "com.liferay.portal.kernel.util.OrderByComparator"
107             });
108     public static final FinderPath FINDER_PATH_COUNT_BY_USERID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
109             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
110             FINDER_CLASS_NAME_LIST, "countByUserId",
111             new String[] { Long.class.getName() });
112     public static final FinderPath FINDER_PATH_FETCH_BY_MIRRORACTIVITYID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
113             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
114             FINDER_CLASS_NAME_ENTITY, "fetchByMirrorActivityId",
115             new String[] { Long.class.getName() });
116     public static final FinderPath FINDER_PATH_COUNT_BY_MIRRORACTIVITYID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
117             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
118             FINDER_CLASS_NAME_LIST, "countByMirrorActivityId",
119             new String[] { Long.class.getName() });
120     public static final FinderPath FINDER_PATH_FIND_BY_CLASSNAMEID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
121             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
122             FINDER_CLASS_NAME_LIST, "findByClassNameId",
123             new String[] {
124                 Long.class.getName(),
125                 
126             "java.lang.Integer", "java.lang.Integer",
127                 "com.liferay.portal.kernel.util.OrderByComparator"
128             });
129     public static final FinderPath FINDER_PATH_COUNT_BY_CLASSNAMEID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
130             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
131             FINDER_CLASS_NAME_LIST, "countByClassNameId",
132             new String[] { Long.class.getName() });
133     public static final FinderPath FINDER_PATH_FIND_BY_RECEIVERUSERID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
134             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
135             FINDER_CLASS_NAME_LIST, "findByReceiverUserId",
136             new String[] {
137                 Long.class.getName(),
138                 
139             "java.lang.Integer", "java.lang.Integer",
140                 "com.liferay.portal.kernel.util.OrderByComparator"
141             });
142     public static final FinderPath FINDER_PATH_COUNT_BY_RECEIVERUSERID = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
143             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
144             FINDER_CLASS_NAME_LIST, "countByReceiverUserId",
145             new String[] { Long.class.getName() });
146     public static final FinderPath FINDER_PATH_FIND_BY_C_C = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
147             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
148             FINDER_CLASS_NAME_LIST, "findByC_C",
149             new String[] {
150                 Long.class.getName(), Long.class.getName(),
151                 
152             "java.lang.Integer", "java.lang.Integer",
153                 "com.liferay.portal.kernel.util.OrderByComparator"
154             });
155     public static final FinderPath FINDER_PATH_COUNT_BY_C_C = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
156             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
157             FINDER_CLASS_NAME_LIST, "countByC_C",
158             new String[] { Long.class.getName(), Long.class.getName() });
159     public static final FinderPath FINDER_PATH_FIND_BY_M_C_C = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
160             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
161             FINDER_CLASS_NAME_LIST, "findByM_C_C",
162             new String[] {
163                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
164                 
165             "java.lang.Integer", "java.lang.Integer",
166                 "com.liferay.portal.kernel.util.OrderByComparator"
167             });
168     public static final FinderPath FINDER_PATH_COUNT_BY_M_C_C = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
169             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
170             FINDER_CLASS_NAME_LIST, "countByM_C_C",
171             new String[] {
172                 Long.class.getName(), Long.class.getName(), Long.class.getName()
173             });
174     public static final FinderPath FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
175             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
176             FINDER_CLASS_NAME_ENTITY, "fetchByG_U_CD_C_C_T_R",
177             new String[] {
178                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
179                 Long.class.getName(), Long.class.getName(),
180                 Integer.class.getName(), Long.class.getName()
181             });
182     public static final FinderPath FINDER_PATH_COUNT_BY_G_U_CD_C_C_T_R = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
183             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
184             FINDER_CLASS_NAME_LIST, "countByG_U_CD_C_C_T_R",
185             new String[] {
186                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
187                 Long.class.getName(), Long.class.getName(),
188                 Integer.class.getName(), Long.class.getName()
189             });
190     public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
191             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
192             FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
193     public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
194             SocialActivityModelImpl.FINDER_CACHE_ENABLED,
195             FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
196 
197     public void cacheResult(SocialActivity socialActivity) {
198         EntityCacheUtil.putResult(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
199             SocialActivityImpl.class, socialActivity.getPrimaryKey(),
200             socialActivity);
201 
202         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
203             new Object[] { new Long(socialActivity.getMirrorActivityId()) },
204             socialActivity);
205 
206         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
207             new Object[] {
208                 new Long(socialActivity.getGroupId()),
209                 new Long(socialActivity.getUserId()),
210                 new Long(socialActivity.getCreateDate()),
211                 new Long(socialActivity.getClassNameId()),
212                 new Long(socialActivity.getClassPK()),
213                 new Integer(socialActivity.getType()),
214                 new Long(socialActivity.getReceiverUserId())
215             }, socialActivity);
216     }
217 
218     public void cacheResult(List<SocialActivity> socialActivities) {
219         for (SocialActivity socialActivity : socialActivities) {
220             if (EntityCacheUtil.getResult(
221                         SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
222                         SocialActivityImpl.class,
223                         socialActivity.getPrimaryKey(), this) == null) {
224                 cacheResult(socialActivity);
225             }
226         }
227     }
228 
229     public void clearCache() {
230         CacheRegistry.clear(SocialActivityImpl.class.getName());
231         EntityCacheUtil.clearCache(SocialActivityImpl.class.getName());
232         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
233         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
234     }
235 
236     public void clearCache(SocialActivity socialActivity) {
237         EntityCacheUtil.removeResult(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
238             SocialActivityImpl.class, socialActivity.getPrimaryKey());
239 
240         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
241             new Object[] { new Long(socialActivity.getMirrorActivityId()) });
242 
243         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
244             new Object[] {
245                 new Long(socialActivity.getGroupId()),
246                 new Long(socialActivity.getUserId()),
247                 new Long(socialActivity.getCreateDate()),
248                 new Long(socialActivity.getClassNameId()),
249                 new Long(socialActivity.getClassPK()),
250                 new Integer(socialActivity.getType()),
251                 new Long(socialActivity.getReceiverUserId())
252             });
253     }
254 
255     public SocialActivity create(long activityId) {
256         SocialActivity socialActivity = new SocialActivityImpl();
257 
258         socialActivity.setNew(true);
259         socialActivity.setPrimaryKey(activityId);
260 
261         return socialActivity;
262     }
263 
264     public SocialActivity remove(Serializable primaryKey)
265         throws NoSuchModelException, SystemException {
266         return remove(((Long)primaryKey).longValue());
267     }
268 
269     public SocialActivity remove(long activityId)
270         throws NoSuchActivityException, SystemException {
271         Session session = null;
272 
273         try {
274             session = openSession();
275 
276             SocialActivity socialActivity = (SocialActivity)session.get(SocialActivityImpl.class,
277                     new Long(activityId));
278 
279             if (socialActivity == null) {
280                 if (_log.isWarnEnabled()) {
281                     _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + activityId);
282                 }
283 
284                 throw new NoSuchActivityException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
285                     activityId);
286             }
287 
288             return remove(socialActivity);
289         }
290         catch (NoSuchActivityException nsee) {
291             throw nsee;
292         }
293         catch (Exception e) {
294             throw processException(e);
295         }
296         finally {
297             closeSession(session);
298         }
299     }
300 
301     public SocialActivity remove(SocialActivity socialActivity)
302         throws SystemException {
303         for (ModelListener<SocialActivity> listener : listeners) {
304             listener.onBeforeRemove(socialActivity);
305         }
306 
307         socialActivity = removeImpl(socialActivity);
308 
309         for (ModelListener<SocialActivity> listener : listeners) {
310             listener.onAfterRemove(socialActivity);
311         }
312 
313         return socialActivity;
314     }
315 
316     protected SocialActivity removeImpl(SocialActivity socialActivity)
317         throws SystemException {
318         socialActivity = toUnwrappedModel(socialActivity);
319 
320         Session session = null;
321 
322         try {
323             session = openSession();
324 
325             if (socialActivity.isCachedModel() || BatchSessionUtil.isEnabled()) {
326                 Object staleObject = session.get(SocialActivityImpl.class,
327                         socialActivity.getPrimaryKeyObj());
328 
329                 if (staleObject != null) {
330                     session.evict(staleObject);
331                 }
332             }
333 
334             session.delete(socialActivity);
335 
336             session.flush();
337         }
338         catch (Exception e) {
339             throw processException(e);
340         }
341         finally {
342             closeSession(session);
343         }
344 
345         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
346 
347         SocialActivityModelImpl socialActivityModelImpl = (SocialActivityModelImpl)socialActivity;
348 
349         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
350             new Object[] {
351                 new Long(socialActivityModelImpl.getOriginalMirrorActivityId())
352             });
353 
354         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
355             new Object[] {
356                 new Long(socialActivityModelImpl.getOriginalGroupId()),
357                 new Long(socialActivityModelImpl.getOriginalUserId()),
358                 new Long(socialActivityModelImpl.getOriginalCreateDate()),
359                 new Long(socialActivityModelImpl.getOriginalClassNameId()),
360                 new Long(socialActivityModelImpl.getOriginalClassPK()),
361                 new Integer(socialActivityModelImpl.getOriginalType()),
362                 new Long(socialActivityModelImpl.getOriginalReceiverUserId())
363             });
364 
365         EntityCacheUtil.removeResult(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
366             SocialActivityImpl.class, socialActivity.getPrimaryKey());
367 
368         return socialActivity;
369     }
370 
371     public SocialActivity updateImpl(
372         com.liferay.portlet.social.model.SocialActivity socialActivity,
373         boolean merge) throws SystemException {
374         socialActivity = toUnwrappedModel(socialActivity);
375 
376         boolean isNew = socialActivity.isNew();
377 
378         SocialActivityModelImpl socialActivityModelImpl = (SocialActivityModelImpl)socialActivity;
379 
380         Session session = null;
381 
382         try {
383             session = openSession();
384 
385             BatchSessionUtil.update(session, socialActivity, merge);
386 
387             socialActivity.setNew(false);
388         }
389         catch (Exception e) {
390             throw processException(e);
391         }
392         finally {
393             closeSession(session);
394         }
395 
396         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
397 
398         EntityCacheUtil.putResult(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
399             SocialActivityImpl.class, socialActivity.getPrimaryKey(),
400             socialActivity);
401 
402         if (!isNew &&
403                 (socialActivity.getMirrorActivityId() != socialActivityModelImpl.getOriginalMirrorActivityId())) {
404             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
405                 new Object[] {
406                     new Long(socialActivityModelImpl.getOriginalMirrorActivityId())
407                 });
408         }
409 
410         if (isNew ||
411                 (socialActivity.getMirrorActivityId() != socialActivityModelImpl.getOriginalMirrorActivityId())) {
412             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
413                 new Object[] { new Long(socialActivity.getMirrorActivityId()) },
414                 socialActivity);
415         }
416 
417         if (!isNew &&
418                 ((socialActivity.getGroupId() != socialActivityModelImpl.getOriginalGroupId()) ||
419                 (socialActivity.getUserId() != socialActivityModelImpl.getOriginalUserId()) ||
420                 (socialActivity.getCreateDate() != socialActivityModelImpl.getOriginalCreateDate()) ||
421                 (socialActivity.getClassNameId() != socialActivityModelImpl.getOriginalClassNameId()) ||
422                 (socialActivity.getClassPK() != socialActivityModelImpl.getOriginalClassPK()) ||
423                 (socialActivity.getType() != socialActivityModelImpl.getOriginalType()) ||
424                 (socialActivity.getReceiverUserId() != socialActivityModelImpl.getOriginalReceiverUserId()))) {
425             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
426                 new Object[] {
427                     new Long(socialActivityModelImpl.getOriginalGroupId()),
428                     new Long(socialActivityModelImpl.getOriginalUserId()),
429                     new Long(socialActivityModelImpl.getOriginalCreateDate()),
430                     new Long(socialActivityModelImpl.getOriginalClassNameId()),
431                     new Long(socialActivityModelImpl.getOriginalClassPK()),
432                     new Integer(socialActivityModelImpl.getOriginalType()),
433                     new Long(socialActivityModelImpl.getOriginalReceiverUserId())
434                 });
435         }
436 
437         if (isNew ||
438                 ((socialActivity.getGroupId() != socialActivityModelImpl.getOriginalGroupId()) ||
439                 (socialActivity.getUserId() != socialActivityModelImpl.getOriginalUserId()) ||
440                 (socialActivity.getCreateDate() != socialActivityModelImpl.getOriginalCreateDate()) ||
441                 (socialActivity.getClassNameId() != socialActivityModelImpl.getOriginalClassNameId()) ||
442                 (socialActivity.getClassPK() != socialActivityModelImpl.getOriginalClassPK()) ||
443                 (socialActivity.getType() != socialActivityModelImpl.getOriginalType()) ||
444                 (socialActivity.getReceiverUserId() != socialActivityModelImpl.getOriginalReceiverUserId()))) {
445             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
446                 new Object[] {
447                     new Long(socialActivity.getGroupId()),
448                     new Long(socialActivity.getUserId()),
449                     new Long(socialActivity.getCreateDate()),
450                     new Long(socialActivity.getClassNameId()),
451                     new Long(socialActivity.getClassPK()),
452                     new Integer(socialActivity.getType()),
453                     new Long(socialActivity.getReceiverUserId())
454                 }, socialActivity);
455         }
456 
457         return socialActivity;
458     }
459 
460     protected SocialActivity toUnwrappedModel(SocialActivity socialActivity) {
461         if (socialActivity instanceof SocialActivityImpl) {
462             return socialActivity;
463         }
464 
465         SocialActivityImpl socialActivityImpl = new SocialActivityImpl();
466 
467         socialActivityImpl.setNew(socialActivity.isNew());
468         socialActivityImpl.setPrimaryKey(socialActivity.getPrimaryKey());
469 
470         socialActivityImpl.setActivityId(socialActivity.getActivityId());
471         socialActivityImpl.setGroupId(socialActivity.getGroupId());
472         socialActivityImpl.setCompanyId(socialActivity.getCompanyId());
473         socialActivityImpl.setUserId(socialActivity.getUserId());
474         socialActivityImpl.setCreateDate(socialActivity.getCreateDate());
475         socialActivityImpl.setMirrorActivityId(socialActivity.getMirrorActivityId());
476         socialActivityImpl.setClassNameId(socialActivity.getClassNameId());
477         socialActivityImpl.setClassPK(socialActivity.getClassPK());
478         socialActivityImpl.setType(socialActivity.getType());
479         socialActivityImpl.setExtraData(socialActivity.getExtraData());
480         socialActivityImpl.setReceiverUserId(socialActivity.getReceiverUserId());
481 
482         return socialActivityImpl;
483     }
484 
485     public SocialActivity findByPrimaryKey(Serializable primaryKey)
486         throws NoSuchModelException, SystemException {
487         return findByPrimaryKey(((Long)primaryKey).longValue());
488     }
489 
490     public SocialActivity findByPrimaryKey(long activityId)
491         throws NoSuchActivityException, SystemException {
492         SocialActivity socialActivity = fetchByPrimaryKey(activityId);
493 
494         if (socialActivity == null) {
495             if (_log.isWarnEnabled()) {
496                 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + activityId);
497             }
498 
499             throw new NoSuchActivityException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
500                 activityId);
501         }
502 
503         return socialActivity;
504     }
505 
506     public SocialActivity fetchByPrimaryKey(Serializable primaryKey)
507         throws SystemException {
508         return fetchByPrimaryKey(((Long)primaryKey).longValue());
509     }
510 
511     public SocialActivity fetchByPrimaryKey(long activityId)
512         throws SystemException {
513         SocialActivity socialActivity = (SocialActivity)EntityCacheUtil.getResult(SocialActivityModelImpl.ENTITY_CACHE_ENABLED,
514                 SocialActivityImpl.class, activityId, this);
515 
516         if (socialActivity == null) {
517             Session session = null;
518 
519             try {
520                 session = openSession();
521 
522                 socialActivity = (SocialActivity)session.get(SocialActivityImpl.class,
523                         new Long(activityId));
524             }
525             catch (Exception e) {
526                 throw processException(e);
527             }
528             finally {
529                 if (socialActivity != null) {
530                     cacheResult(socialActivity);
531                 }
532 
533                 closeSession(session);
534             }
535         }
536 
537         return socialActivity;
538     }
539 
540     public List<SocialActivity> findByGroupId(long groupId)
541         throws SystemException {
542         return findByGroupId(groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
543     }
544 
545     public List<SocialActivity> findByGroupId(long groupId, int start, int end)
546         throws SystemException {
547         return findByGroupId(groupId, start, end, null);
548     }
549 
550     public List<SocialActivity> findByGroupId(long groupId, int start, int end,
551         OrderByComparator orderByComparator) throws SystemException {
552         Object[] finderArgs = new Object[] {
553                 new Long(groupId),
554                 
555                 String.valueOf(start), String.valueOf(end),
556                 String.valueOf(orderByComparator)
557             };
558 
559         List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_GROUPID,
560                 finderArgs, this);
561 
562         if (list == null) {
563             Session session = null;
564 
565             try {
566                 session = openSession();
567 
568                 StringBundler query = null;
569 
570                 if (orderByComparator != null) {
571                     query = new StringBundler(3 +
572                             (orderByComparator.getOrderByFields().length * 3));
573                 }
574                 else {
575                     query = new StringBundler(3);
576                 }
577 
578                 query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
579 
580                 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
581 
582                 if (orderByComparator != null) {
583                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
584                         orderByComparator);
585                 }
586 
587                 else {
588                     query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
589                 }
590 
591                 String sql = query.toString();
592 
593                 Query q = session.createQuery(sql);
594 
595                 QueryPos qPos = QueryPos.getInstance(q);
596 
597                 qPos.add(groupId);
598 
599                 list = (List<SocialActivity>)QueryUtil.list(q, getDialect(),
600                         start, end);
601             }
602             catch (Exception e) {
603                 throw processException(e);
604             }
605             finally {
606                 if (list == null) {
607                     list = new ArrayList<SocialActivity>();
608                 }
609 
610                 cacheResult(list);
611 
612                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_GROUPID,
613                     finderArgs, list);
614 
615                 closeSession(session);
616             }
617         }
618 
619         return list;
620     }
621 
622     public SocialActivity findByGroupId_First(long groupId,
623         OrderByComparator orderByComparator)
624         throws NoSuchActivityException, SystemException {
625         List<SocialActivity> list = findByGroupId(groupId, 0, 1,
626                 orderByComparator);
627 
628         if (list.isEmpty()) {
629             StringBundler msg = new StringBundler(4);
630 
631             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
632 
633             msg.append("groupId=");
634             msg.append(groupId);
635 
636             msg.append(StringPool.CLOSE_CURLY_BRACE);
637 
638             throw new NoSuchActivityException(msg.toString());
639         }
640         else {
641             return list.get(0);
642         }
643     }
644 
645     public SocialActivity findByGroupId_Last(long groupId,
646         OrderByComparator orderByComparator)
647         throws NoSuchActivityException, SystemException {
648         int count = countByGroupId(groupId);
649 
650         List<SocialActivity> list = findByGroupId(groupId, count - 1, count,
651                 orderByComparator);
652 
653         if (list.isEmpty()) {
654             StringBundler msg = new StringBundler(4);
655 
656             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
657 
658             msg.append("groupId=");
659             msg.append(groupId);
660 
661             msg.append(StringPool.CLOSE_CURLY_BRACE);
662 
663             throw new NoSuchActivityException(msg.toString());
664         }
665         else {
666             return list.get(0);
667         }
668     }
669 
670     public SocialActivity[] findByGroupId_PrevAndNext(long activityId,
671         long groupId, OrderByComparator orderByComparator)
672         throws NoSuchActivityException, SystemException {
673         SocialActivity socialActivity = findByPrimaryKey(activityId);
674 
675         Session session = null;
676 
677         try {
678             session = openSession();
679 
680             SocialActivity[] array = new SocialActivityImpl[3];
681 
682             array[0] = getByGroupId_PrevAndNext(session, socialActivity,
683                     groupId, orderByComparator, true);
684 
685             array[1] = socialActivity;
686 
687             array[2] = getByGroupId_PrevAndNext(session, socialActivity,
688                     groupId, orderByComparator, false);
689 
690             return array;
691         }
692         catch (Exception e) {
693             throw processException(e);
694         }
695         finally {
696             closeSession(session);
697         }
698     }
699 
700     protected SocialActivity getByGroupId_PrevAndNext(Session session,
701         SocialActivity socialActivity, long groupId,
702         OrderByComparator orderByComparator, boolean previous) {
703         StringBundler query = null;
704 
705         if (orderByComparator != null) {
706             query = new StringBundler(6 +
707                     (orderByComparator.getOrderByFields().length * 6));
708         }
709         else {
710             query = new StringBundler(3);
711         }
712 
713         query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
714 
715         query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
716 
717         if (orderByComparator != null) {
718             String[] orderByFields = orderByComparator.getOrderByFields();
719 
720             if (orderByFields.length > 0) {
721                 query.append(WHERE_AND);
722             }
723 
724             for (int i = 0; i < orderByFields.length; i++) {
725                 query.append(_ORDER_BY_ENTITY_ALIAS);
726                 query.append(orderByFields[i]);
727 
728                 if ((i + 1) < orderByFields.length) {
729                     if (orderByComparator.isAscending() ^ previous) {
730                         query.append(WHERE_GREATER_THAN_HAS_NEXT);
731                     }
732                     else {
733                         query.append(WHERE_LESSER_THAN_HAS_NEXT);
734                     }
735                 }
736                 else {
737                     if (orderByComparator.isAscending() ^ previous) {
738                         query.append(WHERE_GREATER_THAN);
739                     }
740                     else {
741                         query.append(WHERE_LESSER_THAN);
742                     }
743                 }
744             }
745 
746             query.append(ORDER_BY_CLAUSE);
747 
748             for (int i = 0; i < orderByFields.length; i++) {
749                 query.append(_ORDER_BY_ENTITY_ALIAS);
750                 query.append(orderByFields[i]);
751 
752                 if ((i + 1) < orderByFields.length) {
753                     if (orderByComparator.isAscending() ^ previous) {
754                         query.append(ORDER_BY_ASC_HAS_NEXT);
755                     }
756                     else {
757                         query.append(ORDER_BY_DESC_HAS_NEXT);
758                     }
759                 }
760                 else {
761                     if (orderByComparator.isAscending() ^ previous) {
762                         query.append(ORDER_BY_ASC);
763                     }
764                     else {
765                         query.append(ORDER_BY_DESC);
766                     }
767                 }
768             }
769         }
770 
771         else {
772             query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
773         }
774 
775         String sql = query.toString();
776 
777         Query q = session.createQuery(sql);
778 
779         q.setFirstResult(0);
780         q.setMaxResults(2);
781 
782         QueryPos qPos = QueryPos.getInstance(q);
783 
784         qPos.add(groupId);
785 
786         if (orderByComparator != null) {
787             Object[] values = orderByComparator.getOrderByValues(socialActivity);
788 
789             for (Object value : values) {
790                 qPos.add(value);
791             }
792         }
793 
794         List<SocialActivity> list = q.list();
795 
796         if (list.size() == 2) {
797             return list.get(1);
798         }
799         else {
800             return null;
801         }
802     }
803 
804     public List<SocialActivity> findByCompanyId(long companyId)
805         throws SystemException {
806         return findByCompanyId(companyId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
807             null);
808     }
809 
810     public List<SocialActivity> findByCompanyId(long companyId, int start,
811         int end) throws SystemException {
812         return findByCompanyId(companyId, start, end, null);
813     }
814 
815     public List<SocialActivity> findByCompanyId(long companyId, int start,
816         int end, OrderByComparator orderByComparator) throws SystemException {
817         Object[] finderArgs = new Object[] {
818                 new Long(companyId),
819                 
820                 String.valueOf(start), String.valueOf(end),
821                 String.valueOf(orderByComparator)
822             };
823 
824         List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_COMPANYID,
825                 finderArgs, this);
826 
827         if (list == null) {
828             Session session = null;
829 
830             try {
831                 session = openSession();
832 
833                 StringBundler query = null;
834 
835                 if (orderByComparator != null) {
836                     query = new StringBundler(3 +
837                             (orderByComparator.getOrderByFields().length * 3));
838                 }
839                 else {
840                     query = new StringBundler(3);
841                 }
842 
843                 query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
844 
845                 query.append(_FINDER_COLUMN_COMPANYID_COMPANYID_2);
846 
847                 if (orderByComparator != null) {
848                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
849                         orderByComparator);
850                 }
851 
852                 else {
853                     query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
854                 }
855 
856                 String sql = query.toString();
857 
858                 Query q = session.createQuery(sql);
859 
860                 QueryPos qPos = QueryPos.getInstance(q);
861 
862                 qPos.add(companyId);
863 
864                 list = (List<SocialActivity>)QueryUtil.list(q, getDialect(),
865                         start, end);
866             }
867             catch (Exception e) {
868                 throw processException(e);
869             }
870             finally {
871                 if (list == null) {
872                     list = new ArrayList<SocialActivity>();
873                 }
874 
875                 cacheResult(list);
876 
877                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_COMPANYID,
878                     finderArgs, list);
879 
880                 closeSession(session);
881             }
882         }
883 
884         return list;
885     }
886 
887     public SocialActivity findByCompanyId_First(long companyId,
888         OrderByComparator orderByComparator)
889         throws NoSuchActivityException, SystemException {
890         List<SocialActivity> list = findByCompanyId(companyId, 0, 1,
891                 orderByComparator);
892 
893         if (list.isEmpty()) {
894             StringBundler msg = new StringBundler(4);
895 
896             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
897 
898             msg.append("companyId=");
899             msg.append(companyId);
900 
901             msg.append(StringPool.CLOSE_CURLY_BRACE);
902 
903             throw new NoSuchActivityException(msg.toString());
904         }
905         else {
906             return list.get(0);
907         }
908     }
909 
910     public SocialActivity findByCompanyId_Last(long companyId,
911         OrderByComparator orderByComparator)
912         throws NoSuchActivityException, SystemException {
913         int count = countByCompanyId(companyId);
914 
915         List<SocialActivity> list = findByCompanyId(companyId, count - 1,
916                 count, orderByComparator);
917 
918         if (list.isEmpty()) {
919             StringBundler msg = new StringBundler(4);
920 
921             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
922 
923             msg.append("companyId=");
924             msg.append(companyId);
925 
926             msg.append(StringPool.CLOSE_CURLY_BRACE);
927 
928             throw new NoSuchActivityException(msg.toString());
929         }
930         else {
931             return list.get(0);
932         }
933     }
934 
935     public SocialActivity[] findByCompanyId_PrevAndNext(long activityId,
936         long companyId, OrderByComparator orderByComparator)
937         throws NoSuchActivityException, SystemException {
938         SocialActivity socialActivity = findByPrimaryKey(activityId);
939 
940         Session session = null;
941 
942         try {
943             session = openSession();
944 
945             SocialActivity[] array = new SocialActivityImpl[3];
946 
947             array[0] = getByCompanyId_PrevAndNext(session, socialActivity,
948                     companyId, orderByComparator, true);
949 
950             array[1] = socialActivity;
951 
952             array[2] = getByCompanyId_PrevAndNext(session, socialActivity,
953                     companyId, orderByComparator, false);
954 
955             return array;
956         }
957         catch (Exception e) {
958             throw processException(e);
959         }
960         finally {
961             closeSession(session);
962         }
963     }
964 
965     protected SocialActivity getByCompanyId_PrevAndNext(Session session,
966         SocialActivity socialActivity, long companyId,
967         OrderByComparator orderByComparator, boolean previous) {
968         StringBundler query = null;
969 
970         if (orderByComparator != null) {
971             query = new StringBundler(6 +
972                     (orderByComparator.getOrderByFields().length * 6));
973         }
974         else {
975             query = new StringBundler(3);
976         }
977 
978         query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
979 
980         query.append(_FINDER_COLUMN_COMPANYID_COMPANYID_2);
981 
982         if (orderByComparator != null) {
983             String[] orderByFields = orderByComparator.getOrderByFields();
984 
985             if (orderByFields.length > 0) {
986                 query.append(WHERE_AND);
987             }
988 
989             for (int i = 0; i < orderByFields.length; i++) {
990                 query.append(_ORDER_BY_ENTITY_ALIAS);
991                 query.append(orderByFields[i]);
992 
993                 if ((i + 1) < orderByFields.length) {
994                     if (orderByComparator.isAscending() ^ previous) {
995                         query.append(WHERE_GREATER_THAN_HAS_NEXT);
996                     }
997                     else {
998                         query.append(WHERE_LESSER_THAN_HAS_NEXT);
999                     }
1000                }
1001                else {
1002                    if (orderByComparator.isAscending() ^ previous) {
1003                        query.append(WHERE_GREATER_THAN);
1004                    }
1005                    else {
1006                        query.append(WHERE_LESSER_THAN);
1007                    }
1008                }
1009            }
1010
1011            query.append(ORDER_BY_CLAUSE);
1012
1013            for (int i = 0; i < orderByFields.length; i++) {
1014                query.append(_ORDER_BY_ENTITY_ALIAS);
1015                query.append(orderByFields[i]);
1016
1017                if ((i + 1) < orderByFields.length) {
1018                    if (orderByComparator.isAscending() ^ previous) {
1019                        query.append(ORDER_BY_ASC_HAS_NEXT);
1020                    }
1021                    else {
1022                        query.append(ORDER_BY_DESC_HAS_NEXT);
1023                    }
1024                }
1025                else {
1026                    if (orderByComparator.isAscending() ^ previous) {
1027                        query.append(ORDER_BY_ASC);
1028                    }
1029                    else {
1030                        query.append(ORDER_BY_DESC);
1031                    }
1032                }
1033            }
1034        }
1035
1036        else {
1037            query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1038        }
1039
1040        String sql = query.toString();
1041
1042        Query q = session.createQuery(sql);
1043
1044        q.setFirstResult(0);
1045        q.setMaxResults(2);
1046
1047        QueryPos qPos = QueryPos.getInstance(q);
1048
1049        qPos.add(companyId);
1050
1051        if (orderByComparator != null) {
1052            Object[] values = orderByComparator.getOrderByValues(socialActivity);
1053
1054            for (Object value : values) {
1055                qPos.add(value);
1056            }
1057        }
1058
1059        List<SocialActivity> list = q.list();
1060
1061        if (list.size() == 2) {
1062            return list.get(1);
1063        }
1064        else {
1065            return null;
1066        }
1067    }
1068
1069    public List<SocialActivity> findByUserId(long userId)
1070        throws SystemException {
1071        return findByUserId(userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1072    }
1073
1074    public List<SocialActivity> findByUserId(long userId, int start, int end)
1075        throws SystemException {
1076        return findByUserId(userId, start, end, null);
1077    }
1078
1079    public List<SocialActivity> findByUserId(long userId, int start, int end,
1080        OrderByComparator orderByComparator) throws SystemException {
1081        Object[] finderArgs = new Object[] {
1082                new Long(userId),
1083                
1084                String.valueOf(start), String.valueOf(end),
1085                String.valueOf(orderByComparator)
1086            };
1087
1088        List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_USERID,
1089                finderArgs, this);
1090
1091        if (list == null) {
1092            Session session = null;
1093
1094            try {
1095                session = openSession();
1096
1097                StringBundler query = null;
1098
1099                if (orderByComparator != null) {
1100                    query = new StringBundler(3 +
1101                            (orderByComparator.getOrderByFields().length * 3));
1102                }
1103                else {
1104                    query = new StringBundler(3);
1105                }
1106
1107                query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
1108
1109                query.append(_FINDER_COLUMN_USERID_USERID_2);
1110
1111                if (orderByComparator != null) {
1112                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1113                        orderByComparator);
1114                }
1115
1116                else {
1117                    query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1118                }
1119
1120                String sql = query.toString();
1121
1122                Query q = session.createQuery(sql);
1123
1124                QueryPos qPos = QueryPos.getInstance(q);
1125
1126                qPos.add(userId);
1127
1128                list = (List<SocialActivity>)QueryUtil.list(q, getDialect(),
1129                        start, end);
1130            }
1131            catch (Exception e) {
1132                throw processException(e);
1133            }
1134            finally {
1135                if (list == null) {
1136                    list = new ArrayList<SocialActivity>();
1137                }
1138
1139                cacheResult(list);
1140
1141                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_USERID,
1142                    finderArgs, list);
1143
1144                closeSession(session);
1145            }
1146        }
1147
1148        return list;
1149    }
1150
1151    public SocialActivity findByUserId_First(long userId,
1152        OrderByComparator orderByComparator)
1153        throws NoSuchActivityException, SystemException {
1154        List<SocialActivity> list = findByUserId(userId, 0, 1, orderByComparator);
1155
1156        if (list.isEmpty()) {
1157            StringBundler msg = new StringBundler(4);
1158
1159            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1160
1161            msg.append("userId=");
1162            msg.append(userId);
1163
1164            msg.append(StringPool.CLOSE_CURLY_BRACE);
1165
1166            throw new NoSuchActivityException(msg.toString());
1167        }
1168        else {
1169            return list.get(0);
1170        }
1171    }
1172
1173    public SocialActivity findByUserId_Last(long userId,
1174        OrderByComparator orderByComparator)
1175        throws NoSuchActivityException, SystemException {
1176        int count = countByUserId(userId);
1177
1178        List<SocialActivity> list = findByUserId(userId, count - 1, count,
1179                orderByComparator);
1180
1181        if (list.isEmpty()) {
1182            StringBundler msg = new StringBundler(4);
1183
1184            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1185
1186            msg.append("userId=");
1187            msg.append(userId);
1188
1189            msg.append(StringPool.CLOSE_CURLY_BRACE);
1190
1191            throw new NoSuchActivityException(msg.toString());
1192        }
1193        else {
1194            return list.get(0);
1195        }
1196    }
1197
1198    public SocialActivity[] findByUserId_PrevAndNext(long activityId,
1199        long userId, OrderByComparator orderByComparator)
1200        throws NoSuchActivityException, SystemException {
1201        SocialActivity socialActivity = findByPrimaryKey(activityId);
1202
1203        Session session = null;
1204
1205        try {
1206            session = openSession();
1207
1208            SocialActivity[] array = new SocialActivityImpl[3];
1209
1210            array[0] = getByUserId_PrevAndNext(session, socialActivity, userId,
1211                    orderByComparator, true);
1212
1213            array[1] = socialActivity;
1214
1215            array[2] = getByUserId_PrevAndNext(session, socialActivity, userId,
1216                    orderByComparator, false);
1217
1218            return array;
1219        }
1220        catch (Exception e) {
1221            throw processException(e);
1222        }
1223        finally {
1224            closeSession(session);
1225        }
1226    }
1227
1228    protected SocialActivity getByUserId_PrevAndNext(Session session,
1229        SocialActivity socialActivity, long userId,
1230        OrderByComparator orderByComparator, boolean previous) {
1231        StringBundler query = null;
1232
1233        if (orderByComparator != null) {
1234            query = new StringBundler(6 +
1235                    (orderByComparator.getOrderByFields().length * 6));
1236        }
1237        else {
1238            query = new StringBundler(3);
1239        }
1240
1241        query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
1242
1243        query.append(_FINDER_COLUMN_USERID_USERID_2);
1244
1245        if (orderByComparator != null) {
1246            String[] orderByFields = orderByComparator.getOrderByFields();
1247
1248            if (orderByFields.length > 0) {
1249                query.append(WHERE_AND);
1250            }
1251
1252            for (int i = 0; i < orderByFields.length; i++) {
1253                query.append(_ORDER_BY_ENTITY_ALIAS);
1254                query.append(orderByFields[i]);
1255
1256                if ((i + 1) < orderByFields.length) {
1257                    if (orderByComparator.isAscending() ^ previous) {
1258                        query.append(WHERE_GREATER_THAN_HAS_NEXT);
1259                    }
1260                    else {
1261                        query.append(WHERE_LESSER_THAN_HAS_NEXT);
1262                    }
1263                }
1264                else {
1265                    if (orderByComparator.isAscending() ^ previous) {
1266                        query.append(WHERE_GREATER_THAN);
1267                    }
1268                    else {
1269                        query.append(WHERE_LESSER_THAN);
1270                    }
1271                }
1272            }
1273
1274            query.append(ORDER_BY_CLAUSE);
1275
1276            for (int i = 0; i < orderByFields.length; i++) {
1277                query.append(_ORDER_BY_ENTITY_ALIAS);
1278                query.append(orderByFields[i]);
1279
1280                if ((i + 1) < orderByFields.length) {
1281                    if (orderByComparator.isAscending() ^ previous) {
1282                        query.append(ORDER_BY_ASC_HAS_NEXT);
1283                    }
1284                    else {
1285                        query.append(ORDER_BY_DESC_HAS_NEXT);
1286                    }
1287                }
1288                else {
1289                    if (orderByComparator.isAscending() ^ previous) {
1290                        query.append(ORDER_BY_ASC);
1291                    }
1292                    else {
1293                        query.append(ORDER_BY_DESC);
1294                    }
1295                }
1296            }
1297        }
1298
1299        else {
1300            query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1301        }
1302
1303        String sql = query.toString();
1304
1305        Query q = session.createQuery(sql);
1306
1307        q.setFirstResult(0);
1308        q.setMaxResults(2);
1309
1310        QueryPos qPos = QueryPos.getInstance(q);
1311
1312        qPos.add(userId);
1313
1314        if (orderByComparator != null) {
1315            Object[] values = orderByComparator.getOrderByValues(socialActivity);
1316
1317            for (Object value : values) {
1318                qPos.add(value);
1319            }
1320        }
1321
1322        List<SocialActivity> list = q.list();
1323
1324        if (list.size() == 2) {
1325            return list.get(1);
1326        }
1327        else {
1328            return null;
1329        }
1330    }
1331
1332    public SocialActivity findByMirrorActivityId(long mirrorActivityId)
1333        throws NoSuchActivityException, SystemException {
1334        SocialActivity socialActivity = fetchByMirrorActivityId(mirrorActivityId);
1335
1336        if (socialActivity == null) {
1337            StringBundler msg = new StringBundler(4);
1338
1339            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1340
1341            msg.append("mirrorActivityId=");
1342            msg.append(mirrorActivityId);
1343
1344            msg.append(StringPool.CLOSE_CURLY_BRACE);
1345
1346            if (_log.isWarnEnabled()) {
1347                _log.warn(msg.toString());
1348            }
1349
1350            throw new NoSuchActivityException(msg.toString());
1351        }
1352
1353        return socialActivity;
1354    }
1355
1356    public SocialActivity fetchByMirrorActivityId(long mirrorActivityId)
1357        throws SystemException {
1358        return fetchByMirrorActivityId(mirrorActivityId, true);
1359    }
1360
1361    public SocialActivity fetchByMirrorActivityId(long mirrorActivityId,
1362        boolean retrieveFromCache) throws SystemException {
1363        Object[] finderArgs = new Object[] { new Long(mirrorActivityId) };
1364
1365        Object result = null;
1366
1367        if (retrieveFromCache) {
1368            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
1369                    finderArgs, this);
1370        }
1371
1372        if (result == null) {
1373            Session session = null;
1374
1375            try {
1376                session = openSession();
1377
1378                StringBundler query = new StringBundler(3);
1379
1380                query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
1381
1382                query.append(_FINDER_COLUMN_MIRRORACTIVITYID_MIRRORACTIVITYID_2);
1383
1384                query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1385
1386                String sql = query.toString();
1387
1388                Query q = session.createQuery(sql);
1389
1390                QueryPos qPos = QueryPos.getInstance(q);
1391
1392                qPos.add(mirrorActivityId);
1393
1394                List<SocialActivity> list = q.list();
1395
1396                result = list;
1397
1398                SocialActivity socialActivity = null;
1399
1400                if (list.isEmpty()) {
1401                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
1402                        finderArgs, list);
1403                }
1404                else {
1405                    socialActivity = list.get(0);
1406
1407                    cacheResult(socialActivity);
1408
1409                    if ((socialActivity.getMirrorActivityId() != mirrorActivityId)) {
1410                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
1411                            finderArgs, socialActivity);
1412                    }
1413                }
1414
1415                return socialActivity;
1416            }
1417            catch (Exception e) {
1418                throw processException(e);
1419            }
1420            finally {
1421                if (result == null) {
1422                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_MIRRORACTIVITYID,
1423                        finderArgs, new ArrayList<SocialActivity>());
1424                }
1425
1426                closeSession(session);
1427            }
1428        }
1429        else {
1430            if (result instanceof List<?>) {
1431                return null;
1432            }
1433            else {
1434                return (SocialActivity)result;
1435            }
1436        }
1437    }
1438
1439    public List<SocialActivity> findByClassNameId(long classNameId)
1440        throws SystemException {
1441        return findByClassNameId(classNameId, QueryUtil.ALL_POS,
1442            QueryUtil.ALL_POS, null);
1443    }
1444
1445    public List<SocialActivity> findByClassNameId(long classNameId, int start,
1446        int end) throws SystemException {
1447        return findByClassNameId(classNameId, start, end, null);
1448    }
1449
1450    public List<SocialActivity> findByClassNameId(long classNameId, int start,
1451        int end, OrderByComparator orderByComparator) throws SystemException {
1452        Object[] finderArgs = new Object[] {
1453                new Long(classNameId),
1454                
1455                String.valueOf(start), String.valueOf(end),
1456                String.valueOf(orderByComparator)
1457            };
1458
1459        List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_CLASSNAMEID,
1460                finderArgs, this);
1461
1462        if (list == null) {
1463            Session session = null;
1464
1465            try {
1466                session = openSession();
1467
1468                StringBundler query = null;
1469
1470                if (orderByComparator != null) {
1471                    query = new StringBundler(3 +
1472                            (orderByComparator.getOrderByFields().length * 3));
1473                }
1474                else {
1475                    query = new StringBundler(3);
1476                }
1477
1478                query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
1479
1480                query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
1481
1482                if (orderByComparator != null) {
1483                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1484                        orderByComparator);
1485                }
1486
1487                else {
1488                    query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1489                }
1490
1491                String sql = query.toString();
1492
1493                Query q = session.createQuery(sql);
1494
1495                QueryPos qPos = QueryPos.getInstance(q);
1496
1497                qPos.add(classNameId);
1498
1499                list = (List<SocialActivity>)QueryUtil.list(q, getDialect(),
1500                        start, end);
1501            }
1502            catch (Exception e) {
1503                throw processException(e);
1504            }
1505            finally {
1506                if (list == null) {
1507                    list = new ArrayList<SocialActivity>();
1508                }
1509
1510                cacheResult(list);
1511
1512                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_CLASSNAMEID,
1513                    finderArgs, list);
1514
1515                closeSession(session);
1516            }
1517        }
1518
1519        return list;
1520    }
1521
1522    public SocialActivity findByClassNameId_First(long classNameId,
1523        OrderByComparator orderByComparator)
1524        throws NoSuchActivityException, SystemException {
1525        List<SocialActivity> list = findByClassNameId(classNameId, 0, 1,
1526                orderByComparator);
1527
1528        if (list.isEmpty()) {
1529            StringBundler msg = new StringBundler(4);
1530
1531            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1532
1533            msg.append("classNameId=");
1534            msg.append(classNameId);
1535
1536            msg.append(StringPool.CLOSE_CURLY_BRACE);
1537
1538            throw new NoSuchActivityException(msg.toString());
1539        }
1540        else {
1541            return list.get(0);
1542        }
1543    }
1544
1545    public SocialActivity findByClassNameId_Last(long classNameId,
1546        OrderByComparator orderByComparator)
1547        throws NoSuchActivityException, SystemException {
1548        int count = countByClassNameId(classNameId);
1549
1550        List<SocialActivity> list = findByClassNameId(classNameId, count - 1,
1551                count, orderByComparator);
1552
1553        if (list.isEmpty()) {
1554            StringBundler msg = new StringBundler(4);
1555
1556            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1557
1558            msg.append("classNameId=");
1559            msg.append(classNameId);
1560
1561            msg.append(StringPool.CLOSE_CURLY_BRACE);
1562
1563            throw new NoSuchActivityException(msg.toString());
1564        }
1565        else {
1566            return list.get(0);
1567        }
1568    }
1569
1570    public SocialActivity[] findByClassNameId_PrevAndNext(long activityId,
1571        long classNameId, OrderByComparator orderByComparator)
1572        throws NoSuchActivityException, SystemException {
1573        SocialActivity socialActivity = findByPrimaryKey(activityId);
1574
1575        Session session = null;
1576
1577        try {
1578            session = openSession();
1579
1580            SocialActivity[] array = new SocialActivityImpl[3];
1581
1582            array[0] = getByClassNameId_PrevAndNext(session, socialActivity,
1583                    classNameId, orderByComparator, true);
1584
1585            array[1] = socialActivity;
1586
1587            array[2] = getByClassNameId_PrevAndNext(session, socialActivity,
1588                    classNameId, orderByComparator, false);
1589
1590            return array;
1591        }
1592        catch (Exception e) {
1593            throw processException(e);
1594        }
1595        finally {
1596            closeSession(session);
1597        }
1598    }
1599
1600    protected SocialActivity getByClassNameId_PrevAndNext(Session session,
1601        SocialActivity socialActivity, long classNameId,
1602        OrderByComparator orderByComparator, boolean previous) {
1603        StringBundler query = null;
1604
1605        if (orderByComparator != null) {
1606            query = new StringBundler(6 +
1607                    (orderByComparator.getOrderByFields().length * 6));
1608        }
1609        else {
1610            query = new StringBundler(3);
1611        }
1612
1613        query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
1614
1615        query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
1616
1617        if (orderByComparator != null) {
1618            String[] orderByFields = orderByComparator.getOrderByFields();
1619
1620            if (orderByFields.length > 0) {
1621                query.append(WHERE_AND);
1622            }
1623
1624            for (int i = 0; i < orderByFields.length; i++) {
1625                query.append(_ORDER_BY_ENTITY_ALIAS);
1626                query.append(orderByFields[i]);
1627
1628                if ((i + 1) < orderByFields.length) {
1629                    if (orderByComparator.isAscending() ^ previous) {
1630                        query.append(WHERE_GREATER_THAN_HAS_NEXT);
1631                    }
1632                    else {
1633                        query.append(WHERE_LESSER_THAN_HAS_NEXT);
1634                    }
1635                }
1636                else {
1637                    if (orderByComparator.isAscending() ^ previous) {
1638                        query.append(WHERE_GREATER_THAN);
1639                    }
1640                    else {
1641                        query.append(WHERE_LESSER_THAN);
1642                    }
1643                }
1644            }
1645
1646            query.append(ORDER_BY_CLAUSE);
1647
1648            for (int i = 0; i < orderByFields.length; i++) {
1649                query.append(_ORDER_BY_ENTITY_ALIAS);
1650                query.append(orderByFields[i]);
1651
1652                if ((i + 1) < orderByFields.length) {
1653                    if (orderByComparator.isAscending() ^ previous) {
1654                        query.append(ORDER_BY_ASC_HAS_NEXT);
1655                    }
1656                    else {
1657                        query.append(ORDER_BY_DESC_HAS_NEXT);
1658                    }
1659                }
1660                else {
1661                    if (orderByComparator.isAscending() ^ previous) {
1662                        query.append(ORDER_BY_ASC);
1663                    }
1664                    else {
1665                        query.append(ORDER_BY_DESC);
1666                    }
1667                }
1668            }
1669        }
1670
1671        else {
1672            query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1673        }
1674
1675        String sql = query.toString();
1676
1677        Query q = session.createQuery(sql);
1678
1679        q.setFirstResult(0);
1680        q.setMaxResults(2);
1681
1682        QueryPos qPos = QueryPos.getInstance(q);
1683
1684        qPos.add(classNameId);
1685
1686        if (orderByComparator != null) {
1687            Object[] values = orderByComparator.getOrderByValues(socialActivity);
1688
1689            for (Object value : values) {
1690                qPos.add(value);
1691            }
1692        }
1693
1694        List<SocialActivity> list = q.list();
1695
1696        if (list.size() == 2) {
1697            return list.get(1);
1698        }
1699        else {
1700            return null;
1701        }
1702    }
1703
1704    public List<SocialActivity> findByReceiverUserId(long receiverUserId)
1705        throws SystemException {
1706        return findByReceiverUserId(receiverUserId, QueryUtil.ALL_POS,
1707            QueryUtil.ALL_POS, null);
1708    }
1709
1710    public List<SocialActivity> findByReceiverUserId(long receiverUserId,
1711        int start, int end) throws SystemException {
1712        return findByReceiverUserId(receiverUserId, start, end, null);
1713    }
1714
1715    public List<SocialActivity> findByReceiverUserId(long receiverUserId,
1716        int start, int end, OrderByComparator orderByComparator)
1717        throws SystemException {
1718        Object[] finderArgs = new Object[] {
1719                new Long(receiverUserId),
1720                
1721                String.valueOf(start), String.valueOf(end),
1722                String.valueOf(orderByComparator)
1723            };
1724
1725        List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_RECEIVERUSERID,
1726                finderArgs, this);
1727
1728        if (list == null) {
1729            Session session = null;
1730
1731            try {
1732                session = openSession();
1733
1734                StringBundler query = null;
1735
1736                if (orderByComparator != null) {
1737                    query = new StringBundler(3 +
1738                            (orderByComparator.getOrderByFields().length * 3));
1739                }
1740                else {
1741                    query = new StringBundler(3);
1742                }
1743
1744                query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
1745
1746                query.append(_FINDER_COLUMN_RECEIVERUSERID_RECEIVERUSERID_2);
1747
1748                if (orderByComparator != null) {
1749                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1750                        orderByComparator);
1751                }
1752
1753                else {
1754                    query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1755                }
1756
1757                String sql = query.toString();
1758
1759                Query q = session.createQuery(sql);
1760
1761                QueryPos qPos = QueryPos.getInstance(q);
1762
1763                qPos.add(receiverUserId);
1764
1765                list = (List<SocialActivity>)QueryUtil.list(q, getDialect(),
1766                        start, end);
1767            }
1768            catch (Exception e) {
1769                throw processException(e);
1770            }
1771            finally {
1772                if (list == null) {
1773                    list = new ArrayList<SocialActivity>();
1774                }
1775
1776                cacheResult(list);
1777
1778                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_RECEIVERUSERID,
1779                    finderArgs, list);
1780
1781                closeSession(session);
1782            }
1783        }
1784
1785        return list;
1786    }
1787
1788    public SocialActivity findByReceiverUserId_First(long receiverUserId,
1789        OrderByComparator orderByComparator)
1790        throws NoSuchActivityException, SystemException {
1791        List<SocialActivity> list = findByReceiverUserId(receiverUserId, 0, 1,
1792                orderByComparator);
1793
1794        if (list.isEmpty()) {
1795            StringBundler msg = new StringBundler(4);
1796
1797            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1798
1799            msg.append("receiverUserId=");
1800            msg.append(receiverUserId);
1801
1802            msg.append(StringPool.CLOSE_CURLY_BRACE);
1803
1804            throw new NoSuchActivityException(msg.toString());
1805        }
1806        else {
1807            return list.get(0);
1808        }
1809    }
1810
1811    public SocialActivity findByReceiverUserId_Last(long receiverUserId,
1812        OrderByComparator orderByComparator)
1813        throws NoSuchActivityException, SystemException {
1814        int count = countByReceiverUserId(receiverUserId);
1815
1816        List<SocialActivity> list = findByReceiverUserId(receiverUserId,
1817                count - 1, count, orderByComparator);
1818
1819        if (list.isEmpty()) {
1820            StringBundler msg = new StringBundler(4);
1821
1822            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1823
1824            msg.append("receiverUserId=");
1825            msg.append(receiverUserId);
1826
1827            msg.append(StringPool.CLOSE_CURLY_BRACE);
1828
1829            throw new NoSuchActivityException(msg.toString());
1830        }
1831        else {
1832            return list.get(0);
1833        }
1834    }
1835
1836    public SocialActivity[] findByReceiverUserId_PrevAndNext(long activityId,
1837        long receiverUserId, OrderByComparator orderByComparator)
1838        throws NoSuchActivityException, SystemException {
1839        SocialActivity socialActivity = findByPrimaryKey(activityId);
1840
1841        Session session = null;
1842
1843        try {
1844            session = openSession();
1845
1846            SocialActivity[] array = new SocialActivityImpl[3];
1847
1848            array[0] = getByReceiverUserId_PrevAndNext(session, socialActivity,
1849                    receiverUserId, orderByComparator, true);
1850
1851            array[1] = socialActivity;
1852
1853            array[2] = getByReceiverUserId_PrevAndNext(session, socialActivity,
1854                    receiverUserId, orderByComparator, false);
1855
1856            return array;
1857        }
1858        catch (Exception e) {
1859            throw processException(e);
1860        }
1861        finally {
1862            closeSession(session);
1863        }
1864    }
1865
1866    protected SocialActivity getByReceiverUserId_PrevAndNext(Session session,
1867        SocialActivity socialActivity, long receiverUserId,
1868        OrderByComparator orderByComparator, boolean previous) {
1869        StringBundler query = null;
1870
1871        if (orderByComparator != null) {
1872            query = new StringBundler(6 +
1873                    (orderByComparator.getOrderByFields().length * 6));
1874        }
1875        else {
1876            query = new StringBundler(3);
1877        }
1878
1879        query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
1880
1881        query.append(_FINDER_COLUMN_RECEIVERUSERID_RECEIVERUSERID_2);
1882
1883        if (orderByComparator != null) {
1884            String[] orderByFields = orderByComparator.getOrderByFields();
1885
1886            if (orderByFields.length > 0) {
1887                query.append(WHERE_AND);
1888            }
1889
1890            for (int i = 0; i < orderByFields.length; i++) {
1891                query.append(_ORDER_BY_ENTITY_ALIAS);
1892                query.append(orderByFields[i]);
1893
1894                if ((i + 1) < orderByFields.length) {
1895                    if (orderByComparator.isAscending() ^ previous) {
1896                        query.append(WHERE_GREATER_THAN_HAS_NEXT);
1897                    }
1898                    else {
1899                        query.append(WHERE_LESSER_THAN_HAS_NEXT);
1900                    }
1901                }
1902                else {
1903                    if (orderByComparator.isAscending() ^ previous) {
1904                        query.append(WHERE_GREATER_THAN);
1905                    }
1906                    else {
1907                        query.append(WHERE_LESSER_THAN);
1908                    }
1909                }
1910            }
1911
1912            query.append(ORDER_BY_CLAUSE);
1913
1914            for (int i = 0; i < orderByFields.length; i++) {
1915                query.append(_ORDER_BY_ENTITY_ALIAS);
1916                query.append(orderByFields[i]);
1917
1918                if ((i + 1) < orderByFields.length) {
1919                    if (orderByComparator.isAscending() ^ previous) {
1920                        query.append(ORDER_BY_ASC_HAS_NEXT);
1921                    }
1922                    else {
1923                        query.append(ORDER_BY_DESC_HAS_NEXT);
1924                    }
1925                }
1926                else {
1927                    if (orderByComparator.isAscending() ^ previous) {
1928                        query.append(ORDER_BY_ASC);
1929                    }
1930                    else {
1931                        query.append(ORDER_BY_DESC);
1932                    }
1933                }
1934            }
1935        }
1936
1937        else {
1938            query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
1939        }
1940
1941        String sql = query.toString();
1942
1943        Query q = session.createQuery(sql);
1944
1945        q.setFirstResult(0);
1946        q.setMaxResults(2);
1947
1948        QueryPos qPos = QueryPos.getInstance(q);
1949
1950        qPos.add(receiverUserId);
1951
1952        if (orderByComparator != null) {
1953            Object[] values = orderByComparator.getOrderByValues(socialActivity);
1954
1955            for (Object value : values) {
1956                qPos.add(value);
1957            }
1958        }
1959
1960        List<SocialActivity> list = q.list();
1961
1962        if (list.size() == 2) {
1963            return list.get(1);
1964        }
1965        else {
1966            return null;
1967        }
1968    }
1969
1970    public List<SocialActivity> findByC_C(long classNameId, long classPK)
1971        throws SystemException {
1972        return findByC_C(classNameId, classPK, QueryUtil.ALL_POS,
1973            QueryUtil.ALL_POS, null);
1974    }
1975
1976    public List<SocialActivity> findByC_C(long classNameId, long classPK,
1977        int start, int end) throws SystemException {
1978        return findByC_C(classNameId, classPK, start, end, null);
1979    }
1980
1981    public List<SocialActivity> findByC_C(long classNameId, long classPK,
1982        int start, int end, OrderByComparator orderByComparator)
1983        throws SystemException {
1984        Object[] finderArgs = new Object[] {
1985                new Long(classNameId), new Long(classPK),
1986                
1987                String.valueOf(start), String.valueOf(end),
1988                String.valueOf(orderByComparator)
1989            };
1990
1991        List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_C,
1992                finderArgs, this);
1993
1994        if (list == null) {
1995            Session session = null;
1996
1997            try {
1998                session = openSession();
1999
2000                StringBundler query = null;
2001
2002                if (orderByComparator != null) {
2003                    query = new StringBundler(4 +
2004                            (orderByComparator.getOrderByFields().length * 3));
2005                }
2006                else {
2007                    query = new StringBundler(4);
2008                }
2009
2010                query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
2011
2012                query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_2);
2013
2014                query.append(_FINDER_COLUMN_C_C_CLASSPK_2);
2015
2016                if (orderByComparator != null) {
2017                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
2018                        orderByComparator);
2019                }
2020
2021                else {
2022                    query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
2023                }
2024
2025                String sql = query.toString();
2026
2027                Query q = session.createQuery(sql);
2028
2029                QueryPos qPos = QueryPos.getInstance(q);
2030
2031                qPos.add(classNameId);
2032
2033                qPos.add(classPK);
2034
2035                list = (List<SocialActivity>)QueryUtil.list(q, getDialect(),
2036                        start, end);
2037            }
2038            catch (Exception e) {
2039                throw processException(e);
2040            }
2041            finally {
2042                if (list == null) {
2043                    list = new ArrayList<SocialActivity>();
2044                }
2045
2046                cacheResult(list);
2047
2048                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_C, finderArgs,
2049                    list);
2050
2051                closeSession(session);
2052            }
2053        }
2054
2055        return list;
2056    }
2057
2058    public SocialActivity findByC_C_First(long classNameId, long classPK,
2059        OrderByComparator orderByComparator)
2060        throws NoSuchActivityException, SystemException {
2061        List<SocialActivity> list = findByC_C(classNameId, classPK, 0, 1,
2062                orderByComparator);
2063
2064        if (list.isEmpty()) {
2065            StringBundler msg = new StringBundler(6);
2066
2067            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2068
2069            msg.append("classNameId=");
2070            msg.append(classNameId);
2071
2072            msg.append(", classPK=");
2073            msg.append(classPK);
2074
2075            msg.append(StringPool.CLOSE_CURLY_BRACE);
2076
2077            throw new NoSuchActivityException(msg.toString());
2078        }
2079        else {
2080            return list.get(0);
2081        }
2082    }
2083
2084    public SocialActivity findByC_C_Last(long classNameId, long classPK,
2085        OrderByComparator orderByComparator)
2086        throws NoSuchActivityException, SystemException {
2087        int count = countByC_C(classNameId, classPK);
2088
2089        List<SocialActivity> list = findByC_C(classNameId, classPK, count - 1,
2090                count, orderByComparator);
2091
2092        if (list.isEmpty()) {
2093            StringBundler msg = new StringBundler(6);
2094
2095            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2096
2097            msg.append("classNameId=");
2098            msg.append(classNameId);
2099
2100            msg.append(", classPK=");
2101            msg.append(classPK);
2102
2103            msg.append(StringPool.CLOSE_CURLY_BRACE);
2104
2105            throw new NoSuchActivityException(msg.toString());
2106        }
2107        else {
2108            return list.get(0);
2109        }
2110    }
2111
2112    public SocialActivity[] findByC_C_PrevAndNext(long activityId,
2113        long classNameId, long classPK, OrderByComparator orderByComparator)
2114        throws NoSuchActivityException, SystemException {
2115        SocialActivity socialActivity = findByPrimaryKey(activityId);
2116
2117        Session session = null;
2118
2119        try {
2120            session = openSession();
2121
2122            SocialActivity[] array = new SocialActivityImpl[3];
2123
2124            array[0] = getByC_C_PrevAndNext(session, socialActivity,
2125                    classNameId, classPK, orderByComparator, true);
2126
2127            array[1] = socialActivity;
2128
2129            array[2] = getByC_C_PrevAndNext(session, socialActivity,
2130                    classNameId, classPK, orderByComparator, false);
2131
2132            return array;
2133        }
2134        catch (Exception e) {
2135            throw processException(e);
2136        }
2137        finally {
2138            closeSession(session);
2139        }
2140    }
2141
2142    protected SocialActivity getByC_C_PrevAndNext(Session session,
2143        SocialActivity socialActivity, long classNameId, long classPK,
2144        OrderByComparator orderByComparator, boolean previous) {
2145        StringBundler query = null;
2146
2147        if (orderByComparator != null) {
2148            query = new StringBundler(6 +
2149                    (orderByComparator.getOrderByFields().length * 6));
2150        }
2151        else {
2152            query = new StringBundler(3);
2153        }
2154
2155        query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
2156
2157        query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_2);
2158
2159        query.append(_FINDER_COLUMN_C_C_CLASSPK_2);
2160
2161        if (orderByComparator != null) {
2162            String[] orderByFields = orderByComparator.getOrderByFields();
2163
2164            if (orderByFields.length > 0) {
2165                query.append(WHERE_AND);
2166            }
2167
2168            for (int i = 0; i < orderByFields.length; i++) {
2169                query.append(_ORDER_BY_ENTITY_ALIAS);
2170                query.append(orderByFields[i]);
2171
2172                if ((i + 1) < orderByFields.length) {
2173                    if (orderByComparator.isAscending() ^ previous) {
2174                        query.append(WHERE_GREATER_THAN_HAS_NEXT);
2175                    }
2176                    else {
2177                        query.append(WHERE_LESSER_THAN_HAS_NEXT);
2178                    }
2179                }
2180                else {
2181                    if (orderByComparator.isAscending() ^ previous) {
2182                        query.append(WHERE_GREATER_THAN);
2183                    }
2184                    else {
2185                        query.append(WHERE_LESSER_THAN);
2186                    }
2187                }
2188            }
2189
2190            query.append(ORDER_BY_CLAUSE);
2191
2192            for (int i = 0; i < orderByFields.length; i++) {
2193                query.append(_ORDER_BY_ENTITY_ALIAS);
2194                query.append(orderByFields[i]);
2195
2196                if ((i + 1) < orderByFields.length) {
2197                    if (orderByComparator.isAscending() ^ previous) {
2198                        query.append(ORDER_BY_ASC_HAS_NEXT);
2199                    }
2200                    else {
2201                        query.append(ORDER_BY_DESC_HAS_NEXT);
2202                    }
2203                }
2204                else {
2205                    if (orderByComparator.isAscending() ^ previous) {
2206                        query.append(ORDER_BY_ASC);
2207                    }
2208                    else {
2209                        query.append(ORDER_BY_DESC);
2210                    }
2211                }
2212            }
2213        }
2214
2215        else {
2216            query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
2217        }
2218
2219        String sql = query.toString();
2220
2221        Query q = session.createQuery(sql);
2222
2223        q.setFirstResult(0);
2224        q.setMaxResults(2);
2225
2226        QueryPos qPos = QueryPos.getInstance(q);
2227
2228        qPos.add(classNameId);
2229
2230        qPos.add(classPK);
2231
2232        if (orderByComparator != null) {
2233            Object[] values = orderByComparator.getOrderByValues(socialActivity);
2234
2235            for (Object value : values) {
2236                qPos.add(value);
2237            }
2238        }
2239
2240        List<SocialActivity> list = q.list();
2241
2242        if (list.size() == 2) {
2243            return list.get(1);
2244        }
2245        else {
2246            return null;
2247        }
2248    }
2249
2250    public List<SocialActivity> findByM_C_C(long mirrorActivityId,
2251        long classNameId, long classPK) throws SystemException {
2252        return findByM_C_C(mirrorActivityId, classNameId, classPK,
2253            QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
2254    }
2255
2256    public List<SocialActivity> findByM_C_C(long mirrorActivityId,
2257        long classNameId, long classPK, int start, int end)
2258        throws SystemException {
2259        return findByM_C_C(mirrorActivityId, classNameId, classPK, start, end,
2260            null);
2261    }
2262
2263    public List<SocialActivity> findByM_C_C(long mirrorActivityId,
2264        long classNameId, long classPK, int start, int end,
2265        OrderByComparator orderByComparator) throws SystemException {
2266        Object[] finderArgs = new Object[] {
2267                new Long(mirrorActivityId), new Long(classNameId),
2268                new Long(classPK),
2269                
2270                String.valueOf(start), String.valueOf(end),
2271                String.valueOf(orderByComparator)
2272            };
2273
2274        List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_M_C_C,
2275                finderArgs, this);
2276
2277        if (list == null) {
2278            Session session = null;
2279
2280            try {
2281                session = openSession();
2282
2283                StringBundler query = null;
2284
2285                if (orderByComparator != null) {
2286                    query = new StringBundler(5 +
2287                            (orderByComparator.getOrderByFields().length * 3));
2288                }
2289                else {
2290                    query = new StringBundler(5);
2291                }
2292
2293                query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
2294
2295                query.append(_FINDER_COLUMN_M_C_C_MIRRORACTIVITYID_2);
2296
2297                query.append(_FINDER_COLUMN_M_C_C_CLASSNAMEID_2);
2298
2299                query.append(_FINDER_COLUMN_M_C_C_CLASSPK_2);
2300
2301                if (orderByComparator != null) {
2302                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
2303                        orderByComparator);
2304                }
2305
2306                else {
2307                    query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
2308                }
2309
2310                String sql = query.toString();
2311
2312                Query q = session.createQuery(sql);
2313
2314                QueryPos qPos = QueryPos.getInstance(q);
2315
2316                qPos.add(mirrorActivityId);
2317
2318                qPos.add(classNameId);
2319
2320                qPos.add(classPK);
2321
2322                list = (List<SocialActivity>)QueryUtil.list(q, getDialect(),
2323                        start, end);
2324            }
2325            catch (Exception e) {
2326                throw processException(e);
2327            }
2328            finally {
2329                if (list == null) {
2330                    list = new ArrayList<SocialActivity>();
2331                }
2332
2333                cacheResult(list);
2334
2335                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_M_C_C,
2336                    finderArgs, list);
2337
2338                closeSession(session);
2339            }
2340        }
2341
2342        return list;
2343    }
2344
2345    public SocialActivity findByM_C_C_First(long mirrorActivityId,
2346        long classNameId, long classPK, OrderByComparator orderByComparator)
2347        throws NoSuchActivityException, SystemException {
2348        List<SocialActivity> list = findByM_C_C(mirrorActivityId, classNameId,
2349                classPK, 0, 1, orderByComparator);
2350
2351        if (list.isEmpty()) {
2352            StringBundler msg = new StringBundler(8);
2353
2354            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2355
2356            msg.append("mirrorActivityId=");
2357            msg.append(mirrorActivityId);
2358
2359            msg.append(", classNameId=");
2360            msg.append(classNameId);
2361
2362            msg.append(", classPK=");
2363            msg.append(classPK);
2364
2365            msg.append(StringPool.CLOSE_CURLY_BRACE);
2366
2367            throw new NoSuchActivityException(msg.toString());
2368        }
2369        else {
2370            return list.get(0);
2371        }
2372    }
2373
2374    public SocialActivity findByM_C_C_Last(long mirrorActivityId,
2375        long classNameId, long classPK, OrderByComparator orderByComparator)
2376        throws NoSuchActivityException, SystemException {
2377        int count = countByM_C_C(mirrorActivityId, classNameId, classPK);
2378
2379        List<SocialActivity> list = findByM_C_C(mirrorActivityId, classNameId,
2380                classPK, count - 1, count, orderByComparator);
2381
2382        if (list.isEmpty()) {
2383            StringBundler msg = new StringBundler(8);
2384
2385            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2386
2387            msg.append("mirrorActivityId=");
2388            msg.append(mirrorActivityId);
2389
2390            msg.append(", classNameId=");
2391            msg.append(classNameId);
2392
2393            msg.append(", classPK=");
2394            msg.append(classPK);
2395
2396            msg.append(StringPool.CLOSE_CURLY_BRACE);
2397
2398            throw new NoSuchActivityException(msg.toString());
2399        }
2400        else {
2401            return list.get(0);
2402        }
2403    }
2404
2405    public SocialActivity[] findByM_C_C_PrevAndNext(long activityId,
2406        long mirrorActivityId, long classNameId, long classPK,
2407        OrderByComparator orderByComparator)
2408        throws NoSuchActivityException, SystemException {
2409        SocialActivity socialActivity = findByPrimaryKey(activityId);
2410
2411        Session session = null;
2412
2413        try {
2414            session = openSession();
2415
2416            SocialActivity[] array = new SocialActivityImpl[3];
2417
2418            array[0] = getByM_C_C_PrevAndNext(session, socialActivity,
2419                    mirrorActivityId, classNameId, classPK, orderByComparator,
2420                    true);
2421
2422            array[1] = socialActivity;
2423
2424            array[2] = getByM_C_C_PrevAndNext(session, socialActivity,
2425                    mirrorActivityId, classNameId, classPK, orderByComparator,
2426                    false);
2427
2428            return array;
2429        }
2430        catch (Exception e) {
2431            throw processException(e);
2432        }
2433        finally {
2434            closeSession(session);
2435        }
2436    }
2437
2438    protected SocialActivity getByM_C_C_PrevAndNext(Session session,
2439        SocialActivity socialActivity, long mirrorActivityId, long classNameId,
2440        long classPK, OrderByComparator orderByComparator, boolean previous) {
2441        StringBundler query = null;
2442
2443        if (orderByComparator != null) {
2444            query = new StringBundler(6 +
2445                    (orderByComparator.getOrderByFields().length * 6));
2446        }
2447        else {
2448            query = new StringBundler(3);
2449        }
2450
2451        query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
2452
2453        query.append(_FINDER_COLUMN_M_C_C_MIRRORACTIVITYID_2);
2454
2455        query.append(_FINDER_COLUMN_M_C_C_CLASSNAMEID_2);
2456
2457        query.append(_FINDER_COLUMN_M_C_C_CLASSPK_2);
2458
2459        if (orderByComparator != null) {
2460            String[] orderByFields = orderByComparator.getOrderByFields();
2461
2462            if (orderByFields.length > 0) {
2463                query.append(WHERE_AND);
2464            }
2465
2466            for (int i = 0; i < orderByFields.length; i++) {
2467                query.append(_ORDER_BY_ENTITY_ALIAS);
2468                query.append(orderByFields[i]);
2469
2470                if ((i + 1) < orderByFields.length) {
2471                    if (orderByComparator.isAscending() ^ previous) {
2472                        query.append(WHERE_GREATER_THAN_HAS_NEXT);
2473                    }
2474                    else {
2475                        query.append(WHERE_LESSER_THAN_HAS_NEXT);
2476                    }
2477                }
2478                else {
2479                    if (orderByComparator.isAscending() ^ previous) {
2480                        query.append(WHERE_GREATER_THAN);
2481                    }
2482                    else {
2483                        query.append(WHERE_LESSER_THAN);
2484                    }
2485                }
2486            }
2487
2488            query.append(ORDER_BY_CLAUSE);
2489
2490            for (int i = 0; i < orderByFields.length; i++) {
2491                query.append(_ORDER_BY_ENTITY_ALIAS);
2492                query.append(orderByFields[i]);
2493
2494                if ((i + 1) < orderByFields.length) {
2495                    if (orderByComparator.isAscending() ^ previous) {
2496                        query.append(ORDER_BY_ASC_HAS_NEXT);
2497                    }
2498                    else {
2499                        query.append(ORDER_BY_DESC_HAS_NEXT);
2500                    }
2501                }
2502                else {
2503                    if (orderByComparator.isAscending() ^ previous) {
2504                        query.append(ORDER_BY_ASC);
2505                    }
2506                    else {
2507                        query.append(ORDER_BY_DESC);
2508                    }
2509                }
2510            }
2511        }
2512
2513        else {
2514            query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
2515        }
2516
2517        String sql = query.toString();
2518
2519        Query q = session.createQuery(sql);
2520
2521        q.setFirstResult(0);
2522        q.setMaxResults(2);
2523
2524        QueryPos qPos = QueryPos.getInstance(q);
2525
2526        qPos.add(mirrorActivityId);
2527
2528        qPos.add(classNameId);
2529
2530        qPos.add(classPK);
2531
2532        if (orderByComparator != null) {
2533            Object[] values = orderByComparator.getOrderByValues(socialActivity);
2534
2535            for (Object value : values) {
2536                qPos.add(value);
2537            }
2538        }
2539
2540        List<SocialActivity> list = q.list();
2541
2542        if (list.size() == 2) {
2543            return list.get(1);
2544        }
2545        else {
2546            return null;
2547        }
2548    }
2549
2550    public SocialActivity findByG_U_CD_C_C_T_R(long groupId, long userId,
2551        long createDate, long classNameId, long classPK, int type,
2552        long receiverUserId) throws NoSuchActivityException, SystemException {
2553        SocialActivity socialActivity = fetchByG_U_CD_C_C_T_R(groupId, userId,
2554                createDate, classNameId, classPK, type, receiverUserId);
2555
2556        if (socialActivity == null) {
2557            StringBundler msg = new StringBundler(16);
2558
2559            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2560
2561            msg.append("groupId=");
2562            msg.append(groupId);
2563
2564            msg.append(", userId=");
2565            msg.append(userId);
2566
2567            msg.append(", createDate=");
2568            msg.append(createDate);
2569
2570            msg.append(", classNameId=");
2571            msg.append(classNameId);
2572
2573            msg.append(", classPK=");
2574            msg.append(classPK);
2575
2576            msg.append(", type=");
2577            msg.append(type);
2578
2579            msg.append(", receiverUserId=");
2580            msg.append(receiverUserId);
2581
2582            msg.append(StringPool.CLOSE_CURLY_BRACE);
2583
2584            if (_log.isWarnEnabled()) {
2585                _log.warn(msg.toString());
2586            }
2587
2588            throw new NoSuchActivityException(msg.toString());
2589        }
2590
2591        return socialActivity;
2592    }
2593
2594    public SocialActivity fetchByG_U_CD_C_C_T_R(long groupId, long userId,
2595        long createDate, long classNameId, long classPK, int type,
2596        long receiverUserId) throws SystemException {
2597        return fetchByG_U_CD_C_C_T_R(groupId, userId, createDate, classNameId,
2598            classPK, type, receiverUserId, true);
2599    }
2600
2601    public SocialActivity fetchByG_U_CD_C_C_T_R(long groupId, long userId,
2602        long createDate, long classNameId, long classPK, int type,
2603        long receiverUserId, boolean retrieveFromCache)
2604        throws SystemException {
2605        Object[] finderArgs = new Object[] {
2606                new Long(groupId), new Long(userId), new Long(createDate),
2607                new Long(classNameId), new Long(classPK), new Integer(type),
2608                new Long(receiverUserId)
2609            };
2610
2611        Object result = null;
2612
2613        if (retrieveFromCache) {
2614            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
2615                    finderArgs, this);
2616        }
2617
2618        if (result == null) {
2619            Session session = null;
2620
2621            try {
2622                session = openSession();
2623
2624                StringBundler query = new StringBundler(9);
2625
2626                query.append(_SQL_SELECT_SOCIALACTIVITY_WHERE);
2627
2628                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_GROUPID_2);
2629
2630                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_USERID_2);
2631
2632                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_CREATEDATE_2);
2633
2634                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_CLASSNAMEID_2);
2635
2636                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_CLASSPK_2);
2637
2638                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_TYPE_2);
2639
2640                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_RECEIVERUSERID_2);
2641
2642                query.append(SocialActivityModelImpl.ORDER_BY_JPQL);
2643
2644                String sql = query.toString();
2645
2646                Query q = session.createQuery(sql);
2647
2648                QueryPos qPos = QueryPos.getInstance(q);
2649
2650                qPos.add(groupId);
2651
2652                qPos.add(userId);
2653
2654                qPos.add(createDate);
2655
2656                qPos.add(classNameId);
2657
2658                qPos.add(classPK);
2659
2660                qPos.add(type);
2661
2662                qPos.add(receiverUserId);
2663
2664                List<SocialActivity> list = q.list();
2665
2666                result = list;
2667
2668                SocialActivity socialActivity = null;
2669
2670                if (list.isEmpty()) {
2671                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
2672                        finderArgs, list);
2673                }
2674                else {
2675                    socialActivity = list.get(0);
2676
2677                    cacheResult(socialActivity);
2678
2679                    if ((socialActivity.getGroupId() != groupId) ||
2680                            (socialActivity.getUserId() != userId) ||
2681                            (socialActivity.getCreateDate() != createDate) ||
2682                            (socialActivity.getClassNameId() != classNameId) ||
2683                            (socialActivity.getClassPK() != classPK) ||
2684                            (socialActivity.getType() != type) ||
2685                            (socialActivity.getReceiverUserId() != receiverUserId)) {
2686                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
2687                            finderArgs, socialActivity);
2688                    }
2689                }
2690
2691                return socialActivity;
2692            }
2693            catch (Exception e) {
2694                throw processException(e);
2695            }
2696            finally {
2697                if (result == null) {
2698                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_CD_C_C_T_R,
2699                        finderArgs, new ArrayList<SocialActivity>());
2700                }
2701
2702                closeSession(session);
2703            }
2704        }
2705        else {
2706            if (result instanceof List<?>) {
2707                return null;
2708            }
2709            else {
2710                return (SocialActivity)result;
2711            }
2712        }
2713    }
2714
2715    public List<SocialActivity> findAll() throws SystemException {
2716        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
2717    }
2718
2719    public List<SocialActivity> findAll(int start, int end)
2720        throws SystemException {
2721        return findAll(start, end, null);
2722    }
2723
2724    public List<SocialActivity> findAll(int start, int end,
2725        OrderByComparator orderByComparator) throws SystemException {
2726        Object[] finderArgs = new Object[] {
2727                String.valueOf(start), String.valueOf(end),
2728                String.valueOf(orderByComparator)
2729            };
2730
2731        List<SocialActivity> list = (List<SocialActivity>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
2732                finderArgs, this);
2733
2734        if (list == null) {
2735            Session session = null;
2736
2737            try {
2738                session = openSession();
2739
2740                StringBundler query = null;
2741                String sql = null;
2742
2743                if (orderByComparator != null) {
2744                    query = new StringBundler(2 +
2745                            (orderByComparator.getOrderByFields().length * 3));
2746
2747                    query.append(_SQL_SELECT_SOCIALACTIVITY);
2748
2749                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
2750                        orderByComparator);
2751
2752                    sql = query.toString();
2753                }
2754
2755                else {
2756                    sql = _SQL_SELECT_SOCIALACTIVITY.concat(SocialActivityModelImpl.ORDER_BY_JPQL);
2757                }
2758
2759                Query q = session.createQuery(sql);
2760
2761                if (orderByComparator == null) {
2762                    list = (List<SocialActivity>)QueryUtil.list(q,
2763                            getDialect(), start, end, false);
2764
2765                    Collections.sort(list);
2766                }
2767                else {
2768                    list = (List<SocialActivity>)QueryUtil.list(q,
2769                            getDialect(), start, end);
2770                }
2771            }
2772            catch (Exception e) {
2773                throw processException(e);
2774            }
2775            finally {
2776                if (list == null) {
2777                    list = new ArrayList<SocialActivity>();
2778                }
2779
2780                cacheResult(list);
2781
2782                FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
2783
2784                closeSession(session);
2785            }
2786        }
2787
2788        return list;
2789    }
2790
2791    public void removeByGroupId(long groupId) throws SystemException {
2792        for (SocialActivity socialActivity : findByGroupId(groupId)) {
2793            remove(socialActivity);
2794        }
2795    }
2796
2797    public void removeByCompanyId(long companyId) throws SystemException {
2798        for (SocialActivity socialActivity : findByCompanyId(companyId)) {
2799            remove(socialActivity);
2800        }
2801    }
2802
2803    public void removeByUserId(long userId) throws SystemException {
2804        for (SocialActivity socialActivity : findByUserId(userId)) {
2805            remove(socialActivity);
2806        }
2807    }
2808
2809    public void removeByMirrorActivityId(long mirrorActivityId)
2810        throws NoSuchActivityException, SystemException {
2811        SocialActivity socialActivity = findByMirrorActivityId(mirrorActivityId);
2812
2813        remove(socialActivity);
2814    }
2815
2816    public void removeByClassNameId(long classNameId) throws SystemException {
2817        for (SocialActivity socialActivity : findByClassNameId(classNameId)) {
2818            remove(socialActivity);
2819        }
2820    }
2821
2822    public void removeByReceiverUserId(long receiverUserId)
2823        throws SystemException {
2824        for (SocialActivity socialActivity : findByReceiverUserId(
2825                receiverUserId)) {
2826            remove(socialActivity);
2827        }
2828    }
2829
2830    public void removeByC_C(long classNameId, long classPK)
2831        throws SystemException {
2832        for (SocialActivity socialActivity : findByC_C(classNameId, classPK)) {
2833            remove(socialActivity);
2834        }
2835    }
2836
2837    public void removeByM_C_C(long mirrorActivityId, long classNameId,
2838        long classPK) throws SystemException {
2839        for (SocialActivity socialActivity : findByM_C_C(mirrorActivityId,
2840                classNameId, classPK)) {
2841            remove(socialActivity);
2842        }
2843    }
2844
2845    public void removeByG_U_CD_C_C_T_R(long groupId, long userId,
2846        long createDate, long classNameId, long classPK, int type,
2847        long receiverUserId) throws NoSuchActivityException, SystemException {
2848        SocialActivity socialActivity = findByG_U_CD_C_C_T_R(groupId, userId,
2849                createDate, classNameId, classPK, type, receiverUserId);
2850
2851        remove(socialActivity);
2852    }
2853
2854    public void removeAll() throws SystemException {
2855        for (SocialActivity socialActivity : findAll()) {
2856            remove(socialActivity);
2857        }
2858    }
2859
2860    public int countByGroupId(long groupId) throws SystemException {
2861        Object[] finderArgs = new Object[] { new Long(groupId) };
2862
2863        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_GROUPID,
2864                finderArgs, this);
2865
2866        if (count == null) {
2867            Session session = null;
2868
2869            try {
2870                session = openSession();
2871
2872                StringBundler query = new StringBundler(2);
2873
2874                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
2875
2876                query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
2877
2878                String sql = query.toString();
2879
2880                Query q = session.createQuery(sql);
2881
2882                QueryPos qPos = QueryPos.getInstance(q);
2883
2884                qPos.add(groupId);
2885
2886                count = (Long)q.uniqueResult();
2887            }
2888            catch (Exception e) {
2889                throw processException(e);
2890            }
2891            finally {
2892                if (count == null) {
2893                    count = Long.valueOf(0);
2894                }
2895
2896                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_GROUPID,
2897                    finderArgs, count);
2898
2899                closeSession(session);
2900            }
2901        }
2902
2903        return count.intValue();
2904    }
2905
2906    public int countByCompanyId(long companyId) throws SystemException {
2907        Object[] finderArgs = new Object[] { new Long(companyId) };
2908
2909        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_COMPANYID,
2910                finderArgs, this);
2911
2912        if (count == null) {
2913            Session session = null;
2914
2915            try {
2916                session = openSession();
2917
2918                StringBundler query = new StringBundler(2);
2919
2920                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
2921
2922                query.append(_FINDER_COLUMN_COMPANYID_COMPANYID_2);
2923
2924                String sql = query.toString();
2925
2926                Query q = session.createQuery(sql);
2927
2928                QueryPos qPos = QueryPos.getInstance(q);
2929
2930                qPos.add(companyId);
2931
2932                count = (Long)q.uniqueResult();
2933            }
2934            catch (Exception e) {
2935                throw processException(e);
2936            }
2937            finally {
2938                if (count == null) {
2939                    count = Long.valueOf(0);
2940                }
2941
2942                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYID,
2943                    finderArgs, count);
2944
2945                closeSession(session);
2946            }
2947        }
2948
2949        return count.intValue();
2950    }
2951
2952    public int countByUserId(long userId) throws SystemException {
2953        Object[] finderArgs = new Object[] { new Long(userId) };
2954
2955        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_USERID,
2956                finderArgs, this);
2957
2958        if (count == null) {
2959            Session session = null;
2960
2961            try {
2962                session = openSession();
2963
2964                StringBundler query = new StringBundler(2);
2965
2966                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
2967
2968                query.append(_FINDER_COLUMN_USERID_USERID_2);
2969
2970                String sql = query.toString();
2971
2972                Query q = session.createQuery(sql);
2973
2974                QueryPos qPos = QueryPos.getInstance(q);
2975
2976                qPos.add(userId);
2977
2978                count = (Long)q.uniqueResult();
2979            }
2980            catch (Exception e) {
2981                throw processException(e);
2982            }
2983            finally {
2984                if (count == null) {
2985                    count = Long.valueOf(0);
2986                }
2987
2988                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERID,
2989                    finderArgs, count);
2990
2991                closeSession(session);
2992            }
2993        }
2994
2995        return count.intValue();
2996    }
2997
2998    public int countByMirrorActivityId(long mirrorActivityId)
2999        throws SystemException {
3000        Object[] finderArgs = new Object[] { new Long(mirrorActivityId) };
3001
3002        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_MIRRORACTIVITYID,
3003                finderArgs, this);
3004
3005        if (count == null) {
3006            Session session = null;
3007
3008            try {
3009                session = openSession();
3010
3011                StringBundler query = new StringBundler(2);
3012
3013                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
3014
3015                query.append(_FINDER_COLUMN_MIRRORACTIVITYID_MIRRORACTIVITYID_2);
3016
3017                String sql = query.toString();
3018
3019                Query q = session.createQuery(sql);
3020
3021                QueryPos qPos = QueryPos.getInstance(q);
3022
3023                qPos.add(mirrorActivityId);
3024
3025                count = (Long)q.uniqueResult();
3026            }
3027            catch (Exception e) {
3028                throw processException(e);
3029            }
3030            finally {
3031                if (count == null) {
3032                    count = Long.valueOf(0);
3033                }
3034
3035                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_MIRRORACTIVITYID,
3036                    finderArgs, count);
3037
3038                closeSession(session);
3039            }
3040        }
3041
3042        return count.intValue();
3043    }
3044
3045    public int countByClassNameId(long classNameId) throws SystemException {
3046        Object[] finderArgs = new Object[] { new Long(classNameId) };
3047
3048        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_CLASSNAMEID,
3049                finderArgs, this);
3050
3051        if (count == null) {
3052            Session session = null;
3053
3054            try {
3055                session = openSession();
3056
3057                StringBundler query = new StringBundler(2);
3058
3059                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
3060
3061                query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
3062
3063                String sql = query.toString();
3064
3065                Query q = session.createQuery(sql);
3066
3067                QueryPos qPos = QueryPos.getInstance(q);
3068
3069                qPos.add(classNameId);
3070
3071                count = (Long)q.uniqueResult();
3072            }
3073            catch (Exception e) {
3074                throw processException(e);
3075            }
3076            finally {
3077                if (count == null) {
3078                    count = Long.valueOf(0);
3079                }
3080
3081                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_CLASSNAMEID,
3082                    finderArgs, count);
3083
3084                closeSession(session);
3085            }
3086        }
3087
3088        return count.intValue();
3089    }
3090
3091    public int countByReceiverUserId(long receiverUserId)
3092        throws SystemException {
3093        Object[] finderArgs = new Object[] { new Long(receiverUserId) };
3094
3095        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_RECEIVERUSERID,
3096                finderArgs, this);
3097
3098        if (count == null) {
3099            Session session = null;
3100
3101            try {
3102                session = openSession();
3103
3104                StringBundler query = new StringBundler(2);
3105
3106                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
3107
3108                query.append(_FINDER_COLUMN_RECEIVERUSERID_RECEIVERUSERID_2);
3109
3110                String sql = query.toString();
3111
3112                Query q = session.createQuery(sql);
3113
3114                QueryPos qPos = QueryPos.getInstance(q);
3115
3116                qPos.add(receiverUserId);
3117
3118                count = (Long)q.uniqueResult();
3119            }
3120            catch (Exception e) {
3121                throw processException(e);
3122            }
3123            finally {
3124                if (count == null) {
3125                    count = Long.valueOf(0);
3126                }
3127
3128                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_RECEIVERUSERID,
3129                    finderArgs, count);
3130
3131                closeSession(session);
3132            }
3133        }
3134
3135        return count.intValue();
3136    }
3137
3138    public int countByC_C(long classNameId, long classPK)
3139        throws SystemException {
3140        Object[] finderArgs = new Object[] {
3141                new Long(classNameId), new Long(classPK)
3142            };
3143
3144        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_C,
3145                finderArgs, this);
3146
3147        if (count == null) {
3148            Session session = null;
3149
3150            try {
3151                session = openSession();
3152
3153                StringBundler query = new StringBundler(3);
3154
3155                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
3156
3157                query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_2);
3158
3159                query.append(_FINDER_COLUMN_C_C_CLASSPK_2);
3160
3161                String sql = query.toString();
3162
3163                Query q = session.createQuery(sql);
3164
3165                QueryPos qPos = QueryPos.getInstance(q);
3166
3167                qPos.add(classNameId);
3168
3169                qPos.add(classPK);
3170
3171                count = (Long)q.uniqueResult();
3172            }
3173            catch (Exception e) {
3174                throw processException(e);
3175            }
3176            finally {
3177                if (count == null) {
3178                    count = Long.valueOf(0);
3179                }
3180
3181                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C, finderArgs,
3182                    count);
3183
3184                closeSession(session);
3185            }
3186        }
3187
3188        return count.intValue();
3189    }
3190
3191    public int countByM_C_C(long mirrorActivityId, long classNameId,
3192        long classPK) throws SystemException {
3193        Object[] finderArgs = new Object[] {
3194                new Long(mirrorActivityId), new Long(classNameId),
3195                new Long(classPK)
3196            };
3197
3198        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_M_C_C,
3199                finderArgs, this);
3200
3201        if (count == null) {
3202            Session session = null;
3203
3204            try {
3205                session = openSession();
3206
3207                StringBundler query = new StringBundler(4);
3208
3209                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
3210
3211                query.append(_FINDER_COLUMN_M_C_C_MIRRORACTIVITYID_2);
3212
3213                query.append(_FINDER_COLUMN_M_C_C_CLASSNAMEID_2);
3214
3215                query.append(_FINDER_COLUMN_M_C_C_CLASSPK_2);
3216
3217                String sql = query.toString();
3218
3219                Query q = session.createQuery(sql);
3220
3221                QueryPos qPos = QueryPos.getInstance(q);
3222
3223                qPos.add(mirrorActivityId);
3224
3225                qPos.add(classNameId);
3226
3227                qPos.add(classPK);
3228
3229                count = (Long)q.uniqueResult();
3230            }
3231            catch (Exception e) {
3232                throw processException(e);
3233            }
3234            finally {
3235                if (count == null) {
3236                    count = Long.valueOf(0);
3237                }
3238
3239                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_M_C_C,
3240                    finderArgs, count);
3241
3242                closeSession(session);
3243            }
3244        }
3245
3246        return count.intValue();
3247    }
3248
3249    public int countByG_U_CD_C_C_T_R(long groupId, long userId,
3250        long createDate, long classNameId, long classPK, int type,
3251        long receiverUserId) throws SystemException {
3252        Object[] finderArgs = new Object[] {
3253                new Long(groupId), new Long(userId), new Long(createDate),
3254                new Long(classNameId), new Long(classPK), new Integer(type),
3255                new Long(receiverUserId)
3256            };
3257
3258        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_U_CD_C_C_T_R,
3259                finderArgs, this);
3260
3261        if (count == null) {
3262            Session session = null;
3263
3264            try {
3265                session = openSession();
3266
3267                StringBundler query = new StringBundler(8);
3268
3269                query.append(_SQL_COUNT_SOCIALACTIVITY_WHERE);
3270
3271                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_GROUPID_2);
3272
3273                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_USERID_2);
3274
3275                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_CREATEDATE_2);
3276
3277                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_CLASSNAMEID_2);
3278
3279                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_CLASSPK_2);
3280
3281                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_TYPE_2);
3282
3283                query.append(_FINDER_COLUMN_G_U_CD_C_C_T_R_RECEIVERUSERID_2);
3284
3285                String sql = query.toString();
3286
3287                Query q = session.createQuery(sql);
3288
3289                QueryPos qPos = QueryPos.getInstance(q);
3290
3291                qPos.add(groupId);
3292
3293                qPos.add(userId);
3294
3295                qPos.add(createDate);
3296
3297                qPos.add(classNameId);
3298
3299                qPos.add(classPK);
3300
3301                qPos.add(type);
3302
3303                qPos.add(receiverUserId);
3304
3305                count = (Long)q.uniqueResult();
3306            }
3307            catch (Exception e) {
3308                throw processException(e);
3309            }
3310            finally {
3311                if (count == null) {
3312                    count = Long.valueOf(0);
3313                }
3314
3315                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U_CD_C_C_T_R,
3316                    finderArgs, count);
3317
3318                closeSession(session);
3319            }
3320        }
3321
3322        return count.intValue();
3323    }
3324
3325    public int countAll() throws SystemException {
3326        Object[] finderArgs = new Object[0];
3327
3328        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
3329                finderArgs, this);
3330
3331        if (count == null) {
3332            Session session = null;
3333
3334            try {
3335                session = openSession();
3336
3337                Query q = session.createQuery(_SQL_COUNT_SOCIALACTIVITY);
3338
3339                count = (Long)q.uniqueResult();
3340            }
3341            catch (Exception e) {
3342                throw processException(e);
3343            }
3344            finally {
3345                if (count == null) {
3346                    count = Long.valueOf(0);
3347                }
3348
3349                FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
3350                    count);
3351
3352                closeSession(session);
3353            }
3354        }
3355
3356        return count.intValue();
3357    }
3358
3359    public void afterPropertiesSet() {
3360        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
3361                    com.liferay.portal.util.PropsUtil.get(
3362                        "value.object.listener.com.liferay.portlet.social.model.SocialActivity")));
3363
3364        if (listenerClassNames.length > 0) {
3365            try {
3366                List<ModelListener<SocialActivity>> listenersList = new ArrayList<ModelListener<SocialActivity>>();
3367
3368                for (String listenerClassName : listenerClassNames) {
3369                    listenersList.add((ModelListener<SocialActivity>)InstanceFactory.newInstance(
3370                            listenerClassName));
3371                }
3372
3373                listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
3374            }
3375            catch (Exception e) {
3376                _log.error(e);
3377            }
3378        }
3379    }
3380
3381    @BeanReference(type = SocialActivityPersistence.class)
3382    protected SocialActivityPersistence socialActivityPersistence;
3383    @BeanReference(type = SocialEquityAssetEntryPersistence.class)
3384    protected SocialEquityAssetEntryPersistence socialEquityAssetEntryPersistence;
3385    @BeanReference(type = SocialEquityHistoryPersistence.class)
3386    protected SocialEquityHistoryPersistence socialEquityHistoryPersistence;
3387    @BeanReference(type = SocialEquityLogPersistence.class)
3388    protected SocialEquityLogPersistence socialEquityLogPersistence;
3389    @BeanReference(type = SocialEquitySettingPersistence.class)
3390    protected SocialEquitySettingPersistence socialEquitySettingPersistence;
3391    @BeanReference(type = SocialEquityUserPersistence.class)
3392    protected SocialEquityUserPersistence socialEquityUserPersistence;
3393    @BeanReference(type = SocialRelationPersistence.class)
3394    protected SocialRelationPersistence socialRelationPersistence;
3395    @BeanReference(type = SocialRequestPersistence.class)
3396    protected SocialRequestPersistence socialRequestPersistence;
3397    @BeanReference(type = GroupPersistence.class)
3398    protected GroupPersistence groupPersistence;
3399    @BeanReference(type = LayoutPersistence.class)
3400    protected LayoutPersistence layoutPersistence;
3401    @BeanReference(type = ResourcePersistence.class)
3402    protected ResourcePersistence resourcePersistence;
3403    @BeanReference(type = UserPersistence.class)
3404    protected UserPersistence userPersistence;
3405    private static final String _SQL_SELECT_SOCIALACTIVITY = "SELECT socialActivity FROM SocialActivity socialActivity";
3406    private static final String _SQL_SELECT_SOCIALACTIVITY_WHERE = "SELECT socialActivity FROM SocialActivity socialActivity WHERE ";
3407    private static final String _SQL_COUNT_SOCIALACTIVITY = "SELECT COUNT(socialActivity) FROM SocialActivity socialActivity";
3408    private static final String _SQL_COUNT_SOCIALACTIVITY_WHERE = "SELECT COUNT(socialActivity) FROM SocialActivity socialActivity WHERE ";
3409    private static final String _FINDER_COLUMN_GROUPID_GROUPID_2 = "socialActivity.groupId = ?";
3410    private static final String _FINDER_COLUMN_COMPANYID_COMPANYID_2 = "socialActivity.companyId = ?";
3411    private static final String _FINDER_COLUMN_USERID_USERID_2 = "socialActivity.userId = ?";
3412    private static final String _FINDER_COLUMN_MIRRORACTIVITYID_MIRRORACTIVITYID_2 =
3413        "socialActivity.mirrorActivityId = ?";
3414    private static final String _FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2 = "socialActivity.classNameId = ?";
3415    private static final String _FINDER_COLUMN_RECEIVERUSERID_RECEIVERUSERID_2 = "socialActivity.receiverUserId = ?";
3416    private static final String _FINDER_COLUMN_C_C_CLASSNAMEID_2 = "socialActivity.classNameId = ? AND ";
3417    private static final String _FINDER_COLUMN_C_C_CLASSPK_2 = "socialActivity.classPK = ?";
3418    private static final String _FINDER_COLUMN_M_C_C_MIRRORACTIVITYID_2 = "socialActivity.mirrorActivityId = ? AND ";
3419    private static final String _FINDER_COLUMN_M_C_C_CLASSNAMEID_2 = "socialActivity.classNameId = ? AND ";
3420    private static final String _FINDER_COLUMN_M_C_C_CLASSPK_2 = "socialActivity.classPK = ?";
3421    private static final String _FINDER_COLUMN_G_U_CD_C_C_T_R_GROUPID_2 = "socialActivity.groupId = ? AND ";
3422    private static final String _FINDER_COLUMN_G_U_CD_C_C_T_R_USERID_2 = "socialActivity.userId = ? AND ";
3423    private static final String _FINDER_COLUMN_G_U_CD_C_C_T_R_CREATEDATE_2 = "socialActivity.createDate = ? AND ";
3424    private static final String _FINDER_COLUMN_G_U_CD_C_C_T_R_CLASSNAMEID_2 = "socialActivity.classNameId = ? AND ";
3425    private static final String _FINDER_COLUMN_G_U_CD_C_C_T_R_CLASSPK_2 = "socialActivity.classPK = ? AND ";
3426    private static final String _FINDER_COLUMN_G_U_CD_C_C_T_R_TYPE_2 = "socialActivity.type = ? AND ";
3427    private static final String _FINDER_COLUMN_G_U_CD_C_C_T_R_RECEIVERUSERID_2 = "socialActivity.receiverUserId = ?";
3428    private static final String _ORDER_BY_ENTITY_ALIAS = "socialActivity.";
3429    private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No SocialActivity exists with the primary key ";
3430    private static final String _NO_SUCH_ENTITY_WITH_KEY = "No SocialActivity exists with the key {";
3431    private static Log _log = LogFactoryUtil.getLog(SocialActivityPersistenceImpl.class);
3432}