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