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