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