001
014
015 package com.liferay.portlet.social.service.persistence;
016
017 import com.liferay.portal.kernel.cache.CacheRegistryUtil;
018 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
019 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
020 import com.liferay.portal.kernel.dao.orm.FinderPath;
021 import com.liferay.portal.kernel.dao.orm.Query;
022 import com.liferay.portal.kernel.dao.orm.QueryPos;
023 import com.liferay.portal.kernel.dao.orm.QueryUtil;
024 import com.liferay.portal.kernel.dao.orm.Session;
025 import com.liferay.portal.kernel.exception.SystemException;
026 import com.liferay.portal.kernel.log.Log;
027 import com.liferay.portal.kernel.log.LogFactoryUtil;
028 import com.liferay.portal.kernel.util.GetterUtil;
029 import com.liferay.portal.kernel.util.InstanceFactory;
030 import com.liferay.portal.kernel.util.OrderByComparator;
031 import com.liferay.portal.kernel.util.StringBundler;
032 import com.liferay.portal.kernel.util.StringPool;
033 import com.liferay.portal.kernel.util.StringUtil;
034 import com.liferay.portal.kernel.util.UnmodifiableList;
035 import com.liferay.portal.kernel.util.Validator;
036 import com.liferay.portal.model.CacheModel;
037 import com.liferay.portal.model.ModelListener;
038 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
039
040 import com.liferay.portlet.social.NoSuchActivityAchievementException;
041 import com.liferay.portlet.social.model.SocialActivityAchievement;
042 import com.liferay.portlet.social.model.impl.SocialActivityAchievementImpl;
043 import com.liferay.portlet.social.model.impl.SocialActivityAchievementModelImpl;
044
045 import java.io.Serializable;
046
047 import java.util.ArrayList;
048 import java.util.Collections;
049 import java.util.List;
050
051
063 public class SocialActivityAchievementPersistenceImpl
064 extends BasePersistenceImpl<SocialActivityAchievement>
065 implements SocialActivityAchievementPersistence {
066
071 public static final String FINDER_CLASS_NAME_ENTITY = SocialActivityAchievementImpl.class.getName();
072 public static final String FINDER_CLASS_NAME_LIST_WITH_PAGINATION = FINDER_CLASS_NAME_ENTITY +
073 ".List1";
074 public static final String FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION = FINDER_CLASS_NAME_ENTITY +
075 ".List2";
076 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_ALL = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
077 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
078 SocialActivityAchievementImpl.class,
079 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findAll", new String[0]);
080 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
081 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
082 SocialActivityAchievementImpl.class,
083 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findAll", new String[0]);
084 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
085 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
086 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll",
087 new String[0]);
088 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
089 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
090 SocialActivityAchievementImpl.class,
091 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByGroupId",
092 new String[] {
093 Long.class.getName(),
094
095 Integer.class.getName(), Integer.class.getName(),
096 OrderByComparator.class.getName()
097 });
098 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID =
099 new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
100 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
101 SocialActivityAchievementImpl.class,
102 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByGroupId",
103 new String[] { Long.class.getName() },
104 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK);
105 public static final FinderPath FINDER_PATH_COUNT_BY_GROUPID = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
106 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
107 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
108 "countByGroupId", new String[] { Long.class.getName() });
109
110
117 @Override
118 public List<SocialActivityAchievement> findByGroupId(long groupId)
119 throws SystemException {
120 return findByGroupId(groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
121 }
122
123
136 @Override
137 public List<SocialActivityAchievement> findByGroupId(long groupId,
138 int start, int end) throws SystemException {
139 return findByGroupId(groupId, start, end, null);
140 }
141
142
156 @Override
157 public List<SocialActivityAchievement> findByGroupId(long groupId,
158 int start, int end, OrderByComparator orderByComparator)
159 throws SystemException {
160 boolean pagination = true;
161 FinderPath finderPath = null;
162 Object[] finderArgs = null;
163
164 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
165 (orderByComparator == null)) {
166 pagination = false;
167 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID;
168 finderArgs = new Object[] { groupId };
169 }
170 else {
171 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID;
172 finderArgs = new Object[] { groupId, start, end, orderByComparator };
173 }
174
175 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
176 finderArgs, this);
177
178 if ((list != null) && !list.isEmpty()) {
179 for (SocialActivityAchievement socialActivityAchievement : list) {
180 if ((groupId != socialActivityAchievement.getGroupId())) {
181 list = null;
182
183 break;
184 }
185 }
186 }
187
188 if (list == null) {
189 StringBundler query = null;
190
191 if (orderByComparator != null) {
192 query = new StringBundler(3 +
193 (orderByComparator.getOrderByFields().length * 3));
194 }
195 else {
196 query = new StringBundler(3);
197 }
198
199 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
200
201 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
202
203 if (orderByComparator != null) {
204 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
205 orderByComparator);
206 }
207 else
208 if (pagination) {
209 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
210 }
211
212 String sql = query.toString();
213
214 Session session = null;
215
216 try {
217 session = openSession();
218
219 Query q = session.createQuery(sql);
220
221 QueryPos qPos = QueryPos.getInstance(q);
222
223 qPos.add(groupId);
224
225 if (!pagination) {
226 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
227 getDialect(), start, end, false);
228
229 Collections.sort(list);
230
231 list = new UnmodifiableList<SocialActivityAchievement>(list);
232 }
233 else {
234 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
235 getDialect(), start, end);
236 }
237
238 cacheResult(list);
239
240 FinderCacheUtil.putResult(finderPath, finderArgs, list);
241 }
242 catch (Exception e) {
243 FinderCacheUtil.removeResult(finderPath, finderArgs);
244
245 throw processException(e);
246 }
247 finally {
248 closeSession(session);
249 }
250 }
251
252 return list;
253 }
254
255
264 @Override
265 public SocialActivityAchievement findByGroupId_First(long groupId,
266 OrderByComparator orderByComparator)
267 throws NoSuchActivityAchievementException, SystemException {
268 SocialActivityAchievement socialActivityAchievement = fetchByGroupId_First(groupId,
269 orderByComparator);
270
271 if (socialActivityAchievement != null) {
272 return socialActivityAchievement;
273 }
274
275 StringBundler msg = new StringBundler(4);
276
277 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
278
279 msg.append("groupId=");
280 msg.append(groupId);
281
282 msg.append(StringPool.CLOSE_CURLY_BRACE);
283
284 throw new NoSuchActivityAchievementException(msg.toString());
285 }
286
287
295 @Override
296 public SocialActivityAchievement fetchByGroupId_First(long groupId,
297 OrderByComparator orderByComparator) throws SystemException {
298 List<SocialActivityAchievement> list = findByGroupId(groupId, 0, 1,
299 orderByComparator);
300
301 if (!list.isEmpty()) {
302 return list.get(0);
303 }
304
305 return null;
306 }
307
308
317 @Override
318 public SocialActivityAchievement findByGroupId_Last(long groupId,
319 OrderByComparator orderByComparator)
320 throws NoSuchActivityAchievementException, SystemException {
321 SocialActivityAchievement socialActivityAchievement = fetchByGroupId_Last(groupId,
322 orderByComparator);
323
324 if (socialActivityAchievement != null) {
325 return socialActivityAchievement;
326 }
327
328 StringBundler msg = new StringBundler(4);
329
330 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
331
332 msg.append("groupId=");
333 msg.append(groupId);
334
335 msg.append(StringPool.CLOSE_CURLY_BRACE);
336
337 throw new NoSuchActivityAchievementException(msg.toString());
338 }
339
340
348 @Override
349 public SocialActivityAchievement fetchByGroupId_Last(long groupId,
350 OrderByComparator orderByComparator) throws SystemException {
351 int count = countByGroupId(groupId);
352
353 if (count == 0) {
354 return null;
355 }
356
357 List<SocialActivityAchievement> list = findByGroupId(groupId,
358 count - 1, count, orderByComparator);
359
360 if (!list.isEmpty()) {
361 return list.get(0);
362 }
363
364 return null;
365 }
366
367
377 @Override
378 public SocialActivityAchievement[] findByGroupId_PrevAndNext(
379 long activityAchievementId, long groupId,
380 OrderByComparator orderByComparator)
381 throws NoSuchActivityAchievementException, SystemException {
382 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
383
384 Session session = null;
385
386 try {
387 session = openSession();
388
389 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
390
391 array[0] = getByGroupId_PrevAndNext(session,
392 socialActivityAchievement, groupId, orderByComparator, true);
393
394 array[1] = socialActivityAchievement;
395
396 array[2] = getByGroupId_PrevAndNext(session,
397 socialActivityAchievement, groupId, orderByComparator, false);
398
399 return array;
400 }
401 catch (Exception e) {
402 throw processException(e);
403 }
404 finally {
405 closeSession(session);
406 }
407 }
408
409 protected SocialActivityAchievement getByGroupId_PrevAndNext(
410 Session session, SocialActivityAchievement socialActivityAchievement,
411 long groupId, OrderByComparator orderByComparator, boolean previous) {
412 StringBundler query = null;
413
414 if (orderByComparator != null) {
415 query = new StringBundler(6 +
416 (orderByComparator.getOrderByFields().length * 6));
417 }
418 else {
419 query = new StringBundler(3);
420 }
421
422 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
423
424 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
425
426 if (orderByComparator != null) {
427 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
428
429 if (orderByConditionFields.length > 0) {
430 query.append(WHERE_AND);
431 }
432
433 for (int i = 0; i < orderByConditionFields.length; i++) {
434 query.append(_ORDER_BY_ENTITY_ALIAS);
435 query.append(orderByConditionFields[i]);
436
437 if ((i + 1) < orderByConditionFields.length) {
438 if (orderByComparator.isAscending() ^ previous) {
439 query.append(WHERE_GREATER_THAN_HAS_NEXT);
440 }
441 else {
442 query.append(WHERE_LESSER_THAN_HAS_NEXT);
443 }
444 }
445 else {
446 if (orderByComparator.isAscending() ^ previous) {
447 query.append(WHERE_GREATER_THAN);
448 }
449 else {
450 query.append(WHERE_LESSER_THAN);
451 }
452 }
453 }
454
455 query.append(ORDER_BY_CLAUSE);
456
457 String[] orderByFields = orderByComparator.getOrderByFields();
458
459 for (int i = 0; i < orderByFields.length; i++) {
460 query.append(_ORDER_BY_ENTITY_ALIAS);
461 query.append(orderByFields[i]);
462
463 if ((i + 1) < orderByFields.length) {
464 if (orderByComparator.isAscending() ^ previous) {
465 query.append(ORDER_BY_ASC_HAS_NEXT);
466 }
467 else {
468 query.append(ORDER_BY_DESC_HAS_NEXT);
469 }
470 }
471 else {
472 if (orderByComparator.isAscending() ^ previous) {
473 query.append(ORDER_BY_ASC);
474 }
475 else {
476 query.append(ORDER_BY_DESC);
477 }
478 }
479 }
480 }
481 else {
482 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
483 }
484
485 String sql = query.toString();
486
487 Query q = session.createQuery(sql);
488
489 q.setFirstResult(0);
490 q.setMaxResults(2);
491
492 QueryPos qPos = QueryPos.getInstance(q);
493
494 qPos.add(groupId);
495
496 if (orderByComparator != null) {
497 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
498
499 for (Object value : values) {
500 qPos.add(value);
501 }
502 }
503
504 List<SocialActivityAchievement> list = q.list();
505
506 if (list.size() == 2) {
507 return list.get(1);
508 }
509 else {
510 return null;
511 }
512 }
513
514
520 @Override
521 public void removeByGroupId(long groupId) throws SystemException {
522 for (SocialActivityAchievement socialActivityAchievement : findByGroupId(
523 groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
524 remove(socialActivityAchievement);
525 }
526 }
527
528
535 @Override
536 public int countByGroupId(long groupId) throws SystemException {
537 FinderPath finderPath = FINDER_PATH_COUNT_BY_GROUPID;
538
539 Object[] finderArgs = new Object[] { groupId };
540
541 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
542 this);
543
544 if (count == null) {
545 StringBundler query = new StringBundler(2);
546
547 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
548
549 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
550
551 String sql = query.toString();
552
553 Session session = null;
554
555 try {
556 session = openSession();
557
558 Query q = session.createQuery(sql);
559
560 QueryPos qPos = QueryPos.getInstance(q);
561
562 qPos.add(groupId);
563
564 count = (Long)q.uniqueResult();
565
566 FinderCacheUtil.putResult(finderPath, finderArgs, count);
567 }
568 catch (Exception e) {
569 FinderCacheUtil.removeResult(finderPath, finderArgs);
570
571 throw processException(e);
572 }
573 finally {
574 closeSession(session);
575 }
576 }
577
578 return count.intValue();
579 }
580
581 private static final String _FINDER_COLUMN_GROUPID_GROUPID_2 = "socialActivityAchievement.groupId = ?";
582 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
583 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
584 SocialActivityAchievementImpl.class,
585 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_U",
586 new String[] {
587 Long.class.getName(), Long.class.getName(),
588
589 Integer.class.getName(), Integer.class.getName(),
590 OrderByComparator.class.getName()
591 });
592 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
593 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
594 SocialActivityAchievementImpl.class,
595 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_U",
596 new String[] { Long.class.getName(), Long.class.getName() },
597 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
598 SocialActivityAchievementModelImpl.USERID_COLUMN_BITMASK);
599 public static final FinderPath FINDER_PATH_COUNT_BY_G_U = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
600 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
601 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
602 "countByG_U",
603 new String[] { Long.class.getName(), Long.class.getName() });
604
605
613 @Override
614 public List<SocialActivityAchievement> findByG_U(long groupId, long userId)
615 throws SystemException {
616 return findByG_U(groupId, userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
617 null);
618 }
619
620
634 @Override
635 public List<SocialActivityAchievement> findByG_U(long groupId, long userId,
636 int start, int end) throws SystemException {
637 return findByG_U(groupId, userId, start, end, null);
638 }
639
640
655 @Override
656 public List<SocialActivityAchievement> findByG_U(long groupId, long userId,
657 int start, int end, OrderByComparator orderByComparator)
658 throws SystemException {
659 boolean pagination = true;
660 FinderPath finderPath = null;
661 Object[] finderArgs = null;
662
663 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
664 (orderByComparator == null)) {
665 pagination = false;
666 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U;
667 finderArgs = new Object[] { groupId, userId };
668 }
669 else {
670 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U;
671 finderArgs = new Object[] {
672 groupId, userId,
673
674 start, end, orderByComparator
675 };
676 }
677
678 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
679 finderArgs, this);
680
681 if ((list != null) && !list.isEmpty()) {
682 for (SocialActivityAchievement socialActivityAchievement : list) {
683 if ((groupId != socialActivityAchievement.getGroupId()) ||
684 (userId != socialActivityAchievement.getUserId())) {
685 list = null;
686
687 break;
688 }
689 }
690 }
691
692 if (list == null) {
693 StringBundler query = null;
694
695 if (orderByComparator != null) {
696 query = new StringBundler(4 +
697 (orderByComparator.getOrderByFields().length * 3));
698 }
699 else {
700 query = new StringBundler(4);
701 }
702
703 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
704
705 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
706
707 query.append(_FINDER_COLUMN_G_U_USERID_2);
708
709 if (orderByComparator != null) {
710 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
711 orderByComparator);
712 }
713 else
714 if (pagination) {
715 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
716 }
717
718 String sql = query.toString();
719
720 Session session = null;
721
722 try {
723 session = openSession();
724
725 Query q = session.createQuery(sql);
726
727 QueryPos qPos = QueryPos.getInstance(q);
728
729 qPos.add(groupId);
730
731 qPos.add(userId);
732
733 if (!pagination) {
734 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
735 getDialect(), start, end, false);
736
737 Collections.sort(list);
738
739 list = new UnmodifiableList<SocialActivityAchievement>(list);
740 }
741 else {
742 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
743 getDialect(), start, end);
744 }
745
746 cacheResult(list);
747
748 FinderCacheUtil.putResult(finderPath, finderArgs, list);
749 }
750 catch (Exception e) {
751 FinderCacheUtil.removeResult(finderPath, finderArgs);
752
753 throw processException(e);
754 }
755 finally {
756 closeSession(session);
757 }
758 }
759
760 return list;
761 }
762
763
773 @Override
774 public SocialActivityAchievement findByG_U_First(long groupId, long userId,
775 OrderByComparator orderByComparator)
776 throws NoSuchActivityAchievementException, SystemException {
777 SocialActivityAchievement socialActivityAchievement = fetchByG_U_First(groupId,
778 userId, orderByComparator);
779
780 if (socialActivityAchievement != null) {
781 return socialActivityAchievement;
782 }
783
784 StringBundler msg = new StringBundler(6);
785
786 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
787
788 msg.append("groupId=");
789 msg.append(groupId);
790
791 msg.append(", userId=");
792 msg.append(userId);
793
794 msg.append(StringPool.CLOSE_CURLY_BRACE);
795
796 throw new NoSuchActivityAchievementException(msg.toString());
797 }
798
799
808 @Override
809 public SocialActivityAchievement fetchByG_U_First(long groupId,
810 long userId, OrderByComparator orderByComparator)
811 throws SystemException {
812 List<SocialActivityAchievement> list = findByG_U(groupId, userId, 0, 1,
813 orderByComparator);
814
815 if (!list.isEmpty()) {
816 return list.get(0);
817 }
818
819 return null;
820 }
821
822
832 @Override
833 public SocialActivityAchievement findByG_U_Last(long groupId, long userId,
834 OrderByComparator orderByComparator)
835 throws NoSuchActivityAchievementException, SystemException {
836 SocialActivityAchievement socialActivityAchievement = fetchByG_U_Last(groupId,
837 userId, orderByComparator);
838
839 if (socialActivityAchievement != null) {
840 return socialActivityAchievement;
841 }
842
843 StringBundler msg = new StringBundler(6);
844
845 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
846
847 msg.append("groupId=");
848 msg.append(groupId);
849
850 msg.append(", userId=");
851 msg.append(userId);
852
853 msg.append(StringPool.CLOSE_CURLY_BRACE);
854
855 throw new NoSuchActivityAchievementException(msg.toString());
856 }
857
858
867 @Override
868 public SocialActivityAchievement fetchByG_U_Last(long groupId, long userId,
869 OrderByComparator orderByComparator) throws SystemException {
870 int count = countByG_U(groupId, userId);
871
872 if (count == 0) {
873 return null;
874 }
875
876 List<SocialActivityAchievement> list = findByG_U(groupId, userId,
877 count - 1, count, orderByComparator);
878
879 if (!list.isEmpty()) {
880 return list.get(0);
881 }
882
883 return null;
884 }
885
886
897 @Override
898 public SocialActivityAchievement[] findByG_U_PrevAndNext(
899 long activityAchievementId, long groupId, long userId,
900 OrderByComparator orderByComparator)
901 throws NoSuchActivityAchievementException, SystemException {
902 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
903
904 Session session = null;
905
906 try {
907 session = openSession();
908
909 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
910
911 array[0] = getByG_U_PrevAndNext(session, socialActivityAchievement,
912 groupId, userId, orderByComparator, true);
913
914 array[1] = socialActivityAchievement;
915
916 array[2] = getByG_U_PrevAndNext(session, socialActivityAchievement,
917 groupId, userId, orderByComparator, false);
918
919 return array;
920 }
921 catch (Exception e) {
922 throw processException(e);
923 }
924 finally {
925 closeSession(session);
926 }
927 }
928
929 protected SocialActivityAchievement getByG_U_PrevAndNext(Session session,
930 SocialActivityAchievement socialActivityAchievement, long groupId,
931 long userId, OrderByComparator orderByComparator, boolean previous) {
932 StringBundler query = null;
933
934 if (orderByComparator != null) {
935 query = new StringBundler(6 +
936 (orderByComparator.getOrderByFields().length * 6));
937 }
938 else {
939 query = new StringBundler(3);
940 }
941
942 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
943
944 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
945
946 query.append(_FINDER_COLUMN_G_U_USERID_2);
947
948 if (orderByComparator != null) {
949 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
950
951 if (orderByConditionFields.length > 0) {
952 query.append(WHERE_AND);
953 }
954
955 for (int i = 0; i < orderByConditionFields.length; i++) {
956 query.append(_ORDER_BY_ENTITY_ALIAS);
957 query.append(orderByConditionFields[i]);
958
959 if ((i + 1) < orderByConditionFields.length) {
960 if (orderByComparator.isAscending() ^ previous) {
961 query.append(WHERE_GREATER_THAN_HAS_NEXT);
962 }
963 else {
964 query.append(WHERE_LESSER_THAN_HAS_NEXT);
965 }
966 }
967 else {
968 if (orderByComparator.isAscending() ^ previous) {
969 query.append(WHERE_GREATER_THAN);
970 }
971 else {
972 query.append(WHERE_LESSER_THAN);
973 }
974 }
975 }
976
977 query.append(ORDER_BY_CLAUSE);
978
979 String[] orderByFields = orderByComparator.getOrderByFields();
980
981 for (int i = 0; i < orderByFields.length; i++) {
982 query.append(_ORDER_BY_ENTITY_ALIAS);
983 query.append(orderByFields[i]);
984
985 if ((i + 1) < orderByFields.length) {
986 if (orderByComparator.isAscending() ^ previous) {
987 query.append(ORDER_BY_ASC_HAS_NEXT);
988 }
989 else {
990 query.append(ORDER_BY_DESC_HAS_NEXT);
991 }
992 }
993 else {
994 if (orderByComparator.isAscending() ^ previous) {
995 query.append(ORDER_BY_ASC);
996 }
997 else {
998 query.append(ORDER_BY_DESC);
999 }
1000 }
1001 }
1002 }
1003 else {
1004 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
1005 }
1006
1007 String sql = query.toString();
1008
1009 Query q = session.createQuery(sql);
1010
1011 q.setFirstResult(0);
1012 q.setMaxResults(2);
1013
1014 QueryPos qPos = QueryPos.getInstance(q);
1015
1016 qPos.add(groupId);
1017
1018 qPos.add(userId);
1019
1020 if (orderByComparator != null) {
1021 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
1022
1023 for (Object value : values) {
1024 qPos.add(value);
1025 }
1026 }
1027
1028 List<SocialActivityAchievement> list = q.list();
1029
1030 if (list.size() == 2) {
1031 return list.get(1);
1032 }
1033 else {
1034 return null;
1035 }
1036 }
1037
1038
1045 @Override
1046 public void removeByG_U(long groupId, long userId)
1047 throws SystemException {
1048 for (SocialActivityAchievement socialActivityAchievement : findByG_U(
1049 groupId, userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
1050 remove(socialActivityAchievement);
1051 }
1052 }
1053
1054
1062 @Override
1063 public int countByG_U(long groupId, long userId) throws SystemException {
1064 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_U;
1065
1066 Object[] finderArgs = new Object[] { groupId, userId };
1067
1068 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
1069 this);
1070
1071 if (count == null) {
1072 StringBundler query = new StringBundler(3);
1073
1074 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1075
1076 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
1077
1078 query.append(_FINDER_COLUMN_G_U_USERID_2);
1079
1080 String sql = query.toString();
1081
1082 Session session = null;
1083
1084 try {
1085 session = openSession();
1086
1087 Query q = session.createQuery(sql);
1088
1089 QueryPos qPos = QueryPos.getInstance(q);
1090
1091 qPos.add(groupId);
1092
1093 qPos.add(userId);
1094
1095 count = (Long)q.uniqueResult();
1096
1097 FinderCacheUtil.putResult(finderPath, finderArgs, count);
1098 }
1099 catch (Exception e) {
1100 FinderCacheUtil.removeResult(finderPath, finderArgs);
1101
1102 throw processException(e);
1103 }
1104 finally {
1105 closeSession(session);
1106 }
1107 }
1108
1109 return count.intValue();
1110 }
1111
1112 private static final String _FINDER_COLUMN_G_U_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
1113 private static final String _FINDER_COLUMN_G_U_USERID_2 = "socialActivityAchievement.userId = ?";
1114 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1115 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1116 SocialActivityAchievementImpl.class,
1117 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_N",
1118 new String[] {
1119 Long.class.getName(), String.class.getName(),
1120
1121 Integer.class.getName(), Integer.class.getName(),
1122 OrderByComparator.class.getName()
1123 });
1124 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1125 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1126 SocialActivityAchievementImpl.class,
1127 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_N",
1128 new String[] { Long.class.getName(), String.class.getName() },
1129 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
1130 SocialActivityAchievementModelImpl.NAME_COLUMN_BITMASK);
1131 public static final FinderPath FINDER_PATH_COUNT_BY_G_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1132 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1133 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
1134 "countByG_N",
1135 new String[] { Long.class.getName(), String.class.getName() });
1136
1137
1145 @Override
1146 public List<SocialActivityAchievement> findByG_N(long groupId, String name)
1147 throws SystemException {
1148 return findByG_N(groupId, name, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
1149 null);
1150 }
1151
1152
1166 @Override
1167 public List<SocialActivityAchievement> findByG_N(long groupId, String name,
1168 int start, int end) throws SystemException {
1169 return findByG_N(groupId, name, start, end, null);
1170 }
1171
1172
1187 @Override
1188 public List<SocialActivityAchievement> findByG_N(long groupId, String name,
1189 int start, int end, OrderByComparator orderByComparator)
1190 throws SystemException {
1191 boolean pagination = true;
1192 FinderPath finderPath = null;
1193 Object[] finderArgs = null;
1194
1195 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
1196 (orderByComparator == null)) {
1197 pagination = false;
1198 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N;
1199 finderArgs = new Object[] { groupId, name };
1200 }
1201 else {
1202 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_N;
1203 finderArgs = new Object[] {
1204 groupId, name,
1205
1206 start, end, orderByComparator
1207 };
1208 }
1209
1210 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
1211 finderArgs, this);
1212
1213 if ((list != null) && !list.isEmpty()) {
1214 for (SocialActivityAchievement socialActivityAchievement : list) {
1215 if ((groupId != socialActivityAchievement.getGroupId()) ||
1216 !Validator.equals(name,
1217 socialActivityAchievement.getName())) {
1218 list = null;
1219
1220 break;
1221 }
1222 }
1223 }
1224
1225 if (list == null) {
1226 StringBundler query = null;
1227
1228 if (orderByComparator != null) {
1229 query = new StringBundler(4 +
1230 (orderByComparator.getOrderByFields().length * 3));
1231 }
1232 else {
1233 query = new StringBundler(4);
1234 }
1235
1236 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1237
1238 query.append(_FINDER_COLUMN_G_N_GROUPID_2);
1239
1240 boolean bindName = false;
1241
1242 if (name == null) {
1243 query.append(_FINDER_COLUMN_G_N_NAME_1);
1244 }
1245 else if (name.equals(StringPool.BLANK)) {
1246 query.append(_FINDER_COLUMN_G_N_NAME_3);
1247 }
1248 else {
1249 bindName = true;
1250
1251 query.append(_FINDER_COLUMN_G_N_NAME_2);
1252 }
1253
1254 if (orderByComparator != null) {
1255 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1256 orderByComparator);
1257 }
1258 else
1259 if (pagination) {
1260 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
1261 }
1262
1263 String sql = query.toString();
1264
1265 Session session = null;
1266
1267 try {
1268 session = openSession();
1269
1270 Query q = session.createQuery(sql);
1271
1272 QueryPos qPos = QueryPos.getInstance(q);
1273
1274 qPos.add(groupId);
1275
1276 if (bindName) {
1277 qPos.add(name);
1278 }
1279
1280 if (!pagination) {
1281 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1282 getDialect(), start, end, false);
1283
1284 Collections.sort(list);
1285
1286 list = new UnmodifiableList<SocialActivityAchievement>(list);
1287 }
1288 else {
1289 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1290 getDialect(), start, end);
1291 }
1292
1293 cacheResult(list);
1294
1295 FinderCacheUtil.putResult(finderPath, finderArgs, list);
1296 }
1297 catch (Exception e) {
1298 FinderCacheUtil.removeResult(finderPath, finderArgs);
1299
1300 throw processException(e);
1301 }
1302 finally {
1303 closeSession(session);
1304 }
1305 }
1306
1307 return list;
1308 }
1309
1310
1320 @Override
1321 public SocialActivityAchievement findByG_N_First(long groupId, String name,
1322 OrderByComparator orderByComparator)
1323 throws NoSuchActivityAchievementException, SystemException {
1324 SocialActivityAchievement socialActivityAchievement = fetchByG_N_First(groupId,
1325 name, orderByComparator);
1326
1327 if (socialActivityAchievement != null) {
1328 return socialActivityAchievement;
1329 }
1330
1331 StringBundler msg = new StringBundler(6);
1332
1333 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1334
1335 msg.append("groupId=");
1336 msg.append(groupId);
1337
1338 msg.append(", name=");
1339 msg.append(name);
1340
1341 msg.append(StringPool.CLOSE_CURLY_BRACE);
1342
1343 throw new NoSuchActivityAchievementException(msg.toString());
1344 }
1345
1346
1355 @Override
1356 public SocialActivityAchievement fetchByG_N_First(long groupId,
1357 String name, OrderByComparator orderByComparator)
1358 throws SystemException {
1359 List<SocialActivityAchievement> list = findByG_N(groupId, name, 0, 1,
1360 orderByComparator);
1361
1362 if (!list.isEmpty()) {
1363 return list.get(0);
1364 }
1365
1366 return null;
1367 }
1368
1369
1379 @Override
1380 public SocialActivityAchievement findByG_N_Last(long groupId, String name,
1381 OrderByComparator orderByComparator)
1382 throws NoSuchActivityAchievementException, SystemException {
1383 SocialActivityAchievement socialActivityAchievement = fetchByG_N_Last(groupId,
1384 name, orderByComparator);
1385
1386 if (socialActivityAchievement != null) {
1387 return socialActivityAchievement;
1388 }
1389
1390 StringBundler msg = new StringBundler(6);
1391
1392 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1393
1394 msg.append("groupId=");
1395 msg.append(groupId);
1396
1397 msg.append(", name=");
1398 msg.append(name);
1399
1400 msg.append(StringPool.CLOSE_CURLY_BRACE);
1401
1402 throw new NoSuchActivityAchievementException(msg.toString());
1403 }
1404
1405
1414 @Override
1415 public SocialActivityAchievement fetchByG_N_Last(long groupId, String name,
1416 OrderByComparator orderByComparator) throws SystemException {
1417 int count = countByG_N(groupId, name);
1418
1419 if (count == 0) {
1420 return null;
1421 }
1422
1423 List<SocialActivityAchievement> list = findByG_N(groupId, name,
1424 count - 1, count, orderByComparator);
1425
1426 if (!list.isEmpty()) {
1427 return list.get(0);
1428 }
1429
1430 return null;
1431 }
1432
1433
1444 @Override
1445 public SocialActivityAchievement[] findByG_N_PrevAndNext(
1446 long activityAchievementId, long groupId, String name,
1447 OrderByComparator orderByComparator)
1448 throws NoSuchActivityAchievementException, SystemException {
1449 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
1450
1451 Session session = null;
1452
1453 try {
1454 session = openSession();
1455
1456 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
1457
1458 array[0] = getByG_N_PrevAndNext(session, socialActivityAchievement,
1459 groupId, name, orderByComparator, true);
1460
1461 array[1] = socialActivityAchievement;
1462
1463 array[2] = getByG_N_PrevAndNext(session, socialActivityAchievement,
1464 groupId, name, orderByComparator, false);
1465
1466 return array;
1467 }
1468 catch (Exception e) {
1469 throw processException(e);
1470 }
1471 finally {
1472 closeSession(session);
1473 }
1474 }
1475
1476 protected SocialActivityAchievement getByG_N_PrevAndNext(Session session,
1477 SocialActivityAchievement socialActivityAchievement, long groupId,
1478 String name, OrderByComparator orderByComparator, boolean previous) {
1479 StringBundler query = null;
1480
1481 if (orderByComparator != null) {
1482 query = new StringBundler(6 +
1483 (orderByComparator.getOrderByFields().length * 6));
1484 }
1485 else {
1486 query = new StringBundler(3);
1487 }
1488
1489 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1490
1491 query.append(_FINDER_COLUMN_G_N_GROUPID_2);
1492
1493 boolean bindName = false;
1494
1495 if (name == null) {
1496 query.append(_FINDER_COLUMN_G_N_NAME_1);
1497 }
1498 else if (name.equals(StringPool.BLANK)) {
1499 query.append(_FINDER_COLUMN_G_N_NAME_3);
1500 }
1501 else {
1502 bindName = true;
1503
1504 query.append(_FINDER_COLUMN_G_N_NAME_2);
1505 }
1506
1507 if (orderByComparator != null) {
1508 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
1509
1510 if (orderByConditionFields.length > 0) {
1511 query.append(WHERE_AND);
1512 }
1513
1514 for (int i = 0; i < orderByConditionFields.length; i++) {
1515 query.append(_ORDER_BY_ENTITY_ALIAS);
1516 query.append(orderByConditionFields[i]);
1517
1518 if ((i + 1) < orderByConditionFields.length) {
1519 if (orderByComparator.isAscending() ^ previous) {
1520 query.append(WHERE_GREATER_THAN_HAS_NEXT);
1521 }
1522 else {
1523 query.append(WHERE_LESSER_THAN_HAS_NEXT);
1524 }
1525 }
1526 else {
1527 if (orderByComparator.isAscending() ^ previous) {
1528 query.append(WHERE_GREATER_THAN);
1529 }
1530 else {
1531 query.append(WHERE_LESSER_THAN);
1532 }
1533 }
1534 }
1535
1536 query.append(ORDER_BY_CLAUSE);
1537
1538 String[] orderByFields = orderByComparator.getOrderByFields();
1539
1540 for (int i = 0; i < orderByFields.length; i++) {
1541 query.append(_ORDER_BY_ENTITY_ALIAS);
1542 query.append(orderByFields[i]);
1543
1544 if ((i + 1) < orderByFields.length) {
1545 if (orderByComparator.isAscending() ^ previous) {
1546 query.append(ORDER_BY_ASC_HAS_NEXT);
1547 }
1548 else {
1549 query.append(ORDER_BY_DESC_HAS_NEXT);
1550 }
1551 }
1552 else {
1553 if (orderByComparator.isAscending() ^ previous) {
1554 query.append(ORDER_BY_ASC);
1555 }
1556 else {
1557 query.append(ORDER_BY_DESC);
1558 }
1559 }
1560 }
1561 }
1562 else {
1563 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
1564 }
1565
1566 String sql = query.toString();
1567
1568 Query q = session.createQuery(sql);
1569
1570 q.setFirstResult(0);
1571 q.setMaxResults(2);
1572
1573 QueryPos qPos = QueryPos.getInstance(q);
1574
1575 qPos.add(groupId);
1576
1577 if (bindName) {
1578 qPos.add(name);
1579 }
1580
1581 if (orderByComparator != null) {
1582 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
1583
1584 for (Object value : values) {
1585 qPos.add(value);
1586 }
1587 }
1588
1589 List<SocialActivityAchievement> list = q.list();
1590
1591 if (list.size() == 2) {
1592 return list.get(1);
1593 }
1594 else {
1595 return null;
1596 }
1597 }
1598
1599
1606 @Override
1607 public void removeByG_N(long groupId, String name)
1608 throws SystemException {
1609 for (SocialActivityAchievement socialActivityAchievement : findByG_N(
1610 groupId, name, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
1611 remove(socialActivityAchievement);
1612 }
1613 }
1614
1615
1623 @Override
1624 public int countByG_N(long groupId, String name) throws SystemException {
1625 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_N;
1626
1627 Object[] finderArgs = new Object[] { groupId, name };
1628
1629 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
1630 this);
1631
1632 if (count == null) {
1633 StringBundler query = new StringBundler(3);
1634
1635 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1636
1637 query.append(_FINDER_COLUMN_G_N_GROUPID_2);
1638
1639 boolean bindName = false;
1640
1641 if (name == null) {
1642 query.append(_FINDER_COLUMN_G_N_NAME_1);
1643 }
1644 else if (name.equals(StringPool.BLANK)) {
1645 query.append(_FINDER_COLUMN_G_N_NAME_3);
1646 }
1647 else {
1648 bindName = true;
1649
1650 query.append(_FINDER_COLUMN_G_N_NAME_2);
1651 }
1652
1653 String sql = query.toString();
1654
1655 Session session = null;
1656
1657 try {
1658 session = openSession();
1659
1660 Query q = session.createQuery(sql);
1661
1662 QueryPos qPos = QueryPos.getInstance(q);
1663
1664 qPos.add(groupId);
1665
1666 if (bindName) {
1667 qPos.add(name);
1668 }
1669
1670 count = (Long)q.uniqueResult();
1671
1672 FinderCacheUtil.putResult(finderPath, finderArgs, count);
1673 }
1674 catch (Exception e) {
1675 FinderCacheUtil.removeResult(finderPath, finderArgs);
1676
1677 throw processException(e);
1678 }
1679 finally {
1680 closeSession(session);
1681 }
1682 }
1683
1684 return count.intValue();
1685 }
1686
1687 private static final String _FINDER_COLUMN_G_N_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
1688 private static final String _FINDER_COLUMN_G_N_NAME_1 = "socialActivityAchievement.name IS NULL";
1689 private static final String _FINDER_COLUMN_G_N_NAME_2 = "socialActivityAchievement.name = ?";
1690 private static final String _FINDER_COLUMN_G_N_NAME_3 = "(socialActivityAchievement.name IS NULL OR socialActivityAchievement.name = '')";
1691 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1692 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1693 SocialActivityAchievementImpl.class,
1694 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_F",
1695 new String[] {
1696 Long.class.getName(), Boolean.class.getName(),
1697
1698 Integer.class.getName(), Integer.class.getName(),
1699 OrderByComparator.class.getName()
1700 });
1701 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1702 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1703 SocialActivityAchievementImpl.class,
1704 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_F",
1705 new String[] { Long.class.getName(), Boolean.class.getName() },
1706 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
1707 SocialActivityAchievementModelImpl.FIRSTINGROUP_COLUMN_BITMASK);
1708 public static final FinderPath FINDER_PATH_COUNT_BY_G_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1709 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1710 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
1711 "countByG_F",
1712 new String[] { Long.class.getName(), Boolean.class.getName() });
1713
1714
1722 @Override
1723 public List<SocialActivityAchievement> findByG_F(long groupId,
1724 boolean firstInGroup) throws SystemException {
1725 return findByG_F(groupId, firstInGroup, QueryUtil.ALL_POS,
1726 QueryUtil.ALL_POS, null);
1727 }
1728
1729
1743 @Override
1744 public List<SocialActivityAchievement> findByG_F(long groupId,
1745 boolean firstInGroup, int start, int end) throws SystemException {
1746 return findByG_F(groupId, firstInGroup, start, end, null);
1747 }
1748
1749
1764 @Override
1765 public List<SocialActivityAchievement> findByG_F(long groupId,
1766 boolean firstInGroup, int start, int end,
1767 OrderByComparator orderByComparator) throws SystemException {
1768 boolean pagination = true;
1769 FinderPath finderPath = null;
1770 Object[] finderArgs = null;
1771
1772 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
1773 (orderByComparator == null)) {
1774 pagination = false;
1775 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F;
1776 finderArgs = new Object[] { groupId, firstInGroup };
1777 }
1778 else {
1779 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_F;
1780 finderArgs = new Object[] {
1781 groupId, firstInGroup,
1782
1783 start, end, orderByComparator
1784 };
1785 }
1786
1787 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
1788 finderArgs, this);
1789
1790 if ((list != null) && !list.isEmpty()) {
1791 for (SocialActivityAchievement socialActivityAchievement : list) {
1792 if ((groupId != socialActivityAchievement.getGroupId()) ||
1793 (firstInGroup != socialActivityAchievement.getFirstInGroup())) {
1794 list = null;
1795
1796 break;
1797 }
1798 }
1799 }
1800
1801 if (list == null) {
1802 StringBundler query = null;
1803
1804 if (orderByComparator != null) {
1805 query = new StringBundler(4 +
1806 (orderByComparator.getOrderByFields().length * 3));
1807 }
1808 else {
1809 query = new StringBundler(4);
1810 }
1811
1812 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1813
1814 query.append(_FINDER_COLUMN_G_F_GROUPID_2);
1815
1816 query.append(_FINDER_COLUMN_G_F_FIRSTINGROUP_2);
1817
1818 if (orderByComparator != null) {
1819 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1820 orderByComparator);
1821 }
1822 else
1823 if (pagination) {
1824 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
1825 }
1826
1827 String sql = query.toString();
1828
1829 Session session = null;
1830
1831 try {
1832 session = openSession();
1833
1834 Query q = session.createQuery(sql);
1835
1836 QueryPos qPos = QueryPos.getInstance(q);
1837
1838 qPos.add(groupId);
1839
1840 qPos.add(firstInGroup);
1841
1842 if (!pagination) {
1843 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1844 getDialect(), start, end, false);
1845
1846 Collections.sort(list);
1847
1848 list = new UnmodifiableList<SocialActivityAchievement>(list);
1849 }
1850 else {
1851 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1852 getDialect(), start, end);
1853 }
1854
1855 cacheResult(list);
1856
1857 FinderCacheUtil.putResult(finderPath, finderArgs, list);
1858 }
1859 catch (Exception e) {
1860 FinderCacheUtil.removeResult(finderPath, finderArgs);
1861
1862 throw processException(e);
1863 }
1864 finally {
1865 closeSession(session);
1866 }
1867 }
1868
1869 return list;
1870 }
1871
1872
1882 @Override
1883 public SocialActivityAchievement findByG_F_First(long groupId,
1884 boolean firstInGroup, OrderByComparator orderByComparator)
1885 throws NoSuchActivityAchievementException, SystemException {
1886 SocialActivityAchievement socialActivityAchievement = fetchByG_F_First(groupId,
1887 firstInGroup, orderByComparator);
1888
1889 if (socialActivityAchievement != null) {
1890 return socialActivityAchievement;
1891 }
1892
1893 StringBundler msg = new StringBundler(6);
1894
1895 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1896
1897 msg.append("groupId=");
1898 msg.append(groupId);
1899
1900 msg.append(", firstInGroup=");
1901 msg.append(firstInGroup);
1902
1903 msg.append(StringPool.CLOSE_CURLY_BRACE);
1904
1905 throw new NoSuchActivityAchievementException(msg.toString());
1906 }
1907
1908
1917 @Override
1918 public SocialActivityAchievement fetchByG_F_First(long groupId,
1919 boolean firstInGroup, OrderByComparator orderByComparator)
1920 throws SystemException {
1921 List<SocialActivityAchievement> list = findByG_F(groupId, firstInGroup,
1922 0, 1, orderByComparator);
1923
1924 if (!list.isEmpty()) {
1925 return list.get(0);
1926 }
1927
1928 return null;
1929 }
1930
1931
1941 @Override
1942 public SocialActivityAchievement findByG_F_Last(long groupId,
1943 boolean firstInGroup, OrderByComparator orderByComparator)
1944 throws NoSuchActivityAchievementException, SystemException {
1945 SocialActivityAchievement socialActivityAchievement = fetchByG_F_Last(groupId,
1946 firstInGroup, orderByComparator);
1947
1948 if (socialActivityAchievement != null) {
1949 return socialActivityAchievement;
1950 }
1951
1952 StringBundler msg = new StringBundler(6);
1953
1954 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1955
1956 msg.append("groupId=");
1957 msg.append(groupId);
1958
1959 msg.append(", firstInGroup=");
1960 msg.append(firstInGroup);
1961
1962 msg.append(StringPool.CLOSE_CURLY_BRACE);
1963
1964 throw new NoSuchActivityAchievementException(msg.toString());
1965 }
1966
1967
1976 @Override
1977 public SocialActivityAchievement fetchByG_F_Last(long groupId,
1978 boolean firstInGroup, OrderByComparator orderByComparator)
1979 throws SystemException {
1980 int count = countByG_F(groupId, firstInGroup);
1981
1982 if (count == 0) {
1983 return null;
1984 }
1985
1986 List<SocialActivityAchievement> list = findByG_F(groupId, firstInGroup,
1987 count - 1, count, orderByComparator);
1988
1989 if (!list.isEmpty()) {
1990 return list.get(0);
1991 }
1992
1993 return null;
1994 }
1995
1996
2007 @Override
2008 public SocialActivityAchievement[] findByG_F_PrevAndNext(
2009 long activityAchievementId, long groupId, boolean firstInGroup,
2010 OrderByComparator orderByComparator)
2011 throws NoSuchActivityAchievementException, SystemException {
2012 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
2013
2014 Session session = null;
2015
2016 try {
2017 session = openSession();
2018
2019 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
2020
2021 array[0] = getByG_F_PrevAndNext(session, socialActivityAchievement,
2022 groupId, firstInGroup, orderByComparator, true);
2023
2024 array[1] = socialActivityAchievement;
2025
2026 array[2] = getByG_F_PrevAndNext(session, socialActivityAchievement,
2027 groupId, firstInGroup, orderByComparator, false);
2028
2029 return array;
2030 }
2031 catch (Exception e) {
2032 throw processException(e);
2033 }
2034 finally {
2035 closeSession(session);
2036 }
2037 }
2038
2039 protected SocialActivityAchievement getByG_F_PrevAndNext(Session session,
2040 SocialActivityAchievement socialActivityAchievement, long groupId,
2041 boolean firstInGroup, OrderByComparator orderByComparator,
2042 boolean previous) {
2043 StringBundler query = null;
2044
2045 if (orderByComparator != null) {
2046 query = new StringBundler(6 +
2047 (orderByComparator.getOrderByFields().length * 6));
2048 }
2049 else {
2050 query = new StringBundler(3);
2051 }
2052
2053 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2054
2055 query.append(_FINDER_COLUMN_G_F_GROUPID_2);
2056
2057 query.append(_FINDER_COLUMN_G_F_FIRSTINGROUP_2);
2058
2059 if (orderByComparator != null) {
2060 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
2061
2062 if (orderByConditionFields.length > 0) {
2063 query.append(WHERE_AND);
2064 }
2065
2066 for (int i = 0; i < orderByConditionFields.length; i++) {
2067 query.append(_ORDER_BY_ENTITY_ALIAS);
2068 query.append(orderByConditionFields[i]);
2069
2070 if ((i + 1) < orderByConditionFields.length) {
2071 if (orderByComparator.isAscending() ^ previous) {
2072 query.append(WHERE_GREATER_THAN_HAS_NEXT);
2073 }
2074 else {
2075 query.append(WHERE_LESSER_THAN_HAS_NEXT);
2076 }
2077 }
2078 else {
2079 if (orderByComparator.isAscending() ^ previous) {
2080 query.append(WHERE_GREATER_THAN);
2081 }
2082 else {
2083 query.append(WHERE_LESSER_THAN);
2084 }
2085 }
2086 }
2087
2088 query.append(ORDER_BY_CLAUSE);
2089
2090 String[] orderByFields = orderByComparator.getOrderByFields();
2091
2092 for (int i = 0; i < orderByFields.length; i++) {
2093 query.append(_ORDER_BY_ENTITY_ALIAS);
2094 query.append(orderByFields[i]);
2095
2096 if ((i + 1) < orderByFields.length) {
2097 if (orderByComparator.isAscending() ^ previous) {
2098 query.append(ORDER_BY_ASC_HAS_NEXT);
2099 }
2100 else {
2101 query.append(ORDER_BY_DESC_HAS_NEXT);
2102 }
2103 }
2104 else {
2105 if (orderByComparator.isAscending() ^ previous) {
2106 query.append(ORDER_BY_ASC);
2107 }
2108 else {
2109 query.append(ORDER_BY_DESC);
2110 }
2111 }
2112 }
2113 }
2114 else {
2115 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
2116 }
2117
2118 String sql = query.toString();
2119
2120 Query q = session.createQuery(sql);
2121
2122 q.setFirstResult(0);
2123 q.setMaxResults(2);
2124
2125 QueryPos qPos = QueryPos.getInstance(q);
2126
2127 qPos.add(groupId);
2128
2129 qPos.add(firstInGroup);
2130
2131 if (orderByComparator != null) {
2132 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
2133
2134 for (Object value : values) {
2135 qPos.add(value);
2136 }
2137 }
2138
2139 List<SocialActivityAchievement> list = q.list();
2140
2141 if (list.size() == 2) {
2142 return list.get(1);
2143 }
2144 else {
2145 return null;
2146 }
2147 }
2148
2149
2156 @Override
2157 public void removeByG_F(long groupId, boolean firstInGroup)
2158 throws SystemException {
2159 for (SocialActivityAchievement socialActivityAchievement : findByG_F(
2160 groupId, firstInGroup, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
2161 null)) {
2162 remove(socialActivityAchievement);
2163 }
2164 }
2165
2166
2174 @Override
2175 public int countByG_F(long groupId, boolean firstInGroup)
2176 throws SystemException {
2177 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_F;
2178
2179 Object[] finderArgs = new Object[] { groupId, firstInGroup };
2180
2181 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
2182 this);
2183
2184 if (count == null) {
2185 StringBundler query = new StringBundler(3);
2186
2187 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2188
2189 query.append(_FINDER_COLUMN_G_F_GROUPID_2);
2190
2191 query.append(_FINDER_COLUMN_G_F_FIRSTINGROUP_2);
2192
2193 String sql = query.toString();
2194
2195 Session session = null;
2196
2197 try {
2198 session = openSession();
2199
2200 Query q = session.createQuery(sql);
2201
2202 QueryPos qPos = QueryPos.getInstance(q);
2203
2204 qPos.add(groupId);
2205
2206 qPos.add(firstInGroup);
2207
2208 count = (Long)q.uniqueResult();
2209
2210 FinderCacheUtil.putResult(finderPath, finderArgs, count);
2211 }
2212 catch (Exception e) {
2213 FinderCacheUtil.removeResult(finderPath, finderArgs);
2214
2215 throw processException(e);
2216 }
2217 finally {
2218 closeSession(session);
2219 }
2220 }
2221
2222 return count.intValue();
2223 }
2224
2225 private static final String _FINDER_COLUMN_G_F_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
2226 private static final String _FINDER_COLUMN_G_F_FIRSTINGROUP_2 = "socialActivityAchievement.firstInGroup = ?";
2227 public static final FinderPath FINDER_PATH_FETCH_BY_G_U_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2228 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2229 SocialActivityAchievementImpl.class, FINDER_CLASS_NAME_ENTITY,
2230 "fetchByG_U_N",
2231 new String[] {
2232 Long.class.getName(), Long.class.getName(),
2233 String.class.getName()
2234 },
2235 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
2236 SocialActivityAchievementModelImpl.USERID_COLUMN_BITMASK |
2237 SocialActivityAchievementModelImpl.NAME_COLUMN_BITMASK);
2238 public static final FinderPath FINDER_PATH_COUNT_BY_G_U_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2239 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2240 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
2241 "countByG_U_N",
2242 new String[] {
2243 Long.class.getName(), Long.class.getName(),
2244 String.class.getName()
2245 });
2246
2247
2257 @Override
2258 public SocialActivityAchievement findByG_U_N(long groupId, long userId,
2259 String name) throws NoSuchActivityAchievementException, SystemException {
2260 SocialActivityAchievement socialActivityAchievement = fetchByG_U_N(groupId,
2261 userId, name);
2262
2263 if (socialActivityAchievement == null) {
2264 StringBundler msg = new StringBundler(8);
2265
2266 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2267
2268 msg.append("groupId=");
2269 msg.append(groupId);
2270
2271 msg.append(", userId=");
2272 msg.append(userId);
2273
2274 msg.append(", name=");
2275 msg.append(name);
2276
2277 msg.append(StringPool.CLOSE_CURLY_BRACE);
2278
2279 if (_log.isWarnEnabled()) {
2280 _log.warn(msg.toString());
2281 }
2282
2283 throw new NoSuchActivityAchievementException(msg.toString());
2284 }
2285
2286 return socialActivityAchievement;
2287 }
2288
2289
2298 @Override
2299 public SocialActivityAchievement fetchByG_U_N(long groupId, long userId,
2300 String name) throws SystemException {
2301 return fetchByG_U_N(groupId, userId, name, true);
2302 }
2303
2304
2314 @Override
2315 public SocialActivityAchievement fetchByG_U_N(long groupId, long userId,
2316 String name, boolean retrieveFromCache) throws SystemException {
2317 Object[] finderArgs = new Object[] { groupId, userId, name };
2318
2319 Object result = null;
2320
2321 if (retrieveFromCache) {
2322 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_G_U_N,
2323 finderArgs, this);
2324 }
2325
2326 if (result instanceof SocialActivityAchievement) {
2327 SocialActivityAchievement socialActivityAchievement = (SocialActivityAchievement)result;
2328
2329 if ((groupId != socialActivityAchievement.getGroupId()) ||
2330 (userId != socialActivityAchievement.getUserId()) ||
2331 !Validator.equals(name, socialActivityAchievement.getName())) {
2332 result = null;
2333 }
2334 }
2335
2336 if (result == null) {
2337 StringBundler query = new StringBundler(5);
2338
2339 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2340
2341 query.append(_FINDER_COLUMN_G_U_N_GROUPID_2);
2342
2343 query.append(_FINDER_COLUMN_G_U_N_USERID_2);
2344
2345 boolean bindName = false;
2346
2347 if (name == null) {
2348 query.append(_FINDER_COLUMN_G_U_N_NAME_1);
2349 }
2350 else if (name.equals(StringPool.BLANK)) {
2351 query.append(_FINDER_COLUMN_G_U_N_NAME_3);
2352 }
2353 else {
2354 bindName = true;
2355
2356 query.append(_FINDER_COLUMN_G_U_N_NAME_2);
2357 }
2358
2359 String sql = query.toString();
2360
2361 Session session = null;
2362
2363 try {
2364 session = openSession();
2365
2366 Query q = session.createQuery(sql);
2367
2368 QueryPos qPos = QueryPos.getInstance(q);
2369
2370 qPos.add(groupId);
2371
2372 qPos.add(userId);
2373
2374 if (bindName) {
2375 qPos.add(name);
2376 }
2377
2378 List<SocialActivityAchievement> list = q.list();
2379
2380 if (list.isEmpty()) {
2381 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N,
2382 finderArgs, list);
2383 }
2384 else {
2385 SocialActivityAchievement socialActivityAchievement = list.get(0);
2386
2387 result = socialActivityAchievement;
2388
2389 cacheResult(socialActivityAchievement);
2390
2391 if ((socialActivityAchievement.getGroupId() != groupId) ||
2392 (socialActivityAchievement.getUserId() != userId) ||
2393 (socialActivityAchievement.getName() == null) ||
2394 !socialActivityAchievement.getName().equals(name)) {
2395 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N,
2396 finderArgs, socialActivityAchievement);
2397 }
2398 }
2399 }
2400 catch (Exception e) {
2401 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_N,
2402 finderArgs);
2403
2404 throw processException(e);
2405 }
2406 finally {
2407 closeSession(session);
2408 }
2409 }
2410
2411 if (result instanceof List<?>) {
2412 return null;
2413 }
2414 else {
2415 return (SocialActivityAchievement)result;
2416 }
2417 }
2418
2419
2428 @Override
2429 public SocialActivityAchievement removeByG_U_N(long groupId, long userId,
2430 String name) throws NoSuchActivityAchievementException, SystemException {
2431 SocialActivityAchievement socialActivityAchievement = findByG_U_N(groupId,
2432 userId, name);
2433
2434 return remove(socialActivityAchievement);
2435 }
2436
2437
2446 @Override
2447 public int countByG_U_N(long groupId, long userId, String name)
2448 throws SystemException {
2449 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_U_N;
2450
2451 Object[] finderArgs = new Object[] { groupId, userId, name };
2452
2453 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
2454 this);
2455
2456 if (count == null) {
2457 StringBundler query = new StringBundler(4);
2458
2459 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2460
2461 query.append(_FINDER_COLUMN_G_U_N_GROUPID_2);
2462
2463 query.append(_FINDER_COLUMN_G_U_N_USERID_2);
2464
2465 boolean bindName = false;
2466
2467 if (name == null) {
2468 query.append(_FINDER_COLUMN_G_U_N_NAME_1);
2469 }
2470 else if (name.equals(StringPool.BLANK)) {
2471 query.append(_FINDER_COLUMN_G_U_N_NAME_3);
2472 }
2473 else {
2474 bindName = true;
2475
2476 query.append(_FINDER_COLUMN_G_U_N_NAME_2);
2477 }
2478
2479 String sql = query.toString();
2480
2481 Session session = null;
2482
2483 try {
2484 session = openSession();
2485
2486 Query q = session.createQuery(sql);
2487
2488 QueryPos qPos = QueryPos.getInstance(q);
2489
2490 qPos.add(groupId);
2491
2492 qPos.add(userId);
2493
2494 if (bindName) {
2495 qPos.add(name);
2496 }
2497
2498 count = (Long)q.uniqueResult();
2499
2500 FinderCacheUtil.putResult(finderPath, finderArgs, count);
2501 }
2502 catch (Exception e) {
2503 FinderCacheUtil.removeResult(finderPath, finderArgs);
2504
2505 throw processException(e);
2506 }
2507 finally {
2508 closeSession(session);
2509 }
2510 }
2511
2512 return count.intValue();
2513 }
2514
2515 private static final String _FINDER_COLUMN_G_U_N_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
2516 private static final String _FINDER_COLUMN_G_U_N_USERID_2 = "socialActivityAchievement.userId = ? AND ";
2517 private static final String _FINDER_COLUMN_G_U_N_NAME_1 = "socialActivityAchievement.name IS NULL";
2518 private static final String _FINDER_COLUMN_G_U_N_NAME_2 = "socialActivityAchievement.name = ?";
2519 private static final String _FINDER_COLUMN_G_U_N_NAME_3 = "(socialActivityAchievement.name IS NULL OR socialActivityAchievement.name = '')";
2520 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2521 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2522 SocialActivityAchievementImpl.class,
2523 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_U_F",
2524 new String[] {
2525 Long.class.getName(), Long.class.getName(),
2526 Boolean.class.getName(),
2527
2528 Integer.class.getName(), Integer.class.getName(),
2529 OrderByComparator.class.getName()
2530 });
2531 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2532 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2533 SocialActivityAchievementImpl.class,
2534 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_U_F",
2535 new String[] {
2536 Long.class.getName(), Long.class.getName(),
2537 Boolean.class.getName()
2538 },
2539 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
2540 SocialActivityAchievementModelImpl.USERID_COLUMN_BITMASK |
2541 SocialActivityAchievementModelImpl.FIRSTINGROUP_COLUMN_BITMASK);
2542 public static final FinderPath FINDER_PATH_COUNT_BY_G_U_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2543 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2544 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
2545 "countByG_U_F",
2546 new String[] {
2547 Long.class.getName(), Long.class.getName(),
2548 Boolean.class.getName()
2549 });
2550
2551
2560 @Override
2561 public List<SocialActivityAchievement> findByG_U_F(long groupId,
2562 long userId, boolean firstInGroup) throws SystemException {
2563 return findByG_U_F(groupId, userId, firstInGroup, QueryUtil.ALL_POS,
2564 QueryUtil.ALL_POS, null);
2565 }
2566
2567
2582 @Override
2583 public List<SocialActivityAchievement> findByG_U_F(long groupId,
2584 long userId, boolean firstInGroup, int start, int end)
2585 throws SystemException {
2586 return findByG_U_F(groupId, userId, firstInGroup, start, end, null);
2587 }
2588
2589
2605 @Override
2606 public List<SocialActivityAchievement> findByG_U_F(long groupId,
2607 long userId, boolean firstInGroup, int start, int end,
2608 OrderByComparator orderByComparator) throws SystemException {
2609 boolean pagination = true;
2610 FinderPath finderPath = null;
2611 Object[] finderArgs = null;
2612
2613 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
2614 (orderByComparator == null)) {
2615 pagination = false;
2616 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F;
2617 finderArgs = new Object[] { groupId, userId, firstInGroup };
2618 }
2619 else {
2620 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U_F;
2621 finderArgs = new Object[] {
2622 groupId, userId, firstInGroup,
2623
2624 start, end, orderByComparator
2625 };
2626 }
2627
2628 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
2629 finderArgs, this);
2630
2631 if ((list != null) && !list.isEmpty()) {
2632 for (SocialActivityAchievement socialActivityAchievement : list) {
2633 if ((groupId != socialActivityAchievement.getGroupId()) ||
2634 (userId != socialActivityAchievement.getUserId()) ||
2635 (firstInGroup != socialActivityAchievement.getFirstInGroup())) {
2636 list = null;
2637
2638 break;
2639 }
2640 }
2641 }
2642
2643 if (list == null) {
2644 StringBundler query = null;
2645
2646 if (orderByComparator != null) {
2647 query = new StringBundler(5 +
2648 (orderByComparator.getOrderByFields().length * 3));
2649 }
2650 else {
2651 query = new StringBundler(5);
2652 }
2653
2654 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2655
2656 query.append(_FINDER_COLUMN_G_U_F_GROUPID_2);
2657
2658 query.append(_FINDER_COLUMN_G_U_F_USERID_2);
2659
2660 query.append(_FINDER_COLUMN_G_U_F_FIRSTINGROUP_2);
2661
2662 if (orderByComparator != null) {
2663 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
2664 orderByComparator);
2665 }
2666 else
2667 if (pagination) {
2668 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
2669 }
2670
2671 String sql = query.toString();
2672
2673 Session session = null;
2674
2675 try {
2676 session = openSession();
2677
2678 Query q = session.createQuery(sql);
2679
2680 QueryPos qPos = QueryPos.getInstance(q);
2681
2682 qPos.add(groupId);
2683
2684 qPos.add(userId);
2685
2686 qPos.add(firstInGroup);
2687
2688 if (!pagination) {
2689 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
2690 getDialect(), start, end, false);
2691
2692 Collections.sort(list);
2693
2694 list = new UnmodifiableList<SocialActivityAchievement>(list);
2695 }
2696 else {
2697 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
2698 getDialect(), start, end);
2699 }
2700
2701 cacheResult(list);
2702
2703 FinderCacheUtil.putResult(finderPath, finderArgs, list);
2704 }
2705 catch (Exception e) {
2706 FinderCacheUtil.removeResult(finderPath, finderArgs);
2707
2708 throw processException(e);
2709 }
2710 finally {
2711 closeSession(session);
2712 }
2713 }
2714
2715 return list;
2716 }
2717
2718
2729 @Override
2730 public SocialActivityAchievement findByG_U_F_First(long groupId,
2731 long userId, boolean firstInGroup, OrderByComparator orderByComparator)
2732 throws NoSuchActivityAchievementException, SystemException {
2733 SocialActivityAchievement socialActivityAchievement = fetchByG_U_F_First(groupId,
2734 userId, firstInGroup, orderByComparator);
2735
2736 if (socialActivityAchievement != null) {
2737 return socialActivityAchievement;
2738 }
2739
2740 StringBundler msg = new StringBundler(8);
2741
2742 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2743
2744 msg.append("groupId=");
2745 msg.append(groupId);
2746
2747 msg.append(", userId=");
2748 msg.append(userId);
2749
2750 msg.append(", firstInGroup=");
2751 msg.append(firstInGroup);
2752
2753 msg.append(StringPool.CLOSE_CURLY_BRACE);
2754
2755 throw new NoSuchActivityAchievementException(msg.toString());
2756 }
2757
2758
2768 @Override
2769 public SocialActivityAchievement fetchByG_U_F_First(long groupId,
2770 long userId, boolean firstInGroup, OrderByComparator orderByComparator)
2771 throws SystemException {
2772 List<SocialActivityAchievement> list = findByG_U_F(groupId, userId,
2773 firstInGroup, 0, 1, orderByComparator);
2774
2775 if (!list.isEmpty()) {
2776 return list.get(0);
2777 }
2778
2779 return null;
2780 }
2781
2782
2793 @Override
2794 public SocialActivityAchievement findByG_U_F_Last(long groupId,
2795 long userId, boolean firstInGroup, OrderByComparator orderByComparator)
2796 throws NoSuchActivityAchievementException, SystemException {
2797 SocialActivityAchievement socialActivityAchievement = fetchByG_U_F_Last(groupId,
2798 userId, firstInGroup, orderByComparator);
2799
2800 if (socialActivityAchievement != null) {
2801 return socialActivityAchievement;
2802 }
2803
2804 StringBundler msg = new StringBundler(8);
2805
2806 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2807
2808 msg.append("groupId=");
2809 msg.append(groupId);
2810
2811 msg.append(", userId=");
2812 msg.append(userId);
2813
2814 msg.append(", firstInGroup=");
2815 msg.append(firstInGroup);
2816
2817 msg.append(StringPool.CLOSE_CURLY_BRACE);
2818
2819 throw new NoSuchActivityAchievementException(msg.toString());
2820 }
2821
2822
2832 @Override
2833 public SocialActivityAchievement fetchByG_U_F_Last(long groupId,
2834 long userId, boolean firstInGroup, OrderByComparator orderByComparator)
2835 throws SystemException {
2836 int count = countByG_U_F(groupId, userId, firstInGroup);
2837
2838 if (count == 0) {
2839 return null;
2840 }
2841
2842 List<SocialActivityAchievement> list = findByG_U_F(groupId, userId,
2843 firstInGroup, count - 1, count, orderByComparator);
2844
2845 if (!list.isEmpty()) {
2846 return list.get(0);
2847 }
2848
2849 return null;
2850 }
2851
2852
2864 @Override
2865 public SocialActivityAchievement[] findByG_U_F_PrevAndNext(
2866 long activityAchievementId, long groupId, long userId,
2867 boolean firstInGroup, OrderByComparator orderByComparator)
2868 throws NoSuchActivityAchievementException, SystemException {
2869 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
2870
2871 Session session = null;
2872
2873 try {
2874 session = openSession();
2875
2876 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
2877
2878 array[0] = getByG_U_F_PrevAndNext(session,
2879 socialActivityAchievement, groupId, userId, firstInGroup,
2880 orderByComparator, true);
2881
2882 array[1] = socialActivityAchievement;
2883
2884 array[2] = getByG_U_F_PrevAndNext(session,
2885 socialActivityAchievement, groupId, userId, firstInGroup,
2886 orderByComparator, false);
2887
2888 return array;
2889 }
2890 catch (Exception e) {
2891 throw processException(e);
2892 }
2893 finally {
2894 closeSession(session);
2895 }
2896 }
2897
2898 protected SocialActivityAchievement getByG_U_F_PrevAndNext(
2899 Session session, SocialActivityAchievement socialActivityAchievement,
2900 long groupId, long userId, boolean firstInGroup,
2901 OrderByComparator orderByComparator, boolean previous) {
2902 StringBundler query = null;
2903
2904 if (orderByComparator != null) {
2905 query = new StringBundler(6 +
2906 (orderByComparator.getOrderByFields().length * 6));
2907 }
2908 else {
2909 query = new StringBundler(3);
2910 }
2911
2912 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2913
2914 query.append(_FINDER_COLUMN_G_U_F_GROUPID_2);
2915
2916 query.append(_FINDER_COLUMN_G_U_F_USERID_2);
2917
2918 query.append(_FINDER_COLUMN_G_U_F_FIRSTINGROUP_2);
2919
2920 if (orderByComparator != null) {
2921 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
2922
2923 if (orderByConditionFields.length > 0) {
2924 query.append(WHERE_AND);
2925 }
2926
2927 for (int i = 0; i < orderByConditionFields.length; i++) {
2928 query.append(_ORDER_BY_ENTITY_ALIAS);
2929 query.append(orderByConditionFields[i]);
2930
2931 if ((i + 1) < orderByConditionFields.length) {
2932 if (orderByComparator.isAscending() ^ previous) {
2933 query.append(WHERE_GREATER_THAN_HAS_NEXT);
2934 }
2935 else {
2936 query.append(WHERE_LESSER_THAN_HAS_NEXT);
2937 }
2938 }
2939 else {
2940 if (orderByComparator.isAscending() ^ previous) {
2941 query.append(WHERE_GREATER_THAN);
2942 }
2943 else {
2944 query.append(WHERE_LESSER_THAN);
2945 }
2946 }
2947 }
2948
2949 query.append(ORDER_BY_CLAUSE);
2950
2951 String[] orderByFields = orderByComparator.getOrderByFields();
2952
2953 for (int i = 0; i < orderByFields.length; i++) {
2954 query.append(_ORDER_BY_ENTITY_ALIAS);
2955 query.append(orderByFields[i]);
2956
2957 if ((i + 1) < orderByFields.length) {
2958 if (orderByComparator.isAscending() ^ previous) {
2959 query.append(ORDER_BY_ASC_HAS_NEXT);
2960 }
2961 else {
2962 query.append(ORDER_BY_DESC_HAS_NEXT);
2963 }
2964 }
2965 else {
2966 if (orderByComparator.isAscending() ^ previous) {
2967 query.append(ORDER_BY_ASC);
2968 }
2969 else {
2970 query.append(ORDER_BY_DESC);
2971 }
2972 }
2973 }
2974 }
2975 else {
2976 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
2977 }
2978
2979 String sql = query.toString();
2980
2981 Query q = session.createQuery(sql);
2982
2983 q.setFirstResult(0);
2984 q.setMaxResults(2);
2985
2986 QueryPos qPos = QueryPos.getInstance(q);
2987
2988 qPos.add(groupId);
2989
2990 qPos.add(userId);
2991
2992 qPos.add(firstInGroup);
2993
2994 if (orderByComparator != null) {
2995 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
2996
2997 for (Object value : values) {
2998 qPos.add(value);
2999 }
3000 }
3001
3002 List<SocialActivityAchievement> list = q.list();
3003
3004 if (list.size() == 2) {
3005 return list.get(1);
3006 }
3007 else {
3008 return null;
3009 }
3010 }
3011
3012
3020 @Override
3021 public void removeByG_U_F(long groupId, long userId, boolean firstInGroup)
3022 throws SystemException {
3023 for (SocialActivityAchievement socialActivityAchievement : findByG_U_F(
3024 groupId, userId, firstInGroup, QueryUtil.ALL_POS,
3025 QueryUtil.ALL_POS, null)) {
3026 remove(socialActivityAchievement);
3027 }
3028 }
3029
3030
3039 @Override
3040 public int countByG_U_F(long groupId, long userId, boolean firstInGroup)
3041 throws SystemException {
3042 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_U_F;
3043
3044 Object[] finderArgs = new Object[] { groupId, userId, firstInGroup };
3045
3046 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
3047 this);
3048
3049 if (count == null) {
3050 StringBundler query = new StringBundler(4);
3051
3052 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
3053
3054 query.append(_FINDER_COLUMN_G_U_F_GROUPID_2);
3055
3056 query.append(_FINDER_COLUMN_G_U_F_USERID_2);
3057
3058 query.append(_FINDER_COLUMN_G_U_F_FIRSTINGROUP_2);
3059
3060 String sql = query.toString();
3061
3062 Session session = null;
3063
3064 try {
3065 session = openSession();
3066
3067 Query q = session.createQuery(sql);
3068
3069 QueryPos qPos = QueryPos.getInstance(q);
3070
3071 qPos.add(groupId);
3072
3073 qPos.add(userId);
3074
3075 qPos.add(firstInGroup);
3076
3077 count = (Long)q.uniqueResult();
3078
3079 FinderCacheUtil.putResult(finderPath, finderArgs, count);
3080 }
3081 catch (Exception e) {
3082 FinderCacheUtil.removeResult(finderPath, finderArgs);
3083
3084 throw processException(e);
3085 }
3086 finally {
3087 closeSession(session);
3088 }
3089 }
3090
3091 return count.intValue();
3092 }
3093
3094 private static final String _FINDER_COLUMN_G_U_F_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
3095 private static final String _FINDER_COLUMN_G_U_F_USERID_2 = "socialActivityAchievement.userId = ? AND ";
3096 private static final String _FINDER_COLUMN_G_U_F_FIRSTINGROUP_2 = "socialActivityAchievement.firstInGroup = ?";
3097
3098
3103 @Override
3104 public void cacheResult(SocialActivityAchievement socialActivityAchievement) {
3105 EntityCacheUtil.putResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3106 SocialActivityAchievementImpl.class,
3107 socialActivityAchievement.getPrimaryKey(), socialActivityAchievement);
3108
3109 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N,
3110 new Object[] {
3111 socialActivityAchievement.getGroupId(),
3112 socialActivityAchievement.getUserId(),
3113 socialActivityAchievement.getName()
3114 }, socialActivityAchievement);
3115
3116 socialActivityAchievement.resetOriginalValues();
3117 }
3118
3119
3124 @Override
3125 public void cacheResult(
3126 List<SocialActivityAchievement> socialActivityAchievements) {
3127 for (SocialActivityAchievement socialActivityAchievement : socialActivityAchievements) {
3128 if (EntityCacheUtil.getResult(
3129 SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3130 SocialActivityAchievementImpl.class,
3131 socialActivityAchievement.getPrimaryKey()) == null) {
3132 cacheResult(socialActivityAchievement);
3133 }
3134 else {
3135 socialActivityAchievement.resetOriginalValues();
3136 }
3137 }
3138 }
3139
3140
3147 @Override
3148 public void clearCache() {
3149 if (_HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE) {
3150 CacheRegistryUtil.clear(SocialActivityAchievementImpl.class.getName());
3151 }
3152
3153 EntityCacheUtil.clearCache(SocialActivityAchievementImpl.class.getName());
3154
3155 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
3156 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3157 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3158 }
3159
3160
3167 @Override
3168 public void clearCache(SocialActivityAchievement socialActivityAchievement) {
3169 EntityCacheUtil.removeResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3170 SocialActivityAchievementImpl.class,
3171 socialActivityAchievement.getPrimaryKey());
3172
3173 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3174 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3175
3176 clearUniqueFindersCache(socialActivityAchievement);
3177 }
3178
3179 @Override
3180 public void clearCache(
3181 List<SocialActivityAchievement> socialActivityAchievements) {
3182 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3183 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3184
3185 for (SocialActivityAchievement socialActivityAchievement : socialActivityAchievements) {
3186 EntityCacheUtil.removeResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3187 SocialActivityAchievementImpl.class,
3188 socialActivityAchievement.getPrimaryKey());
3189
3190 clearUniqueFindersCache(socialActivityAchievement);
3191 }
3192 }
3193
3194 protected void cacheUniqueFindersCache(
3195 SocialActivityAchievement socialActivityAchievement) {
3196 if (socialActivityAchievement.isNew()) {
3197 Object[] args = new Object[] {
3198 socialActivityAchievement.getGroupId(),
3199 socialActivityAchievement.getUserId(),
3200 socialActivityAchievement.getName()
3201 };
3202
3203 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U_N, args,
3204 Long.valueOf(1));
3205 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N, args,
3206 socialActivityAchievement);
3207 }
3208 else {
3209 SocialActivityAchievementModelImpl socialActivityAchievementModelImpl =
3210 (SocialActivityAchievementModelImpl)socialActivityAchievement;
3211
3212 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3213 FINDER_PATH_FETCH_BY_G_U_N.getColumnBitmask()) != 0) {
3214 Object[] args = new Object[] {
3215 socialActivityAchievement.getGroupId(),
3216 socialActivityAchievement.getUserId(),
3217 socialActivityAchievement.getName()
3218 };
3219
3220 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U_N, args,
3221 Long.valueOf(1));
3222 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N, args,
3223 socialActivityAchievement);
3224 }
3225 }
3226 }
3227
3228 protected void clearUniqueFindersCache(
3229 SocialActivityAchievement socialActivityAchievement) {
3230 SocialActivityAchievementModelImpl socialActivityAchievementModelImpl = (SocialActivityAchievementModelImpl)socialActivityAchievement;
3231
3232 Object[] args = new Object[] {
3233 socialActivityAchievement.getGroupId(),
3234 socialActivityAchievement.getUserId(),
3235 socialActivityAchievement.getName()
3236 };
3237
3238 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_N, args);
3239 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_N, args);
3240
3241 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3242 FINDER_PATH_FETCH_BY_G_U_N.getColumnBitmask()) != 0) {
3243 args = new Object[] {
3244 socialActivityAchievementModelImpl.getOriginalGroupId(),
3245 socialActivityAchievementModelImpl.getOriginalUserId(),
3246 socialActivityAchievementModelImpl.getOriginalName()
3247 };
3248
3249 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_N, args);
3250 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_N, args);
3251 }
3252 }
3253
3254
3260 @Override
3261 public SocialActivityAchievement create(long activityAchievementId) {
3262 SocialActivityAchievement socialActivityAchievement = new SocialActivityAchievementImpl();
3263
3264 socialActivityAchievement.setNew(true);
3265 socialActivityAchievement.setPrimaryKey(activityAchievementId);
3266
3267 return socialActivityAchievement;
3268 }
3269
3270
3278 @Override
3279 public SocialActivityAchievement remove(long activityAchievementId)
3280 throws NoSuchActivityAchievementException, SystemException {
3281 return remove((Serializable)activityAchievementId);
3282 }
3283
3284
3292 @Override
3293 public SocialActivityAchievement remove(Serializable primaryKey)
3294 throws NoSuchActivityAchievementException, SystemException {
3295 Session session = null;
3296
3297 try {
3298 session = openSession();
3299
3300 SocialActivityAchievement socialActivityAchievement = (SocialActivityAchievement)session.get(SocialActivityAchievementImpl.class,
3301 primaryKey);
3302
3303 if (socialActivityAchievement == null) {
3304 if (_log.isWarnEnabled()) {
3305 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
3306 }
3307
3308 throw new NoSuchActivityAchievementException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
3309 primaryKey);
3310 }
3311
3312 return remove(socialActivityAchievement);
3313 }
3314 catch (NoSuchActivityAchievementException nsee) {
3315 throw nsee;
3316 }
3317 catch (Exception e) {
3318 throw processException(e);
3319 }
3320 finally {
3321 closeSession(session);
3322 }
3323 }
3324
3325 @Override
3326 protected SocialActivityAchievement removeImpl(
3327 SocialActivityAchievement socialActivityAchievement)
3328 throws SystemException {
3329 socialActivityAchievement = toUnwrappedModel(socialActivityAchievement);
3330
3331 Session session = null;
3332
3333 try {
3334 session = openSession();
3335
3336 if (!session.contains(socialActivityAchievement)) {
3337 socialActivityAchievement = (SocialActivityAchievement)session.get(SocialActivityAchievementImpl.class,
3338 socialActivityAchievement.getPrimaryKeyObj());
3339 }
3340
3341 if (socialActivityAchievement != null) {
3342 session.delete(socialActivityAchievement);
3343 }
3344 }
3345 catch (Exception e) {
3346 throw processException(e);
3347 }
3348 finally {
3349 closeSession(session);
3350 }
3351
3352 if (socialActivityAchievement != null) {
3353 clearCache(socialActivityAchievement);
3354 }
3355
3356 return socialActivityAchievement;
3357 }
3358
3359 @Override
3360 public SocialActivityAchievement updateImpl(
3361 com.liferay.portlet.social.model.SocialActivityAchievement socialActivityAchievement)
3362 throws SystemException {
3363 socialActivityAchievement = toUnwrappedModel(socialActivityAchievement);
3364
3365 boolean isNew = socialActivityAchievement.isNew();
3366
3367 SocialActivityAchievementModelImpl socialActivityAchievementModelImpl = (SocialActivityAchievementModelImpl)socialActivityAchievement;
3368
3369 Session session = null;
3370
3371 try {
3372 session = openSession();
3373
3374 if (socialActivityAchievement.isNew()) {
3375 session.save(socialActivityAchievement);
3376
3377 socialActivityAchievement.setNew(false);
3378 }
3379 else {
3380 session.merge(socialActivityAchievement);
3381 }
3382 }
3383 catch (Exception e) {
3384 throw processException(e);
3385 }
3386 finally {
3387 closeSession(session);
3388 }
3389
3390 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3391
3392 if (isNew ||
3393 !SocialActivityAchievementModelImpl.COLUMN_BITMASK_ENABLED) {
3394 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3395 }
3396
3397 else {
3398 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3399 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID.getColumnBitmask()) != 0) {
3400 Object[] args = new Object[] {
3401 socialActivityAchievementModelImpl.getOriginalGroupId()
3402 };
3403
3404 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_GROUPID, args);
3405 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID,
3406 args);
3407
3408 args = new Object[] {
3409 socialActivityAchievementModelImpl.getGroupId()
3410 };
3411
3412 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_GROUPID, args);
3413 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID,
3414 args);
3415 }
3416
3417 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3418 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U.getColumnBitmask()) != 0) {
3419 Object[] args = new Object[] {
3420 socialActivityAchievementModelImpl.getOriginalGroupId(),
3421 socialActivityAchievementModelImpl.getOriginalUserId()
3422 };
3423
3424 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U, args);
3425 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U,
3426 args);
3427
3428 args = new Object[] {
3429 socialActivityAchievementModelImpl.getGroupId(),
3430 socialActivityAchievementModelImpl.getUserId()
3431 };
3432
3433 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U, args);
3434 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U,
3435 args);
3436 }
3437
3438 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3439 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N.getColumnBitmask()) != 0) {
3440 Object[] args = new Object[] {
3441 socialActivityAchievementModelImpl.getOriginalGroupId(),
3442 socialActivityAchievementModelImpl.getOriginalName()
3443 };
3444
3445 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_N, args);
3446 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N,
3447 args);
3448
3449 args = new Object[] {
3450 socialActivityAchievementModelImpl.getGroupId(),
3451 socialActivityAchievementModelImpl.getName()
3452 };
3453
3454 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_N, args);
3455 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N,
3456 args);
3457 }
3458
3459 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3460 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F.getColumnBitmask()) != 0) {
3461 Object[] args = new Object[] {
3462 socialActivityAchievementModelImpl.getOriginalGroupId(),
3463 socialActivityAchievementModelImpl.getOriginalFirstInGroup()
3464 };
3465
3466 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_F, args);
3467 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F,
3468 args);
3469
3470 args = new Object[] {
3471 socialActivityAchievementModelImpl.getGroupId(),
3472 socialActivityAchievementModelImpl.getFirstInGroup()
3473 };
3474
3475 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_F, args);
3476 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F,
3477 args);
3478 }
3479
3480 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3481 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F.getColumnBitmask()) != 0) {
3482 Object[] args = new Object[] {
3483 socialActivityAchievementModelImpl.getOriginalGroupId(),
3484 socialActivityAchievementModelImpl.getOriginalUserId(),
3485 socialActivityAchievementModelImpl.getOriginalFirstInGroup()
3486 };
3487
3488 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_F, args);
3489 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F,
3490 args);
3491
3492 args = new Object[] {
3493 socialActivityAchievementModelImpl.getGroupId(),
3494 socialActivityAchievementModelImpl.getUserId(),
3495 socialActivityAchievementModelImpl.getFirstInGroup()
3496 };
3497
3498 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_F, args);
3499 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F,
3500 args);
3501 }
3502 }
3503
3504 EntityCacheUtil.putResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3505 SocialActivityAchievementImpl.class,
3506 socialActivityAchievement.getPrimaryKey(), socialActivityAchievement);
3507
3508 clearUniqueFindersCache(socialActivityAchievement);
3509 cacheUniqueFindersCache(socialActivityAchievement);
3510
3511 return socialActivityAchievement;
3512 }
3513
3514 protected SocialActivityAchievement toUnwrappedModel(
3515 SocialActivityAchievement socialActivityAchievement) {
3516 if (socialActivityAchievement instanceof SocialActivityAchievementImpl) {
3517 return socialActivityAchievement;
3518 }
3519
3520 SocialActivityAchievementImpl socialActivityAchievementImpl = new SocialActivityAchievementImpl();
3521
3522 socialActivityAchievementImpl.setNew(socialActivityAchievement.isNew());
3523 socialActivityAchievementImpl.setPrimaryKey(socialActivityAchievement.getPrimaryKey());
3524
3525 socialActivityAchievementImpl.setActivityAchievementId(socialActivityAchievement.getActivityAchievementId());
3526 socialActivityAchievementImpl.setGroupId(socialActivityAchievement.getGroupId());
3527 socialActivityAchievementImpl.setCompanyId(socialActivityAchievement.getCompanyId());
3528 socialActivityAchievementImpl.setUserId(socialActivityAchievement.getUserId());
3529 socialActivityAchievementImpl.setCreateDate(socialActivityAchievement.getCreateDate());
3530 socialActivityAchievementImpl.setName(socialActivityAchievement.getName());
3531 socialActivityAchievementImpl.setFirstInGroup(socialActivityAchievement.isFirstInGroup());
3532
3533 return socialActivityAchievementImpl;
3534 }
3535
3536
3544 @Override
3545 public SocialActivityAchievement findByPrimaryKey(Serializable primaryKey)
3546 throws NoSuchActivityAchievementException, SystemException {
3547 SocialActivityAchievement socialActivityAchievement = fetchByPrimaryKey(primaryKey);
3548
3549 if (socialActivityAchievement == null) {
3550 if (_log.isWarnEnabled()) {
3551 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
3552 }
3553
3554 throw new NoSuchActivityAchievementException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
3555 primaryKey);
3556 }
3557
3558 return socialActivityAchievement;
3559 }
3560
3561
3569 @Override
3570 public SocialActivityAchievement findByPrimaryKey(
3571 long activityAchievementId)
3572 throws NoSuchActivityAchievementException, SystemException {
3573 return findByPrimaryKey((Serializable)activityAchievementId);
3574 }
3575
3576
3583 @Override
3584 public SocialActivityAchievement fetchByPrimaryKey(Serializable primaryKey)
3585 throws SystemException {
3586 SocialActivityAchievement socialActivityAchievement = (SocialActivityAchievement)EntityCacheUtil.getResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3587 SocialActivityAchievementImpl.class, primaryKey);
3588
3589 if (socialActivityAchievement == _nullSocialActivityAchievement) {
3590 return null;
3591 }
3592
3593 if (socialActivityAchievement == null) {
3594 Session session = null;
3595
3596 try {
3597 session = openSession();
3598
3599 socialActivityAchievement = (SocialActivityAchievement)session.get(SocialActivityAchievementImpl.class,
3600 primaryKey);
3601
3602 if (socialActivityAchievement != null) {
3603 cacheResult(socialActivityAchievement);
3604 }
3605 else {
3606 EntityCacheUtil.putResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3607 SocialActivityAchievementImpl.class, primaryKey,
3608 _nullSocialActivityAchievement);
3609 }
3610 }
3611 catch (Exception e) {
3612 EntityCacheUtil.removeResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3613 SocialActivityAchievementImpl.class, primaryKey);
3614
3615 throw processException(e);
3616 }
3617 finally {
3618 closeSession(session);
3619 }
3620 }
3621
3622 return socialActivityAchievement;
3623 }
3624
3625
3632 @Override
3633 public SocialActivityAchievement fetchByPrimaryKey(
3634 long activityAchievementId) throws SystemException {
3635 return fetchByPrimaryKey((Serializable)activityAchievementId);
3636 }
3637
3638
3644 @Override
3645 public List<SocialActivityAchievement> findAll() throws SystemException {
3646 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
3647 }
3648
3649
3661 @Override
3662 public List<SocialActivityAchievement> findAll(int start, int end)
3663 throws SystemException {
3664 return findAll(start, end, null);
3665 }
3666
3667
3680 @Override
3681 public List<SocialActivityAchievement> findAll(int start, int end,
3682 OrderByComparator orderByComparator) throws SystemException {
3683 boolean pagination = true;
3684 FinderPath finderPath = null;
3685 Object[] finderArgs = null;
3686
3687 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
3688 (orderByComparator == null)) {
3689 pagination = false;
3690 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL;
3691 finderArgs = FINDER_ARGS_EMPTY;
3692 }
3693 else {
3694 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL;
3695 finderArgs = new Object[] { start, end, orderByComparator };
3696 }
3697
3698 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
3699 finderArgs, this);
3700
3701 if (list == null) {
3702 StringBundler query = null;
3703 String sql = null;
3704
3705 if (orderByComparator != null) {
3706 query = new StringBundler(2 +
3707 (orderByComparator.getOrderByFields().length * 3));
3708
3709 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT);
3710
3711 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
3712 orderByComparator);
3713
3714 sql = query.toString();
3715 }
3716 else {
3717 sql = _SQL_SELECT_SOCIALACTIVITYACHIEVEMENT;
3718
3719 if (pagination) {
3720 sql = sql.concat(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
3721 }
3722 }
3723
3724 Session session = null;
3725
3726 try {
3727 session = openSession();
3728
3729 Query q = session.createQuery(sql);
3730
3731 if (!pagination) {
3732 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
3733 getDialect(), start, end, false);
3734
3735 Collections.sort(list);
3736
3737 list = new UnmodifiableList<SocialActivityAchievement>(list);
3738 }
3739 else {
3740 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
3741 getDialect(), start, end);
3742 }
3743
3744 cacheResult(list);
3745
3746 FinderCacheUtil.putResult(finderPath, finderArgs, list);
3747 }
3748 catch (Exception e) {
3749 FinderCacheUtil.removeResult(finderPath, finderArgs);
3750
3751 throw processException(e);
3752 }
3753 finally {
3754 closeSession(session);
3755 }
3756 }
3757
3758 return list;
3759 }
3760
3761
3766 @Override
3767 public void removeAll() throws SystemException {
3768 for (SocialActivityAchievement socialActivityAchievement : findAll()) {
3769 remove(socialActivityAchievement);
3770 }
3771 }
3772
3773
3779 @Override
3780 public int countAll() throws SystemException {
3781 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
3782 FINDER_ARGS_EMPTY, this);
3783
3784 if (count == null) {
3785 Session session = null;
3786
3787 try {
3788 session = openSession();
3789
3790 Query q = session.createQuery(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT);
3791
3792 count = (Long)q.uniqueResult();
3793
3794 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL,
3795 FINDER_ARGS_EMPTY, count);
3796 }
3797 catch (Exception e) {
3798 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_ALL,
3799 FINDER_ARGS_EMPTY);
3800
3801 throw processException(e);
3802 }
3803 finally {
3804 closeSession(session);
3805 }
3806 }
3807
3808 return count.intValue();
3809 }
3810
3811
3814 public void afterPropertiesSet() {
3815 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
3816 com.liferay.portal.util.PropsUtil.get(
3817 "value.object.listener.com.liferay.portlet.social.model.SocialActivityAchievement")));
3818
3819 if (listenerClassNames.length > 0) {
3820 try {
3821 List<ModelListener<SocialActivityAchievement>> listenersList = new ArrayList<ModelListener<SocialActivityAchievement>>();
3822
3823 for (String listenerClassName : listenerClassNames) {
3824 listenersList.add((ModelListener<SocialActivityAchievement>)InstanceFactory.newInstance(
3825 getClassLoader(), listenerClassName));
3826 }
3827
3828 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
3829 }
3830 catch (Exception e) {
3831 _log.error(e);
3832 }
3833 }
3834 }
3835
3836 public void destroy() {
3837 EntityCacheUtil.removeCache(SocialActivityAchievementImpl.class.getName());
3838 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_ENTITY);
3839 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3840 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3841 }
3842
3843 private static final String _SQL_SELECT_SOCIALACTIVITYACHIEVEMENT = "SELECT socialActivityAchievement FROM SocialActivityAchievement socialActivityAchievement";
3844 private static final String _SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE = "SELECT socialActivityAchievement FROM SocialActivityAchievement socialActivityAchievement WHERE ";
3845 private static final String _SQL_COUNT_SOCIALACTIVITYACHIEVEMENT = "SELECT COUNT(socialActivityAchievement) FROM SocialActivityAchievement socialActivityAchievement";
3846 private static final String _SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE = "SELECT COUNT(socialActivityAchievement) FROM SocialActivityAchievement socialActivityAchievement WHERE ";
3847 private static final String _ORDER_BY_ENTITY_ALIAS = "socialActivityAchievement.";
3848 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No SocialActivityAchievement exists with the primary key ";
3849 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No SocialActivityAchievement exists with the key {";
3850 private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = com.liferay.portal.util.PropsValues.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE;
3851 private static Log _log = LogFactoryUtil.getLog(SocialActivityAchievementPersistenceImpl.class);
3852 private static SocialActivityAchievement _nullSocialActivityAchievement = new SocialActivityAchievementImpl() {
3853 @Override
3854 public Object clone() {
3855 return this;
3856 }
3857
3858 @Override
3859 public CacheModel<SocialActivityAchievement> toCacheModel() {
3860 return _nullSocialActivityAchievementCacheModel;
3861 }
3862 };
3863
3864 private static CacheModel<SocialActivityAchievement> _nullSocialActivityAchievementCacheModel =
3865 new CacheModel<SocialActivityAchievement>() {
3866 @Override
3867 public SocialActivityAchievement toEntityModel() {
3868 return _nullSocialActivityAchievement;
3869 }
3870 };
3871 }