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