001
014
015 package com.liferay.portlet.social.service.persistence.impl;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.cache.CacheRegistryUtil;
020 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
021 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
022 import com.liferay.portal.kernel.dao.orm.FinderPath;
023 import com.liferay.portal.kernel.dao.orm.Query;
024 import com.liferay.portal.kernel.dao.orm.QueryPos;
025 import com.liferay.portal.kernel.dao.orm.QueryUtil;
026 import com.liferay.portal.kernel.dao.orm.Session;
027 import com.liferay.portal.kernel.log.Log;
028 import com.liferay.portal.kernel.log.LogFactoryUtil;
029 import com.liferay.portal.kernel.util.OrderByComparator;
030 import com.liferay.portal.kernel.util.StringBundler;
031 import com.liferay.portal.kernel.util.StringPool;
032 import com.liferay.portal.kernel.util.Validator;
033 import com.liferay.portal.model.CacheModel;
034 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
035
036 import com.liferay.portlet.social.NoSuchActivityAchievementException;
037 import com.liferay.portlet.social.model.SocialActivityAchievement;
038 import com.liferay.portlet.social.model.impl.SocialActivityAchievementImpl;
039 import com.liferay.portlet.social.model.impl.SocialActivityAchievementModelImpl;
040 import com.liferay.portlet.social.service.persistence.SocialActivityAchievementPersistence;
041
042 import java.io.Serializable;
043
044 import java.util.Collections;
045 import java.util.HashMap;
046 import java.util.HashSet;
047 import java.util.Iterator;
048 import java.util.List;
049 import java.util.Map;
050 import java.util.Set;
051
052
064 @ProviderType
065 public class SocialActivityAchievementPersistenceImpl
066 extends BasePersistenceImpl<SocialActivityAchievement>
067 implements SocialActivityAchievementPersistence {
068
073 public static final String FINDER_CLASS_NAME_ENTITY = SocialActivityAchievementImpl.class.getName();
074 public static final String FINDER_CLASS_NAME_LIST_WITH_PAGINATION = FINDER_CLASS_NAME_ENTITY +
075 ".List1";
076 public static final String FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION = FINDER_CLASS_NAME_ENTITY +
077 ".List2";
078 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_ALL = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
079 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
080 SocialActivityAchievementImpl.class,
081 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findAll", new String[0]);
082 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
083 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
084 SocialActivityAchievementImpl.class,
085 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findAll", new String[0]);
086 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
087 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
088 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll",
089 new String[0]);
090 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
091 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
092 SocialActivityAchievementImpl.class,
093 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByGroupId",
094 new String[] {
095 Long.class.getName(),
096
097 Integer.class.getName(), Integer.class.getName(),
098 OrderByComparator.class.getName()
099 });
100 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID =
101 new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
102 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
103 SocialActivityAchievementImpl.class,
104 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByGroupId",
105 new String[] { Long.class.getName() },
106 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK);
107 public static final FinderPath FINDER_PATH_COUNT_BY_GROUPID = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
108 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
109 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
110 "countByGroupId", new String[] { Long.class.getName() });
111
112
118 @Override
119 public List<SocialActivityAchievement> findByGroupId(long groupId) {
120 return findByGroupId(groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
121 }
122
123
135 @Override
136 public List<SocialActivityAchievement> findByGroupId(long groupId,
137 int start, int end) {
138 return findByGroupId(groupId, start, end, null);
139 }
140
141
154 @Override
155 public List<SocialActivityAchievement> findByGroupId(long groupId,
156 int start, int end,
157 OrderByComparator<SocialActivityAchievement> orderByComparator) {
158 boolean pagination = true;
159 FinderPath finderPath = null;
160 Object[] finderArgs = null;
161
162 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
163 (orderByComparator == null)) {
164 pagination = false;
165 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID;
166 finderArgs = new Object[] { groupId };
167 }
168 else {
169 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUPID;
170 finderArgs = new Object[] { groupId, start, end, orderByComparator };
171 }
172
173 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
174 finderArgs, this);
175
176 if ((list != null) && !list.isEmpty()) {
177 for (SocialActivityAchievement socialActivityAchievement : list) {
178 if ((groupId != socialActivityAchievement.getGroupId())) {
179 list = null;
180
181 break;
182 }
183 }
184 }
185
186 if (list == null) {
187 StringBundler query = null;
188
189 if (orderByComparator != null) {
190 query = new StringBundler(3 +
191 (orderByComparator.getOrderByFields().length * 3));
192 }
193 else {
194 query = new StringBundler(3);
195 }
196
197 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
198
199 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
200
201 if (orderByComparator != null) {
202 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
203 orderByComparator);
204 }
205 else
206 if (pagination) {
207 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
208 }
209
210 String sql = query.toString();
211
212 Session session = null;
213
214 try {
215 session = openSession();
216
217 Query q = session.createQuery(sql);
218
219 QueryPos qPos = QueryPos.getInstance(q);
220
221 qPos.add(groupId);
222
223 if (!pagination) {
224 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
225 getDialect(), start, end, false);
226
227 Collections.sort(list);
228
229 list = Collections.unmodifiableList(list);
230 }
231 else {
232 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
233 getDialect(), start, end);
234 }
235
236 cacheResult(list);
237
238 FinderCacheUtil.putResult(finderPath, finderArgs, list);
239 }
240 catch (Exception e) {
241 FinderCacheUtil.removeResult(finderPath, finderArgs);
242
243 throw processException(e);
244 }
245 finally {
246 closeSession(session);
247 }
248 }
249
250 return list;
251 }
252
253
261 @Override
262 public SocialActivityAchievement findByGroupId_First(long groupId,
263 OrderByComparator<SocialActivityAchievement> orderByComparator)
264 throws NoSuchActivityAchievementException {
265 SocialActivityAchievement socialActivityAchievement = fetchByGroupId_First(groupId,
266 orderByComparator);
267
268 if (socialActivityAchievement != null) {
269 return socialActivityAchievement;
270 }
271
272 StringBundler msg = new StringBundler(4);
273
274 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
275
276 msg.append("groupId=");
277 msg.append(groupId);
278
279 msg.append(StringPool.CLOSE_CURLY_BRACE);
280
281 throw new NoSuchActivityAchievementException(msg.toString());
282 }
283
284
291 @Override
292 public SocialActivityAchievement fetchByGroupId_First(long groupId,
293 OrderByComparator<SocialActivityAchievement> orderByComparator) {
294 List<SocialActivityAchievement> list = findByGroupId(groupId, 0, 1,
295 orderByComparator);
296
297 if (!list.isEmpty()) {
298 return list.get(0);
299 }
300
301 return null;
302 }
303
304
312 @Override
313 public SocialActivityAchievement findByGroupId_Last(long groupId,
314 OrderByComparator<SocialActivityAchievement> orderByComparator)
315 throws NoSuchActivityAchievementException {
316 SocialActivityAchievement socialActivityAchievement = fetchByGroupId_Last(groupId,
317 orderByComparator);
318
319 if (socialActivityAchievement != null) {
320 return socialActivityAchievement;
321 }
322
323 StringBundler msg = new StringBundler(4);
324
325 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
326
327 msg.append("groupId=");
328 msg.append(groupId);
329
330 msg.append(StringPool.CLOSE_CURLY_BRACE);
331
332 throw new NoSuchActivityAchievementException(msg.toString());
333 }
334
335
342 @Override
343 public SocialActivityAchievement fetchByGroupId_Last(long groupId,
344 OrderByComparator<SocialActivityAchievement> orderByComparator) {
345 int count = countByGroupId(groupId);
346
347 if (count == 0) {
348 return null;
349 }
350
351 List<SocialActivityAchievement> list = findByGroupId(groupId,
352 count - 1, count, orderByComparator);
353
354 if (!list.isEmpty()) {
355 return list.get(0);
356 }
357
358 return null;
359 }
360
361
370 @Override
371 public SocialActivityAchievement[] findByGroupId_PrevAndNext(
372 long activityAchievementId, long groupId,
373 OrderByComparator<SocialActivityAchievement> orderByComparator)
374 throws NoSuchActivityAchievementException {
375 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
376
377 Session session = null;
378
379 try {
380 session = openSession();
381
382 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
383
384 array[0] = getByGroupId_PrevAndNext(session,
385 socialActivityAchievement, groupId, orderByComparator, true);
386
387 array[1] = socialActivityAchievement;
388
389 array[2] = getByGroupId_PrevAndNext(session,
390 socialActivityAchievement, groupId, orderByComparator, false);
391
392 return array;
393 }
394 catch (Exception e) {
395 throw processException(e);
396 }
397 finally {
398 closeSession(session);
399 }
400 }
401
402 protected SocialActivityAchievement getByGroupId_PrevAndNext(
403 Session session, SocialActivityAchievement socialActivityAchievement,
404 long groupId,
405 OrderByComparator<SocialActivityAchievement> orderByComparator,
406 boolean previous) {
407 StringBundler query = null;
408
409 if (orderByComparator != null) {
410 query = new StringBundler(6 +
411 (orderByComparator.getOrderByFields().length * 6));
412 }
413 else {
414 query = new StringBundler(3);
415 }
416
417 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
418
419 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
420
421 if (orderByComparator != null) {
422 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
423
424 if (orderByConditionFields.length > 0) {
425 query.append(WHERE_AND);
426 }
427
428 for (int i = 0; i < orderByConditionFields.length; i++) {
429 query.append(_ORDER_BY_ENTITY_ALIAS);
430 query.append(orderByConditionFields[i]);
431
432 if ((i + 1) < orderByConditionFields.length) {
433 if (orderByComparator.isAscending() ^ previous) {
434 query.append(WHERE_GREATER_THAN_HAS_NEXT);
435 }
436 else {
437 query.append(WHERE_LESSER_THAN_HAS_NEXT);
438 }
439 }
440 else {
441 if (orderByComparator.isAscending() ^ previous) {
442 query.append(WHERE_GREATER_THAN);
443 }
444 else {
445 query.append(WHERE_LESSER_THAN);
446 }
447 }
448 }
449
450 query.append(ORDER_BY_CLAUSE);
451
452 String[] orderByFields = orderByComparator.getOrderByFields();
453
454 for (int i = 0; i < orderByFields.length; i++) {
455 query.append(_ORDER_BY_ENTITY_ALIAS);
456 query.append(orderByFields[i]);
457
458 if ((i + 1) < orderByFields.length) {
459 if (orderByComparator.isAscending() ^ previous) {
460 query.append(ORDER_BY_ASC_HAS_NEXT);
461 }
462 else {
463 query.append(ORDER_BY_DESC_HAS_NEXT);
464 }
465 }
466 else {
467 if (orderByComparator.isAscending() ^ previous) {
468 query.append(ORDER_BY_ASC);
469 }
470 else {
471 query.append(ORDER_BY_DESC);
472 }
473 }
474 }
475 }
476 else {
477 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
478 }
479
480 String sql = query.toString();
481
482 Query q = session.createQuery(sql);
483
484 q.setFirstResult(0);
485 q.setMaxResults(2);
486
487 QueryPos qPos = QueryPos.getInstance(q);
488
489 qPos.add(groupId);
490
491 if (orderByComparator != null) {
492 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
493
494 for (Object value : values) {
495 qPos.add(value);
496 }
497 }
498
499 List<SocialActivityAchievement> list = q.list();
500
501 if (list.size() == 2) {
502 return list.get(1);
503 }
504 else {
505 return null;
506 }
507 }
508
509
514 @Override
515 public void removeByGroupId(long groupId) {
516 for (SocialActivityAchievement socialActivityAchievement : findByGroupId(
517 groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
518 remove(socialActivityAchievement);
519 }
520 }
521
522
528 @Override
529 public int countByGroupId(long groupId) {
530 FinderPath finderPath = FINDER_PATH_COUNT_BY_GROUPID;
531
532 Object[] finderArgs = new Object[] { groupId };
533
534 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
535 this);
536
537 if (count == null) {
538 StringBundler query = new StringBundler(2);
539
540 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
541
542 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
543
544 String sql = query.toString();
545
546 Session session = null;
547
548 try {
549 session = openSession();
550
551 Query q = session.createQuery(sql);
552
553 QueryPos qPos = QueryPos.getInstance(q);
554
555 qPos.add(groupId);
556
557 count = (Long)q.uniqueResult();
558
559 FinderCacheUtil.putResult(finderPath, finderArgs, count);
560 }
561 catch (Exception e) {
562 FinderCacheUtil.removeResult(finderPath, finderArgs);
563
564 throw processException(e);
565 }
566 finally {
567 closeSession(session);
568 }
569 }
570
571 return count.intValue();
572 }
573
574 private static final String _FINDER_COLUMN_GROUPID_GROUPID_2 = "socialActivityAchievement.groupId = ?";
575 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
576 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
577 SocialActivityAchievementImpl.class,
578 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_U",
579 new String[] {
580 Long.class.getName(), Long.class.getName(),
581
582 Integer.class.getName(), Integer.class.getName(),
583 OrderByComparator.class.getName()
584 });
585 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
586 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
587 SocialActivityAchievementImpl.class,
588 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_U",
589 new String[] { Long.class.getName(), Long.class.getName() },
590 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
591 SocialActivityAchievementModelImpl.USERID_COLUMN_BITMASK);
592 public static final FinderPath FINDER_PATH_COUNT_BY_G_U = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
593 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
594 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
595 "countByG_U",
596 new String[] { Long.class.getName(), Long.class.getName() });
597
598
605 @Override
606 public List<SocialActivityAchievement> findByG_U(long groupId, long userId) {
607 return findByG_U(groupId, userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
608 null);
609 }
610
611
624 @Override
625 public List<SocialActivityAchievement> findByG_U(long groupId, long userId,
626 int start, int end) {
627 return findByG_U(groupId, userId, start, end, null);
628 }
629
630
644 @Override
645 public List<SocialActivityAchievement> findByG_U(long groupId, long userId,
646 int start, int end,
647 OrderByComparator<SocialActivityAchievement> orderByComparator) {
648 boolean pagination = true;
649 FinderPath finderPath = null;
650 Object[] finderArgs = null;
651
652 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
653 (orderByComparator == null)) {
654 pagination = false;
655 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U;
656 finderArgs = new Object[] { groupId, userId };
657 }
658 else {
659 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U;
660 finderArgs = new Object[] {
661 groupId, userId,
662
663 start, end, orderByComparator
664 };
665 }
666
667 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
668 finderArgs, this);
669
670 if ((list != null) && !list.isEmpty()) {
671 for (SocialActivityAchievement socialActivityAchievement : list) {
672 if ((groupId != socialActivityAchievement.getGroupId()) ||
673 (userId != socialActivityAchievement.getUserId())) {
674 list = null;
675
676 break;
677 }
678 }
679 }
680
681 if (list == null) {
682 StringBundler query = null;
683
684 if (orderByComparator != null) {
685 query = new StringBundler(4 +
686 (orderByComparator.getOrderByFields().length * 3));
687 }
688 else {
689 query = new StringBundler(4);
690 }
691
692 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
693
694 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
695
696 query.append(_FINDER_COLUMN_G_U_USERID_2);
697
698 if (orderByComparator != null) {
699 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
700 orderByComparator);
701 }
702 else
703 if (pagination) {
704 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
705 }
706
707 String sql = query.toString();
708
709 Session session = null;
710
711 try {
712 session = openSession();
713
714 Query q = session.createQuery(sql);
715
716 QueryPos qPos = QueryPos.getInstance(q);
717
718 qPos.add(groupId);
719
720 qPos.add(userId);
721
722 if (!pagination) {
723 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
724 getDialect(), start, end, false);
725
726 Collections.sort(list);
727
728 list = Collections.unmodifiableList(list);
729 }
730 else {
731 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
732 getDialect(), start, end);
733 }
734
735 cacheResult(list);
736
737 FinderCacheUtil.putResult(finderPath, finderArgs, list);
738 }
739 catch (Exception e) {
740 FinderCacheUtil.removeResult(finderPath, finderArgs);
741
742 throw processException(e);
743 }
744 finally {
745 closeSession(session);
746 }
747 }
748
749 return list;
750 }
751
752
761 @Override
762 public SocialActivityAchievement findByG_U_First(long groupId, long userId,
763 OrderByComparator<SocialActivityAchievement> orderByComparator)
764 throws NoSuchActivityAchievementException {
765 SocialActivityAchievement socialActivityAchievement = fetchByG_U_First(groupId,
766 userId, orderByComparator);
767
768 if (socialActivityAchievement != null) {
769 return socialActivityAchievement;
770 }
771
772 StringBundler msg = new StringBundler(6);
773
774 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
775
776 msg.append("groupId=");
777 msg.append(groupId);
778
779 msg.append(", userId=");
780 msg.append(userId);
781
782 msg.append(StringPool.CLOSE_CURLY_BRACE);
783
784 throw new NoSuchActivityAchievementException(msg.toString());
785 }
786
787
795 @Override
796 public SocialActivityAchievement fetchByG_U_First(long groupId,
797 long userId,
798 OrderByComparator<SocialActivityAchievement> orderByComparator) {
799 List<SocialActivityAchievement> list = findByG_U(groupId, userId, 0, 1,
800 orderByComparator);
801
802 if (!list.isEmpty()) {
803 return list.get(0);
804 }
805
806 return null;
807 }
808
809
818 @Override
819 public SocialActivityAchievement findByG_U_Last(long groupId, long userId,
820 OrderByComparator<SocialActivityAchievement> orderByComparator)
821 throws NoSuchActivityAchievementException {
822 SocialActivityAchievement socialActivityAchievement = fetchByG_U_Last(groupId,
823 userId, orderByComparator);
824
825 if (socialActivityAchievement != null) {
826 return socialActivityAchievement;
827 }
828
829 StringBundler msg = new StringBundler(6);
830
831 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
832
833 msg.append("groupId=");
834 msg.append(groupId);
835
836 msg.append(", userId=");
837 msg.append(userId);
838
839 msg.append(StringPool.CLOSE_CURLY_BRACE);
840
841 throw new NoSuchActivityAchievementException(msg.toString());
842 }
843
844
852 @Override
853 public SocialActivityAchievement fetchByG_U_Last(long groupId, long userId,
854 OrderByComparator<SocialActivityAchievement> orderByComparator) {
855 int count = countByG_U(groupId, userId);
856
857 if (count == 0) {
858 return null;
859 }
860
861 List<SocialActivityAchievement> list = findByG_U(groupId, userId,
862 count - 1, count, orderByComparator);
863
864 if (!list.isEmpty()) {
865 return list.get(0);
866 }
867
868 return null;
869 }
870
871
881 @Override
882 public SocialActivityAchievement[] findByG_U_PrevAndNext(
883 long activityAchievementId, long groupId, long userId,
884 OrderByComparator<SocialActivityAchievement> orderByComparator)
885 throws NoSuchActivityAchievementException {
886 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
887
888 Session session = null;
889
890 try {
891 session = openSession();
892
893 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
894
895 array[0] = getByG_U_PrevAndNext(session, socialActivityAchievement,
896 groupId, userId, orderByComparator, true);
897
898 array[1] = socialActivityAchievement;
899
900 array[2] = getByG_U_PrevAndNext(session, socialActivityAchievement,
901 groupId, userId, orderByComparator, false);
902
903 return array;
904 }
905 catch (Exception e) {
906 throw processException(e);
907 }
908 finally {
909 closeSession(session);
910 }
911 }
912
913 protected SocialActivityAchievement getByG_U_PrevAndNext(Session session,
914 SocialActivityAchievement socialActivityAchievement, long groupId,
915 long userId,
916 OrderByComparator<SocialActivityAchievement> orderByComparator,
917 boolean previous) {
918 StringBundler query = null;
919
920 if (orderByComparator != null) {
921 query = new StringBundler(6 +
922 (orderByComparator.getOrderByFields().length * 6));
923 }
924 else {
925 query = new StringBundler(3);
926 }
927
928 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
929
930 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
931
932 query.append(_FINDER_COLUMN_G_U_USERID_2);
933
934 if (orderByComparator != null) {
935 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
936
937 if (orderByConditionFields.length > 0) {
938 query.append(WHERE_AND);
939 }
940
941 for (int i = 0; i < orderByConditionFields.length; i++) {
942 query.append(_ORDER_BY_ENTITY_ALIAS);
943 query.append(orderByConditionFields[i]);
944
945 if ((i + 1) < orderByConditionFields.length) {
946 if (orderByComparator.isAscending() ^ previous) {
947 query.append(WHERE_GREATER_THAN_HAS_NEXT);
948 }
949 else {
950 query.append(WHERE_LESSER_THAN_HAS_NEXT);
951 }
952 }
953 else {
954 if (orderByComparator.isAscending() ^ previous) {
955 query.append(WHERE_GREATER_THAN);
956 }
957 else {
958 query.append(WHERE_LESSER_THAN);
959 }
960 }
961 }
962
963 query.append(ORDER_BY_CLAUSE);
964
965 String[] orderByFields = orderByComparator.getOrderByFields();
966
967 for (int i = 0; i < orderByFields.length; i++) {
968 query.append(_ORDER_BY_ENTITY_ALIAS);
969 query.append(orderByFields[i]);
970
971 if ((i + 1) < orderByFields.length) {
972 if (orderByComparator.isAscending() ^ previous) {
973 query.append(ORDER_BY_ASC_HAS_NEXT);
974 }
975 else {
976 query.append(ORDER_BY_DESC_HAS_NEXT);
977 }
978 }
979 else {
980 if (orderByComparator.isAscending() ^ previous) {
981 query.append(ORDER_BY_ASC);
982 }
983 else {
984 query.append(ORDER_BY_DESC);
985 }
986 }
987 }
988 }
989 else {
990 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
991 }
992
993 String sql = query.toString();
994
995 Query q = session.createQuery(sql);
996
997 q.setFirstResult(0);
998 q.setMaxResults(2);
999
1000 QueryPos qPos = QueryPos.getInstance(q);
1001
1002 qPos.add(groupId);
1003
1004 qPos.add(userId);
1005
1006 if (orderByComparator != null) {
1007 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
1008
1009 for (Object value : values) {
1010 qPos.add(value);
1011 }
1012 }
1013
1014 List<SocialActivityAchievement> list = q.list();
1015
1016 if (list.size() == 2) {
1017 return list.get(1);
1018 }
1019 else {
1020 return null;
1021 }
1022 }
1023
1024
1030 @Override
1031 public void removeByG_U(long groupId, long userId) {
1032 for (SocialActivityAchievement socialActivityAchievement : findByG_U(
1033 groupId, userId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
1034 remove(socialActivityAchievement);
1035 }
1036 }
1037
1038
1045 @Override
1046 public int countByG_U(long groupId, long userId) {
1047 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_U;
1048
1049 Object[] finderArgs = new Object[] { groupId, userId };
1050
1051 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
1052 this);
1053
1054 if (count == null) {
1055 StringBundler query = new StringBundler(3);
1056
1057 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1058
1059 query.append(_FINDER_COLUMN_G_U_GROUPID_2);
1060
1061 query.append(_FINDER_COLUMN_G_U_USERID_2);
1062
1063 String sql = query.toString();
1064
1065 Session session = null;
1066
1067 try {
1068 session = openSession();
1069
1070 Query q = session.createQuery(sql);
1071
1072 QueryPos qPos = QueryPos.getInstance(q);
1073
1074 qPos.add(groupId);
1075
1076 qPos.add(userId);
1077
1078 count = (Long)q.uniqueResult();
1079
1080 FinderCacheUtil.putResult(finderPath, finderArgs, count);
1081 }
1082 catch (Exception e) {
1083 FinderCacheUtil.removeResult(finderPath, finderArgs);
1084
1085 throw processException(e);
1086 }
1087 finally {
1088 closeSession(session);
1089 }
1090 }
1091
1092 return count.intValue();
1093 }
1094
1095 private static final String _FINDER_COLUMN_G_U_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
1096 private static final String _FINDER_COLUMN_G_U_USERID_2 = "socialActivityAchievement.userId = ?";
1097 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1098 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1099 SocialActivityAchievementImpl.class,
1100 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_N",
1101 new String[] {
1102 Long.class.getName(), String.class.getName(),
1103
1104 Integer.class.getName(), Integer.class.getName(),
1105 OrderByComparator.class.getName()
1106 });
1107 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1108 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1109 SocialActivityAchievementImpl.class,
1110 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_N",
1111 new String[] { Long.class.getName(), String.class.getName() },
1112 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
1113 SocialActivityAchievementModelImpl.NAME_COLUMN_BITMASK);
1114 public static final FinderPath FINDER_PATH_COUNT_BY_G_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1115 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1116 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
1117 "countByG_N",
1118 new String[] { Long.class.getName(), String.class.getName() });
1119
1120
1127 @Override
1128 public List<SocialActivityAchievement> findByG_N(long groupId, String name) {
1129 return findByG_N(groupId, name, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
1130 null);
1131 }
1132
1133
1146 @Override
1147 public List<SocialActivityAchievement> findByG_N(long groupId, String name,
1148 int start, int end) {
1149 return findByG_N(groupId, name, start, end, null);
1150 }
1151
1152
1166 @Override
1167 public List<SocialActivityAchievement> findByG_N(long groupId, String name,
1168 int start, int end,
1169 OrderByComparator<SocialActivityAchievement> orderByComparator) {
1170 boolean pagination = true;
1171 FinderPath finderPath = null;
1172 Object[] finderArgs = null;
1173
1174 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
1175 (orderByComparator == null)) {
1176 pagination = false;
1177 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N;
1178 finderArgs = new Object[] { groupId, name };
1179 }
1180 else {
1181 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_N;
1182 finderArgs = new Object[] {
1183 groupId, name,
1184
1185 start, end, orderByComparator
1186 };
1187 }
1188
1189 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
1190 finderArgs, this);
1191
1192 if ((list != null) && !list.isEmpty()) {
1193 for (SocialActivityAchievement socialActivityAchievement : list) {
1194 if ((groupId != socialActivityAchievement.getGroupId()) ||
1195 !Validator.equals(name,
1196 socialActivityAchievement.getName())) {
1197 list = null;
1198
1199 break;
1200 }
1201 }
1202 }
1203
1204 if (list == null) {
1205 StringBundler query = null;
1206
1207 if (orderByComparator != null) {
1208 query = new StringBundler(4 +
1209 (orderByComparator.getOrderByFields().length * 3));
1210 }
1211 else {
1212 query = new StringBundler(4);
1213 }
1214
1215 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1216
1217 query.append(_FINDER_COLUMN_G_N_GROUPID_2);
1218
1219 boolean bindName = false;
1220
1221 if (name == null) {
1222 query.append(_FINDER_COLUMN_G_N_NAME_1);
1223 }
1224 else if (name.equals(StringPool.BLANK)) {
1225 query.append(_FINDER_COLUMN_G_N_NAME_3);
1226 }
1227 else {
1228 bindName = true;
1229
1230 query.append(_FINDER_COLUMN_G_N_NAME_2);
1231 }
1232
1233 if (orderByComparator != null) {
1234 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1235 orderByComparator);
1236 }
1237 else
1238 if (pagination) {
1239 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
1240 }
1241
1242 String sql = query.toString();
1243
1244 Session session = null;
1245
1246 try {
1247 session = openSession();
1248
1249 Query q = session.createQuery(sql);
1250
1251 QueryPos qPos = QueryPos.getInstance(q);
1252
1253 qPos.add(groupId);
1254
1255 if (bindName) {
1256 qPos.add(name);
1257 }
1258
1259 if (!pagination) {
1260 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1261 getDialect(), start, end, false);
1262
1263 Collections.sort(list);
1264
1265 list = Collections.unmodifiableList(list);
1266 }
1267 else {
1268 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1269 getDialect(), start, end);
1270 }
1271
1272 cacheResult(list);
1273
1274 FinderCacheUtil.putResult(finderPath, finderArgs, list);
1275 }
1276 catch (Exception e) {
1277 FinderCacheUtil.removeResult(finderPath, finderArgs);
1278
1279 throw processException(e);
1280 }
1281 finally {
1282 closeSession(session);
1283 }
1284 }
1285
1286 return list;
1287 }
1288
1289
1298 @Override
1299 public SocialActivityAchievement findByG_N_First(long groupId, String name,
1300 OrderByComparator<SocialActivityAchievement> orderByComparator)
1301 throws NoSuchActivityAchievementException {
1302 SocialActivityAchievement socialActivityAchievement = fetchByG_N_First(groupId,
1303 name, orderByComparator);
1304
1305 if (socialActivityAchievement != null) {
1306 return socialActivityAchievement;
1307 }
1308
1309 StringBundler msg = new StringBundler(6);
1310
1311 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1312
1313 msg.append("groupId=");
1314 msg.append(groupId);
1315
1316 msg.append(", name=");
1317 msg.append(name);
1318
1319 msg.append(StringPool.CLOSE_CURLY_BRACE);
1320
1321 throw new NoSuchActivityAchievementException(msg.toString());
1322 }
1323
1324
1332 @Override
1333 public SocialActivityAchievement fetchByG_N_First(long groupId,
1334 String name,
1335 OrderByComparator<SocialActivityAchievement> orderByComparator) {
1336 List<SocialActivityAchievement> list = findByG_N(groupId, name, 0, 1,
1337 orderByComparator);
1338
1339 if (!list.isEmpty()) {
1340 return list.get(0);
1341 }
1342
1343 return null;
1344 }
1345
1346
1355 @Override
1356 public SocialActivityAchievement findByG_N_Last(long groupId, String name,
1357 OrderByComparator<SocialActivityAchievement> orderByComparator)
1358 throws NoSuchActivityAchievementException {
1359 SocialActivityAchievement socialActivityAchievement = fetchByG_N_Last(groupId,
1360 name, orderByComparator);
1361
1362 if (socialActivityAchievement != null) {
1363 return socialActivityAchievement;
1364 }
1365
1366 StringBundler msg = new StringBundler(6);
1367
1368 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1369
1370 msg.append("groupId=");
1371 msg.append(groupId);
1372
1373 msg.append(", name=");
1374 msg.append(name);
1375
1376 msg.append(StringPool.CLOSE_CURLY_BRACE);
1377
1378 throw new NoSuchActivityAchievementException(msg.toString());
1379 }
1380
1381
1389 @Override
1390 public SocialActivityAchievement fetchByG_N_Last(long groupId, String name,
1391 OrderByComparator<SocialActivityAchievement> orderByComparator) {
1392 int count = countByG_N(groupId, name);
1393
1394 if (count == 0) {
1395 return null;
1396 }
1397
1398 List<SocialActivityAchievement> list = findByG_N(groupId, name,
1399 count - 1, count, orderByComparator);
1400
1401 if (!list.isEmpty()) {
1402 return list.get(0);
1403 }
1404
1405 return null;
1406 }
1407
1408
1418 @Override
1419 public SocialActivityAchievement[] findByG_N_PrevAndNext(
1420 long activityAchievementId, long groupId, String name,
1421 OrderByComparator<SocialActivityAchievement> orderByComparator)
1422 throws NoSuchActivityAchievementException {
1423 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
1424
1425 Session session = null;
1426
1427 try {
1428 session = openSession();
1429
1430 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
1431
1432 array[0] = getByG_N_PrevAndNext(session, socialActivityAchievement,
1433 groupId, name, orderByComparator, true);
1434
1435 array[1] = socialActivityAchievement;
1436
1437 array[2] = getByG_N_PrevAndNext(session, socialActivityAchievement,
1438 groupId, name, orderByComparator, false);
1439
1440 return array;
1441 }
1442 catch (Exception e) {
1443 throw processException(e);
1444 }
1445 finally {
1446 closeSession(session);
1447 }
1448 }
1449
1450 protected SocialActivityAchievement getByG_N_PrevAndNext(Session session,
1451 SocialActivityAchievement socialActivityAchievement, long groupId,
1452 String name,
1453 OrderByComparator<SocialActivityAchievement> orderByComparator,
1454 boolean previous) {
1455 StringBundler query = null;
1456
1457 if (orderByComparator != null) {
1458 query = new StringBundler(6 +
1459 (orderByComparator.getOrderByFields().length * 6));
1460 }
1461 else {
1462 query = new StringBundler(3);
1463 }
1464
1465 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1466
1467 query.append(_FINDER_COLUMN_G_N_GROUPID_2);
1468
1469 boolean bindName = false;
1470
1471 if (name == null) {
1472 query.append(_FINDER_COLUMN_G_N_NAME_1);
1473 }
1474 else if (name.equals(StringPool.BLANK)) {
1475 query.append(_FINDER_COLUMN_G_N_NAME_3);
1476 }
1477 else {
1478 bindName = true;
1479
1480 query.append(_FINDER_COLUMN_G_N_NAME_2);
1481 }
1482
1483 if (orderByComparator != null) {
1484 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
1485
1486 if (orderByConditionFields.length > 0) {
1487 query.append(WHERE_AND);
1488 }
1489
1490 for (int i = 0; i < orderByConditionFields.length; i++) {
1491 query.append(_ORDER_BY_ENTITY_ALIAS);
1492 query.append(orderByConditionFields[i]);
1493
1494 if ((i + 1) < orderByConditionFields.length) {
1495 if (orderByComparator.isAscending() ^ previous) {
1496 query.append(WHERE_GREATER_THAN_HAS_NEXT);
1497 }
1498 else {
1499 query.append(WHERE_LESSER_THAN_HAS_NEXT);
1500 }
1501 }
1502 else {
1503 if (orderByComparator.isAscending() ^ previous) {
1504 query.append(WHERE_GREATER_THAN);
1505 }
1506 else {
1507 query.append(WHERE_LESSER_THAN);
1508 }
1509 }
1510 }
1511
1512 query.append(ORDER_BY_CLAUSE);
1513
1514 String[] orderByFields = orderByComparator.getOrderByFields();
1515
1516 for (int i = 0; i < orderByFields.length; i++) {
1517 query.append(_ORDER_BY_ENTITY_ALIAS);
1518 query.append(orderByFields[i]);
1519
1520 if ((i + 1) < orderByFields.length) {
1521 if (orderByComparator.isAscending() ^ previous) {
1522 query.append(ORDER_BY_ASC_HAS_NEXT);
1523 }
1524 else {
1525 query.append(ORDER_BY_DESC_HAS_NEXT);
1526 }
1527 }
1528 else {
1529 if (orderByComparator.isAscending() ^ previous) {
1530 query.append(ORDER_BY_ASC);
1531 }
1532 else {
1533 query.append(ORDER_BY_DESC);
1534 }
1535 }
1536 }
1537 }
1538 else {
1539 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
1540 }
1541
1542 String sql = query.toString();
1543
1544 Query q = session.createQuery(sql);
1545
1546 q.setFirstResult(0);
1547 q.setMaxResults(2);
1548
1549 QueryPos qPos = QueryPos.getInstance(q);
1550
1551 qPos.add(groupId);
1552
1553 if (bindName) {
1554 qPos.add(name);
1555 }
1556
1557 if (orderByComparator != null) {
1558 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
1559
1560 for (Object value : values) {
1561 qPos.add(value);
1562 }
1563 }
1564
1565 List<SocialActivityAchievement> list = q.list();
1566
1567 if (list.size() == 2) {
1568 return list.get(1);
1569 }
1570 else {
1571 return null;
1572 }
1573 }
1574
1575
1581 @Override
1582 public void removeByG_N(long groupId, String name) {
1583 for (SocialActivityAchievement socialActivityAchievement : findByG_N(
1584 groupId, name, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
1585 remove(socialActivityAchievement);
1586 }
1587 }
1588
1589
1596 @Override
1597 public int countByG_N(long groupId, String name) {
1598 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_N;
1599
1600 Object[] finderArgs = new Object[] { groupId, name };
1601
1602 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
1603 this);
1604
1605 if (count == null) {
1606 StringBundler query = new StringBundler(3);
1607
1608 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1609
1610 query.append(_FINDER_COLUMN_G_N_GROUPID_2);
1611
1612 boolean bindName = false;
1613
1614 if (name == null) {
1615 query.append(_FINDER_COLUMN_G_N_NAME_1);
1616 }
1617 else if (name.equals(StringPool.BLANK)) {
1618 query.append(_FINDER_COLUMN_G_N_NAME_3);
1619 }
1620 else {
1621 bindName = true;
1622
1623 query.append(_FINDER_COLUMN_G_N_NAME_2);
1624 }
1625
1626 String sql = query.toString();
1627
1628 Session session = null;
1629
1630 try {
1631 session = openSession();
1632
1633 Query q = session.createQuery(sql);
1634
1635 QueryPos qPos = QueryPos.getInstance(q);
1636
1637 qPos.add(groupId);
1638
1639 if (bindName) {
1640 qPos.add(name);
1641 }
1642
1643 count = (Long)q.uniqueResult();
1644
1645 FinderCacheUtil.putResult(finderPath, finderArgs, count);
1646 }
1647 catch (Exception e) {
1648 FinderCacheUtil.removeResult(finderPath, finderArgs);
1649
1650 throw processException(e);
1651 }
1652 finally {
1653 closeSession(session);
1654 }
1655 }
1656
1657 return count.intValue();
1658 }
1659
1660 private static final String _FINDER_COLUMN_G_N_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
1661 private static final String _FINDER_COLUMN_G_N_NAME_1 = "socialActivityAchievement.name IS NULL";
1662 private static final String _FINDER_COLUMN_G_N_NAME_2 = "socialActivityAchievement.name = ?";
1663 private static final String _FINDER_COLUMN_G_N_NAME_3 = "(socialActivityAchievement.name IS NULL OR socialActivityAchievement.name = '')";
1664 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1665 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1666 SocialActivityAchievementImpl.class,
1667 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_F",
1668 new String[] {
1669 Long.class.getName(), Boolean.class.getName(),
1670
1671 Integer.class.getName(), Integer.class.getName(),
1672 OrderByComparator.class.getName()
1673 });
1674 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1675 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1676 SocialActivityAchievementImpl.class,
1677 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_F",
1678 new String[] { Long.class.getName(), Boolean.class.getName() },
1679 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
1680 SocialActivityAchievementModelImpl.FIRSTINGROUP_COLUMN_BITMASK);
1681 public static final FinderPath FINDER_PATH_COUNT_BY_G_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
1682 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
1683 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
1684 "countByG_F",
1685 new String[] { Long.class.getName(), Boolean.class.getName() });
1686
1687
1694 @Override
1695 public List<SocialActivityAchievement> findByG_F(long groupId,
1696 boolean firstInGroup) {
1697 return findByG_F(groupId, firstInGroup, QueryUtil.ALL_POS,
1698 QueryUtil.ALL_POS, null);
1699 }
1700
1701
1714 @Override
1715 public List<SocialActivityAchievement> findByG_F(long groupId,
1716 boolean firstInGroup, int start, int end) {
1717 return findByG_F(groupId, firstInGroup, start, end, null);
1718 }
1719
1720
1734 @Override
1735 public List<SocialActivityAchievement> findByG_F(long groupId,
1736 boolean firstInGroup, int start, int end,
1737 OrderByComparator<SocialActivityAchievement> orderByComparator) {
1738 boolean pagination = true;
1739 FinderPath finderPath = null;
1740 Object[] finderArgs = null;
1741
1742 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
1743 (orderByComparator == null)) {
1744 pagination = false;
1745 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F;
1746 finderArgs = new Object[] { groupId, firstInGroup };
1747 }
1748 else {
1749 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_F;
1750 finderArgs = new Object[] {
1751 groupId, firstInGroup,
1752
1753 start, end, orderByComparator
1754 };
1755 }
1756
1757 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
1758 finderArgs, this);
1759
1760 if ((list != null) && !list.isEmpty()) {
1761 for (SocialActivityAchievement socialActivityAchievement : list) {
1762 if ((groupId != socialActivityAchievement.getGroupId()) ||
1763 (firstInGroup != socialActivityAchievement.getFirstInGroup())) {
1764 list = null;
1765
1766 break;
1767 }
1768 }
1769 }
1770
1771 if (list == null) {
1772 StringBundler query = null;
1773
1774 if (orderByComparator != null) {
1775 query = new StringBundler(4 +
1776 (orderByComparator.getOrderByFields().length * 3));
1777 }
1778 else {
1779 query = new StringBundler(4);
1780 }
1781
1782 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
1783
1784 query.append(_FINDER_COLUMN_G_F_GROUPID_2);
1785
1786 query.append(_FINDER_COLUMN_G_F_FIRSTINGROUP_2);
1787
1788 if (orderByComparator != null) {
1789 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1790 orderByComparator);
1791 }
1792 else
1793 if (pagination) {
1794 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
1795 }
1796
1797 String sql = query.toString();
1798
1799 Session session = null;
1800
1801 try {
1802 session = openSession();
1803
1804 Query q = session.createQuery(sql);
1805
1806 QueryPos qPos = QueryPos.getInstance(q);
1807
1808 qPos.add(groupId);
1809
1810 qPos.add(firstInGroup);
1811
1812 if (!pagination) {
1813 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1814 getDialect(), start, end, false);
1815
1816 Collections.sort(list);
1817
1818 list = Collections.unmodifiableList(list);
1819 }
1820 else {
1821 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
1822 getDialect(), start, end);
1823 }
1824
1825 cacheResult(list);
1826
1827 FinderCacheUtil.putResult(finderPath, finderArgs, list);
1828 }
1829 catch (Exception e) {
1830 FinderCacheUtil.removeResult(finderPath, finderArgs);
1831
1832 throw processException(e);
1833 }
1834 finally {
1835 closeSession(session);
1836 }
1837 }
1838
1839 return list;
1840 }
1841
1842
1851 @Override
1852 public SocialActivityAchievement findByG_F_First(long groupId,
1853 boolean firstInGroup,
1854 OrderByComparator<SocialActivityAchievement> orderByComparator)
1855 throws NoSuchActivityAchievementException {
1856 SocialActivityAchievement socialActivityAchievement = fetchByG_F_First(groupId,
1857 firstInGroup, orderByComparator);
1858
1859 if (socialActivityAchievement != null) {
1860 return socialActivityAchievement;
1861 }
1862
1863 StringBundler msg = new StringBundler(6);
1864
1865 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1866
1867 msg.append("groupId=");
1868 msg.append(groupId);
1869
1870 msg.append(", firstInGroup=");
1871 msg.append(firstInGroup);
1872
1873 msg.append(StringPool.CLOSE_CURLY_BRACE);
1874
1875 throw new NoSuchActivityAchievementException(msg.toString());
1876 }
1877
1878
1886 @Override
1887 public SocialActivityAchievement fetchByG_F_First(long groupId,
1888 boolean firstInGroup,
1889 OrderByComparator<SocialActivityAchievement> orderByComparator) {
1890 List<SocialActivityAchievement> list = findByG_F(groupId, firstInGroup,
1891 0, 1, orderByComparator);
1892
1893 if (!list.isEmpty()) {
1894 return list.get(0);
1895 }
1896
1897 return null;
1898 }
1899
1900
1909 @Override
1910 public SocialActivityAchievement findByG_F_Last(long groupId,
1911 boolean firstInGroup,
1912 OrderByComparator<SocialActivityAchievement> orderByComparator)
1913 throws NoSuchActivityAchievementException {
1914 SocialActivityAchievement socialActivityAchievement = fetchByG_F_Last(groupId,
1915 firstInGroup, orderByComparator);
1916
1917 if (socialActivityAchievement != null) {
1918 return socialActivityAchievement;
1919 }
1920
1921 StringBundler msg = new StringBundler(6);
1922
1923 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1924
1925 msg.append("groupId=");
1926 msg.append(groupId);
1927
1928 msg.append(", firstInGroup=");
1929 msg.append(firstInGroup);
1930
1931 msg.append(StringPool.CLOSE_CURLY_BRACE);
1932
1933 throw new NoSuchActivityAchievementException(msg.toString());
1934 }
1935
1936
1944 @Override
1945 public SocialActivityAchievement fetchByG_F_Last(long groupId,
1946 boolean firstInGroup,
1947 OrderByComparator<SocialActivityAchievement> orderByComparator) {
1948 int count = countByG_F(groupId, firstInGroup);
1949
1950 if (count == 0) {
1951 return null;
1952 }
1953
1954 List<SocialActivityAchievement> list = findByG_F(groupId, firstInGroup,
1955 count - 1, count, orderByComparator);
1956
1957 if (!list.isEmpty()) {
1958 return list.get(0);
1959 }
1960
1961 return null;
1962 }
1963
1964
1974 @Override
1975 public SocialActivityAchievement[] findByG_F_PrevAndNext(
1976 long activityAchievementId, long groupId, boolean firstInGroup,
1977 OrderByComparator<SocialActivityAchievement> orderByComparator)
1978 throws NoSuchActivityAchievementException {
1979 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
1980
1981 Session session = null;
1982
1983 try {
1984 session = openSession();
1985
1986 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
1987
1988 array[0] = getByG_F_PrevAndNext(session, socialActivityAchievement,
1989 groupId, firstInGroup, orderByComparator, true);
1990
1991 array[1] = socialActivityAchievement;
1992
1993 array[2] = getByG_F_PrevAndNext(session, socialActivityAchievement,
1994 groupId, firstInGroup, orderByComparator, false);
1995
1996 return array;
1997 }
1998 catch (Exception e) {
1999 throw processException(e);
2000 }
2001 finally {
2002 closeSession(session);
2003 }
2004 }
2005
2006 protected SocialActivityAchievement getByG_F_PrevAndNext(Session session,
2007 SocialActivityAchievement socialActivityAchievement, long groupId,
2008 boolean firstInGroup,
2009 OrderByComparator<SocialActivityAchievement> orderByComparator,
2010 boolean previous) {
2011 StringBundler query = null;
2012
2013 if (orderByComparator != null) {
2014 query = new StringBundler(6 +
2015 (orderByComparator.getOrderByFields().length * 6));
2016 }
2017 else {
2018 query = new StringBundler(3);
2019 }
2020
2021 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2022
2023 query.append(_FINDER_COLUMN_G_F_GROUPID_2);
2024
2025 query.append(_FINDER_COLUMN_G_F_FIRSTINGROUP_2);
2026
2027 if (orderByComparator != null) {
2028 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
2029
2030 if (orderByConditionFields.length > 0) {
2031 query.append(WHERE_AND);
2032 }
2033
2034 for (int i = 0; i < orderByConditionFields.length; i++) {
2035 query.append(_ORDER_BY_ENTITY_ALIAS);
2036 query.append(orderByConditionFields[i]);
2037
2038 if ((i + 1) < orderByConditionFields.length) {
2039 if (orderByComparator.isAscending() ^ previous) {
2040 query.append(WHERE_GREATER_THAN_HAS_NEXT);
2041 }
2042 else {
2043 query.append(WHERE_LESSER_THAN_HAS_NEXT);
2044 }
2045 }
2046 else {
2047 if (orderByComparator.isAscending() ^ previous) {
2048 query.append(WHERE_GREATER_THAN);
2049 }
2050 else {
2051 query.append(WHERE_LESSER_THAN);
2052 }
2053 }
2054 }
2055
2056 query.append(ORDER_BY_CLAUSE);
2057
2058 String[] orderByFields = orderByComparator.getOrderByFields();
2059
2060 for (int i = 0; i < orderByFields.length; i++) {
2061 query.append(_ORDER_BY_ENTITY_ALIAS);
2062 query.append(orderByFields[i]);
2063
2064 if ((i + 1) < orderByFields.length) {
2065 if (orderByComparator.isAscending() ^ previous) {
2066 query.append(ORDER_BY_ASC_HAS_NEXT);
2067 }
2068 else {
2069 query.append(ORDER_BY_DESC_HAS_NEXT);
2070 }
2071 }
2072 else {
2073 if (orderByComparator.isAscending() ^ previous) {
2074 query.append(ORDER_BY_ASC);
2075 }
2076 else {
2077 query.append(ORDER_BY_DESC);
2078 }
2079 }
2080 }
2081 }
2082 else {
2083 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
2084 }
2085
2086 String sql = query.toString();
2087
2088 Query q = session.createQuery(sql);
2089
2090 q.setFirstResult(0);
2091 q.setMaxResults(2);
2092
2093 QueryPos qPos = QueryPos.getInstance(q);
2094
2095 qPos.add(groupId);
2096
2097 qPos.add(firstInGroup);
2098
2099 if (orderByComparator != null) {
2100 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
2101
2102 for (Object value : values) {
2103 qPos.add(value);
2104 }
2105 }
2106
2107 List<SocialActivityAchievement> list = q.list();
2108
2109 if (list.size() == 2) {
2110 return list.get(1);
2111 }
2112 else {
2113 return null;
2114 }
2115 }
2116
2117
2123 @Override
2124 public void removeByG_F(long groupId, boolean firstInGroup) {
2125 for (SocialActivityAchievement socialActivityAchievement : findByG_F(
2126 groupId, firstInGroup, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
2127 null)) {
2128 remove(socialActivityAchievement);
2129 }
2130 }
2131
2132
2139 @Override
2140 public int countByG_F(long groupId, boolean firstInGroup) {
2141 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_F;
2142
2143 Object[] finderArgs = new Object[] { groupId, firstInGroup };
2144
2145 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
2146 this);
2147
2148 if (count == null) {
2149 StringBundler query = new StringBundler(3);
2150
2151 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2152
2153 query.append(_FINDER_COLUMN_G_F_GROUPID_2);
2154
2155 query.append(_FINDER_COLUMN_G_F_FIRSTINGROUP_2);
2156
2157 String sql = query.toString();
2158
2159 Session session = null;
2160
2161 try {
2162 session = openSession();
2163
2164 Query q = session.createQuery(sql);
2165
2166 QueryPos qPos = QueryPos.getInstance(q);
2167
2168 qPos.add(groupId);
2169
2170 qPos.add(firstInGroup);
2171
2172 count = (Long)q.uniqueResult();
2173
2174 FinderCacheUtil.putResult(finderPath, finderArgs, count);
2175 }
2176 catch (Exception e) {
2177 FinderCacheUtil.removeResult(finderPath, finderArgs);
2178
2179 throw processException(e);
2180 }
2181 finally {
2182 closeSession(session);
2183 }
2184 }
2185
2186 return count.intValue();
2187 }
2188
2189 private static final String _FINDER_COLUMN_G_F_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
2190 private static final String _FINDER_COLUMN_G_F_FIRSTINGROUP_2 = "socialActivityAchievement.firstInGroup = ?";
2191 public static final FinderPath FINDER_PATH_FETCH_BY_G_U_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2192 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2193 SocialActivityAchievementImpl.class, FINDER_CLASS_NAME_ENTITY,
2194 "fetchByG_U_N",
2195 new String[] {
2196 Long.class.getName(), Long.class.getName(),
2197 String.class.getName()
2198 },
2199 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
2200 SocialActivityAchievementModelImpl.USERID_COLUMN_BITMASK |
2201 SocialActivityAchievementModelImpl.NAME_COLUMN_BITMASK);
2202 public static final FinderPath FINDER_PATH_COUNT_BY_G_U_N = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2203 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2204 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
2205 "countByG_U_N",
2206 new String[] {
2207 Long.class.getName(), Long.class.getName(),
2208 String.class.getName()
2209 });
2210
2211
2220 @Override
2221 public SocialActivityAchievement findByG_U_N(long groupId, long userId,
2222 String name) throws NoSuchActivityAchievementException {
2223 SocialActivityAchievement socialActivityAchievement = fetchByG_U_N(groupId,
2224 userId, name);
2225
2226 if (socialActivityAchievement == null) {
2227 StringBundler msg = new StringBundler(8);
2228
2229 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2230
2231 msg.append("groupId=");
2232 msg.append(groupId);
2233
2234 msg.append(", userId=");
2235 msg.append(userId);
2236
2237 msg.append(", name=");
2238 msg.append(name);
2239
2240 msg.append(StringPool.CLOSE_CURLY_BRACE);
2241
2242 if (_log.isWarnEnabled()) {
2243 _log.warn(msg.toString());
2244 }
2245
2246 throw new NoSuchActivityAchievementException(msg.toString());
2247 }
2248
2249 return socialActivityAchievement;
2250 }
2251
2252
2260 @Override
2261 public SocialActivityAchievement fetchByG_U_N(long groupId, long userId,
2262 String name) {
2263 return fetchByG_U_N(groupId, userId, name, true);
2264 }
2265
2266
2275 @Override
2276 public SocialActivityAchievement fetchByG_U_N(long groupId, long userId,
2277 String name, boolean retrieveFromCache) {
2278 Object[] finderArgs = new Object[] { groupId, userId, name };
2279
2280 Object result = null;
2281
2282 if (retrieveFromCache) {
2283 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_G_U_N,
2284 finderArgs, this);
2285 }
2286
2287 if (result instanceof SocialActivityAchievement) {
2288 SocialActivityAchievement socialActivityAchievement = (SocialActivityAchievement)result;
2289
2290 if ((groupId != socialActivityAchievement.getGroupId()) ||
2291 (userId != socialActivityAchievement.getUserId()) ||
2292 !Validator.equals(name, socialActivityAchievement.getName())) {
2293 result = null;
2294 }
2295 }
2296
2297 if (result == null) {
2298 StringBundler query = new StringBundler(5);
2299
2300 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2301
2302 query.append(_FINDER_COLUMN_G_U_N_GROUPID_2);
2303
2304 query.append(_FINDER_COLUMN_G_U_N_USERID_2);
2305
2306 boolean bindName = false;
2307
2308 if (name == null) {
2309 query.append(_FINDER_COLUMN_G_U_N_NAME_1);
2310 }
2311 else if (name.equals(StringPool.BLANK)) {
2312 query.append(_FINDER_COLUMN_G_U_N_NAME_3);
2313 }
2314 else {
2315 bindName = true;
2316
2317 query.append(_FINDER_COLUMN_G_U_N_NAME_2);
2318 }
2319
2320 String sql = query.toString();
2321
2322 Session session = null;
2323
2324 try {
2325 session = openSession();
2326
2327 Query q = session.createQuery(sql);
2328
2329 QueryPos qPos = QueryPos.getInstance(q);
2330
2331 qPos.add(groupId);
2332
2333 qPos.add(userId);
2334
2335 if (bindName) {
2336 qPos.add(name);
2337 }
2338
2339 List<SocialActivityAchievement> list = q.list();
2340
2341 if (list.isEmpty()) {
2342 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N,
2343 finderArgs, list);
2344 }
2345 else {
2346 SocialActivityAchievement socialActivityAchievement = list.get(0);
2347
2348 result = socialActivityAchievement;
2349
2350 cacheResult(socialActivityAchievement);
2351
2352 if ((socialActivityAchievement.getGroupId() != groupId) ||
2353 (socialActivityAchievement.getUserId() != userId) ||
2354 (socialActivityAchievement.getName() == null) ||
2355 !socialActivityAchievement.getName().equals(name)) {
2356 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N,
2357 finderArgs, socialActivityAchievement);
2358 }
2359 }
2360 }
2361 catch (Exception e) {
2362 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_N,
2363 finderArgs);
2364
2365 throw processException(e);
2366 }
2367 finally {
2368 closeSession(session);
2369 }
2370 }
2371
2372 if (result instanceof List<?>) {
2373 return null;
2374 }
2375 else {
2376 return (SocialActivityAchievement)result;
2377 }
2378 }
2379
2380
2388 @Override
2389 public SocialActivityAchievement removeByG_U_N(long groupId, long userId,
2390 String name) throws NoSuchActivityAchievementException {
2391 SocialActivityAchievement socialActivityAchievement = findByG_U_N(groupId,
2392 userId, name);
2393
2394 return remove(socialActivityAchievement);
2395 }
2396
2397
2405 @Override
2406 public int countByG_U_N(long groupId, long userId, String name) {
2407 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_U_N;
2408
2409 Object[] finderArgs = new Object[] { groupId, userId, name };
2410
2411 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
2412 this);
2413
2414 if (count == null) {
2415 StringBundler query = new StringBundler(4);
2416
2417 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2418
2419 query.append(_FINDER_COLUMN_G_U_N_GROUPID_2);
2420
2421 query.append(_FINDER_COLUMN_G_U_N_USERID_2);
2422
2423 boolean bindName = false;
2424
2425 if (name == null) {
2426 query.append(_FINDER_COLUMN_G_U_N_NAME_1);
2427 }
2428 else if (name.equals(StringPool.BLANK)) {
2429 query.append(_FINDER_COLUMN_G_U_N_NAME_3);
2430 }
2431 else {
2432 bindName = true;
2433
2434 query.append(_FINDER_COLUMN_G_U_N_NAME_2);
2435 }
2436
2437 String sql = query.toString();
2438
2439 Session session = null;
2440
2441 try {
2442 session = openSession();
2443
2444 Query q = session.createQuery(sql);
2445
2446 QueryPos qPos = QueryPos.getInstance(q);
2447
2448 qPos.add(groupId);
2449
2450 qPos.add(userId);
2451
2452 if (bindName) {
2453 qPos.add(name);
2454 }
2455
2456 count = (Long)q.uniqueResult();
2457
2458 FinderCacheUtil.putResult(finderPath, finderArgs, count);
2459 }
2460 catch (Exception e) {
2461 FinderCacheUtil.removeResult(finderPath, finderArgs);
2462
2463 throw processException(e);
2464 }
2465 finally {
2466 closeSession(session);
2467 }
2468 }
2469
2470 return count.intValue();
2471 }
2472
2473 private static final String _FINDER_COLUMN_G_U_N_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
2474 private static final String _FINDER_COLUMN_G_U_N_USERID_2 = "socialActivityAchievement.userId = ? AND ";
2475 private static final String _FINDER_COLUMN_G_U_N_NAME_1 = "socialActivityAchievement.name IS NULL";
2476 private static final String _FINDER_COLUMN_G_U_N_NAME_2 = "socialActivityAchievement.name = ?";
2477 private static final String _FINDER_COLUMN_G_U_N_NAME_3 = "(socialActivityAchievement.name IS NULL OR socialActivityAchievement.name = '')";
2478 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2479 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2480 SocialActivityAchievementImpl.class,
2481 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findByG_U_F",
2482 new String[] {
2483 Long.class.getName(), Long.class.getName(),
2484 Boolean.class.getName(),
2485
2486 Integer.class.getName(), Integer.class.getName(),
2487 OrderByComparator.class.getName()
2488 });
2489 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2490 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2491 SocialActivityAchievementImpl.class,
2492 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findByG_U_F",
2493 new String[] {
2494 Long.class.getName(), Long.class.getName(),
2495 Boolean.class.getName()
2496 },
2497 SocialActivityAchievementModelImpl.GROUPID_COLUMN_BITMASK |
2498 SocialActivityAchievementModelImpl.USERID_COLUMN_BITMASK |
2499 SocialActivityAchievementModelImpl.FIRSTINGROUP_COLUMN_BITMASK);
2500 public static final FinderPath FINDER_PATH_COUNT_BY_G_U_F = new FinderPath(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
2501 SocialActivityAchievementModelImpl.FINDER_CACHE_ENABLED,
2502 Long.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
2503 "countByG_U_F",
2504 new String[] {
2505 Long.class.getName(), Long.class.getName(),
2506 Boolean.class.getName()
2507 });
2508
2509
2517 @Override
2518 public List<SocialActivityAchievement> findByG_U_F(long groupId,
2519 long userId, boolean firstInGroup) {
2520 return findByG_U_F(groupId, userId, firstInGroup, QueryUtil.ALL_POS,
2521 QueryUtil.ALL_POS, null);
2522 }
2523
2524
2538 @Override
2539 public List<SocialActivityAchievement> findByG_U_F(long groupId,
2540 long userId, boolean firstInGroup, int start, int end) {
2541 return findByG_U_F(groupId, userId, firstInGroup, start, end, null);
2542 }
2543
2544
2559 @Override
2560 public List<SocialActivityAchievement> findByG_U_F(long groupId,
2561 long userId, boolean firstInGroup, int start, int end,
2562 OrderByComparator<SocialActivityAchievement> orderByComparator) {
2563 boolean pagination = true;
2564 FinderPath finderPath = null;
2565 Object[] finderArgs = null;
2566
2567 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
2568 (orderByComparator == null)) {
2569 pagination = false;
2570 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F;
2571 finderArgs = new Object[] { groupId, userId, firstInGroup };
2572 }
2573 else {
2574 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_G_U_F;
2575 finderArgs = new Object[] {
2576 groupId, userId, firstInGroup,
2577
2578 start, end, orderByComparator
2579 };
2580 }
2581
2582 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
2583 finderArgs, this);
2584
2585 if ((list != null) && !list.isEmpty()) {
2586 for (SocialActivityAchievement socialActivityAchievement : list) {
2587 if ((groupId != socialActivityAchievement.getGroupId()) ||
2588 (userId != socialActivityAchievement.getUserId()) ||
2589 (firstInGroup != socialActivityAchievement.getFirstInGroup())) {
2590 list = null;
2591
2592 break;
2593 }
2594 }
2595 }
2596
2597 if (list == null) {
2598 StringBundler query = null;
2599
2600 if (orderByComparator != null) {
2601 query = new StringBundler(5 +
2602 (orderByComparator.getOrderByFields().length * 3));
2603 }
2604 else {
2605 query = new StringBundler(5);
2606 }
2607
2608 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2609
2610 query.append(_FINDER_COLUMN_G_U_F_GROUPID_2);
2611
2612 query.append(_FINDER_COLUMN_G_U_F_USERID_2);
2613
2614 query.append(_FINDER_COLUMN_G_U_F_FIRSTINGROUP_2);
2615
2616 if (orderByComparator != null) {
2617 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
2618 orderByComparator);
2619 }
2620 else
2621 if (pagination) {
2622 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
2623 }
2624
2625 String sql = query.toString();
2626
2627 Session session = null;
2628
2629 try {
2630 session = openSession();
2631
2632 Query q = session.createQuery(sql);
2633
2634 QueryPos qPos = QueryPos.getInstance(q);
2635
2636 qPos.add(groupId);
2637
2638 qPos.add(userId);
2639
2640 qPos.add(firstInGroup);
2641
2642 if (!pagination) {
2643 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
2644 getDialect(), start, end, false);
2645
2646 Collections.sort(list);
2647
2648 list = Collections.unmodifiableList(list);
2649 }
2650 else {
2651 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
2652 getDialect(), start, end);
2653 }
2654
2655 cacheResult(list);
2656
2657 FinderCacheUtil.putResult(finderPath, finderArgs, list);
2658 }
2659 catch (Exception e) {
2660 FinderCacheUtil.removeResult(finderPath, finderArgs);
2661
2662 throw processException(e);
2663 }
2664 finally {
2665 closeSession(session);
2666 }
2667 }
2668
2669 return list;
2670 }
2671
2672
2682 @Override
2683 public SocialActivityAchievement findByG_U_F_First(long groupId,
2684 long userId, boolean firstInGroup,
2685 OrderByComparator<SocialActivityAchievement> orderByComparator)
2686 throws NoSuchActivityAchievementException {
2687 SocialActivityAchievement socialActivityAchievement = fetchByG_U_F_First(groupId,
2688 userId, firstInGroup, orderByComparator);
2689
2690 if (socialActivityAchievement != null) {
2691 return socialActivityAchievement;
2692 }
2693
2694 StringBundler msg = new StringBundler(8);
2695
2696 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2697
2698 msg.append("groupId=");
2699 msg.append(groupId);
2700
2701 msg.append(", userId=");
2702 msg.append(userId);
2703
2704 msg.append(", firstInGroup=");
2705 msg.append(firstInGroup);
2706
2707 msg.append(StringPool.CLOSE_CURLY_BRACE);
2708
2709 throw new NoSuchActivityAchievementException(msg.toString());
2710 }
2711
2712
2721 @Override
2722 public SocialActivityAchievement fetchByG_U_F_First(long groupId,
2723 long userId, boolean firstInGroup,
2724 OrderByComparator<SocialActivityAchievement> orderByComparator) {
2725 List<SocialActivityAchievement> list = findByG_U_F(groupId, userId,
2726 firstInGroup, 0, 1, orderByComparator);
2727
2728 if (!list.isEmpty()) {
2729 return list.get(0);
2730 }
2731
2732 return null;
2733 }
2734
2735
2745 @Override
2746 public SocialActivityAchievement findByG_U_F_Last(long groupId,
2747 long userId, boolean firstInGroup,
2748 OrderByComparator<SocialActivityAchievement> orderByComparator)
2749 throws NoSuchActivityAchievementException {
2750 SocialActivityAchievement socialActivityAchievement = fetchByG_U_F_Last(groupId,
2751 userId, firstInGroup, orderByComparator);
2752
2753 if (socialActivityAchievement != null) {
2754 return socialActivityAchievement;
2755 }
2756
2757 StringBundler msg = new StringBundler(8);
2758
2759 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
2760
2761 msg.append("groupId=");
2762 msg.append(groupId);
2763
2764 msg.append(", userId=");
2765 msg.append(userId);
2766
2767 msg.append(", firstInGroup=");
2768 msg.append(firstInGroup);
2769
2770 msg.append(StringPool.CLOSE_CURLY_BRACE);
2771
2772 throw new NoSuchActivityAchievementException(msg.toString());
2773 }
2774
2775
2784 @Override
2785 public SocialActivityAchievement fetchByG_U_F_Last(long groupId,
2786 long userId, boolean firstInGroup,
2787 OrderByComparator<SocialActivityAchievement> orderByComparator) {
2788 int count = countByG_U_F(groupId, userId, firstInGroup);
2789
2790 if (count == 0) {
2791 return null;
2792 }
2793
2794 List<SocialActivityAchievement> list = findByG_U_F(groupId, userId,
2795 firstInGroup, count - 1, count, orderByComparator);
2796
2797 if (!list.isEmpty()) {
2798 return list.get(0);
2799 }
2800
2801 return null;
2802 }
2803
2804
2815 @Override
2816 public SocialActivityAchievement[] findByG_U_F_PrevAndNext(
2817 long activityAchievementId, long groupId, long userId,
2818 boolean firstInGroup,
2819 OrderByComparator<SocialActivityAchievement> orderByComparator)
2820 throws NoSuchActivityAchievementException {
2821 SocialActivityAchievement socialActivityAchievement = findByPrimaryKey(activityAchievementId);
2822
2823 Session session = null;
2824
2825 try {
2826 session = openSession();
2827
2828 SocialActivityAchievement[] array = new SocialActivityAchievementImpl[3];
2829
2830 array[0] = getByG_U_F_PrevAndNext(session,
2831 socialActivityAchievement, groupId, userId, firstInGroup,
2832 orderByComparator, true);
2833
2834 array[1] = socialActivityAchievement;
2835
2836 array[2] = getByG_U_F_PrevAndNext(session,
2837 socialActivityAchievement, groupId, userId, firstInGroup,
2838 orderByComparator, false);
2839
2840 return array;
2841 }
2842 catch (Exception e) {
2843 throw processException(e);
2844 }
2845 finally {
2846 closeSession(session);
2847 }
2848 }
2849
2850 protected SocialActivityAchievement getByG_U_F_PrevAndNext(
2851 Session session, SocialActivityAchievement socialActivityAchievement,
2852 long groupId, long userId, boolean firstInGroup,
2853 OrderByComparator<SocialActivityAchievement> orderByComparator,
2854 boolean previous) {
2855 StringBundler query = null;
2856
2857 if (orderByComparator != null) {
2858 query = new StringBundler(6 +
2859 (orderByComparator.getOrderByFields().length * 6));
2860 }
2861 else {
2862 query = new StringBundler(3);
2863 }
2864
2865 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE);
2866
2867 query.append(_FINDER_COLUMN_G_U_F_GROUPID_2);
2868
2869 query.append(_FINDER_COLUMN_G_U_F_USERID_2);
2870
2871 query.append(_FINDER_COLUMN_G_U_F_FIRSTINGROUP_2);
2872
2873 if (orderByComparator != null) {
2874 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
2875
2876 if (orderByConditionFields.length > 0) {
2877 query.append(WHERE_AND);
2878 }
2879
2880 for (int i = 0; i < orderByConditionFields.length; i++) {
2881 query.append(_ORDER_BY_ENTITY_ALIAS);
2882 query.append(orderByConditionFields[i]);
2883
2884 if ((i + 1) < orderByConditionFields.length) {
2885 if (orderByComparator.isAscending() ^ previous) {
2886 query.append(WHERE_GREATER_THAN_HAS_NEXT);
2887 }
2888 else {
2889 query.append(WHERE_LESSER_THAN_HAS_NEXT);
2890 }
2891 }
2892 else {
2893 if (orderByComparator.isAscending() ^ previous) {
2894 query.append(WHERE_GREATER_THAN);
2895 }
2896 else {
2897 query.append(WHERE_LESSER_THAN);
2898 }
2899 }
2900 }
2901
2902 query.append(ORDER_BY_CLAUSE);
2903
2904 String[] orderByFields = orderByComparator.getOrderByFields();
2905
2906 for (int i = 0; i < orderByFields.length; i++) {
2907 query.append(_ORDER_BY_ENTITY_ALIAS);
2908 query.append(orderByFields[i]);
2909
2910 if ((i + 1) < orderByFields.length) {
2911 if (orderByComparator.isAscending() ^ previous) {
2912 query.append(ORDER_BY_ASC_HAS_NEXT);
2913 }
2914 else {
2915 query.append(ORDER_BY_DESC_HAS_NEXT);
2916 }
2917 }
2918 else {
2919 if (orderByComparator.isAscending() ^ previous) {
2920 query.append(ORDER_BY_ASC);
2921 }
2922 else {
2923 query.append(ORDER_BY_DESC);
2924 }
2925 }
2926 }
2927 }
2928 else {
2929 query.append(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
2930 }
2931
2932 String sql = query.toString();
2933
2934 Query q = session.createQuery(sql);
2935
2936 q.setFirstResult(0);
2937 q.setMaxResults(2);
2938
2939 QueryPos qPos = QueryPos.getInstance(q);
2940
2941 qPos.add(groupId);
2942
2943 qPos.add(userId);
2944
2945 qPos.add(firstInGroup);
2946
2947 if (orderByComparator != null) {
2948 Object[] values = orderByComparator.getOrderByConditionValues(socialActivityAchievement);
2949
2950 for (Object value : values) {
2951 qPos.add(value);
2952 }
2953 }
2954
2955 List<SocialActivityAchievement> list = q.list();
2956
2957 if (list.size() == 2) {
2958 return list.get(1);
2959 }
2960 else {
2961 return null;
2962 }
2963 }
2964
2965
2972 @Override
2973 public void removeByG_U_F(long groupId, long userId, boolean firstInGroup) {
2974 for (SocialActivityAchievement socialActivityAchievement : findByG_U_F(
2975 groupId, userId, firstInGroup, QueryUtil.ALL_POS,
2976 QueryUtil.ALL_POS, null)) {
2977 remove(socialActivityAchievement);
2978 }
2979 }
2980
2981
2989 @Override
2990 public int countByG_U_F(long groupId, long userId, boolean firstInGroup) {
2991 FinderPath finderPath = FINDER_PATH_COUNT_BY_G_U_F;
2992
2993 Object[] finderArgs = new Object[] { groupId, userId, firstInGroup };
2994
2995 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
2996 this);
2997
2998 if (count == null) {
2999 StringBundler query = new StringBundler(4);
3000
3001 query.append(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE);
3002
3003 query.append(_FINDER_COLUMN_G_U_F_GROUPID_2);
3004
3005 query.append(_FINDER_COLUMN_G_U_F_USERID_2);
3006
3007 query.append(_FINDER_COLUMN_G_U_F_FIRSTINGROUP_2);
3008
3009 String sql = query.toString();
3010
3011 Session session = null;
3012
3013 try {
3014 session = openSession();
3015
3016 Query q = session.createQuery(sql);
3017
3018 QueryPos qPos = QueryPos.getInstance(q);
3019
3020 qPos.add(groupId);
3021
3022 qPos.add(userId);
3023
3024 qPos.add(firstInGroup);
3025
3026 count = (Long)q.uniqueResult();
3027
3028 FinderCacheUtil.putResult(finderPath, finderArgs, count);
3029 }
3030 catch (Exception e) {
3031 FinderCacheUtil.removeResult(finderPath, finderArgs);
3032
3033 throw processException(e);
3034 }
3035 finally {
3036 closeSession(session);
3037 }
3038 }
3039
3040 return count.intValue();
3041 }
3042
3043 private static final String _FINDER_COLUMN_G_U_F_GROUPID_2 = "socialActivityAchievement.groupId = ? AND ";
3044 private static final String _FINDER_COLUMN_G_U_F_USERID_2 = "socialActivityAchievement.userId = ? AND ";
3045 private static final String _FINDER_COLUMN_G_U_F_FIRSTINGROUP_2 = "socialActivityAchievement.firstInGroup = ?";
3046
3047 public SocialActivityAchievementPersistenceImpl() {
3048 setModelClass(SocialActivityAchievement.class);
3049 }
3050
3051
3056 @Override
3057 public void cacheResult(SocialActivityAchievement socialActivityAchievement) {
3058 EntityCacheUtil.putResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3059 SocialActivityAchievementImpl.class,
3060 socialActivityAchievement.getPrimaryKey(), socialActivityAchievement);
3061
3062 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N,
3063 new Object[] {
3064 socialActivityAchievement.getGroupId(),
3065 socialActivityAchievement.getUserId(),
3066 socialActivityAchievement.getName()
3067 }, socialActivityAchievement);
3068
3069 socialActivityAchievement.resetOriginalValues();
3070 }
3071
3072
3077 @Override
3078 public void cacheResult(
3079 List<SocialActivityAchievement> socialActivityAchievements) {
3080 for (SocialActivityAchievement socialActivityAchievement : socialActivityAchievements) {
3081 if (EntityCacheUtil.getResult(
3082 SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3083 SocialActivityAchievementImpl.class,
3084 socialActivityAchievement.getPrimaryKey()) == null) {
3085 cacheResult(socialActivityAchievement);
3086 }
3087 else {
3088 socialActivityAchievement.resetOriginalValues();
3089 }
3090 }
3091 }
3092
3093
3100 @Override
3101 public void clearCache() {
3102 if (_HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE) {
3103 CacheRegistryUtil.clear(SocialActivityAchievementImpl.class.getName());
3104 }
3105
3106 EntityCacheUtil.clearCache(SocialActivityAchievementImpl.class);
3107
3108 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
3109 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3110 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3111 }
3112
3113
3120 @Override
3121 public void clearCache(SocialActivityAchievement socialActivityAchievement) {
3122 EntityCacheUtil.removeResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3123 SocialActivityAchievementImpl.class,
3124 socialActivityAchievement.getPrimaryKey());
3125
3126 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3127 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3128
3129 clearUniqueFindersCache(socialActivityAchievement);
3130 }
3131
3132 @Override
3133 public void clearCache(
3134 List<SocialActivityAchievement> socialActivityAchievements) {
3135 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3136 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3137
3138 for (SocialActivityAchievement socialActivityAchievement : socialActivityAchievements) {
3139 EntityCacheUtil.removeResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3140 SocialActivityAchievementImpl.class,
3141 socialActivityAchievement.getPrimaryKey());
3142
3143 clearUniqueFindersCache(socialActivityAchievement);
3144 }
3145 }
3146
3147 protected void cacheUniqueFindersCache(
3148 SocialActivityAchievement socialActivityAchievement) {
3149 if (socialActivityAchievement.isNew()) {
3150 Object[] args = new Object[] {
3151 socialActivityAchievement.getGroupId(),
3152 socialActivityAchievement.getUserId(),
3153 socialActivityAchievement.getName()
3154 };
3155
3156 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U_N, args,
3157 Long.valueOf(1));
3158 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N, args,
3159 socialActivityAchievement);
3160 }
3161 else {
3162 SocialActivityAchievementModelImpl socialActivityAchievementModelImpl =
3163 (SocialActivityAchievementModelImpl)socialActivityAchievement;
3164
3165 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3166 FINDER_PATH_FETCH_BY_G_U_N.getColumnBitmask()) != 0) {
3167 Object[] args = new Object[] {
3168 socialActivityAchievement.getGroupId(),
3169 socialActivityAchievement.getUserId(),
3170 socialActivityAchievement.getName()
3171 };
3172
3173 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_U_N, args,
3174 Long.valueOf(1));
3175 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_U_N, args,
3176 socialActivityAchievement);
3177 }
3178 }
3179 }
3180
3181 protected void clearUniqueFindersCache(
3182 SocialActivityAchievement socialActivityAchievement) {
3183 SocialActivityAchievementModelImpl socialActivityAchievementModelImpl = (SocialActivityAchievementModelImpl)socialActivityAchievement;
3184
3185 Object[] args = new Object[] {
3186 socialActivityAchievement.getGroupId(),
3187 socialActivityAchievement.getUserId(),
3188 socialActivityAchievement.getName()
3189 };
3190
3191 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_N, args);
3192 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_N, args);
3193
3194 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3195 FINDER_PATH_FETCH_BY_G_U_N.getColumnBitmask()) != 0) {
3196 args = new Object[] {
3197 socialActivityAchievementModelImpl.getOriginalGroupId(),
3198 socialActivityAchievementModelImpl.getOriginalUserId(),
3199 socialActivityAchievementModelImpl.getOriginalName()
3200 };
3201
3202 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_N, args);
3203 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_U_N, args);
3204 }
3205 }
3206
3207
3213 @Override
3214 public SocialActivityAchievement create(long activityAchievementId) {
3215 SocialActivityAchievement socialActivityAchievement = new SocialActivityAchievementImpl();
3216
3217 socialActivityAchievement.setNew(true);
3218 socialActivityAchievement.setPrimaryKey(activityAchievementId);
3219
3220 return socialActivityAchievement;
3221 }
3222
3223
3230 @Override
3231 public SocialActivityAchievement remove(long activityAchievementId)
3232 throws NoSuchActivityAchievementException {
3233 return remove((Serializable)activityAchievementId);
3234 }
3235
3236
3243 @Override
3244 public SocialActivityAchievement remove(Serializable primaryKey)
3245 throws NoSuchActivityAchievementException {
3246 Session session = null;
3247
3248 try {
3249 session = openSession();
3250
3251 SocialActivityAchievement socialActivityAchievement = (SocialActivityAchievement)session.get(SocialActivityAchievementImpl.class,
3252 primaryKey);
3253
3254 if (socialActivityAchievement == null) {
3255 if (_log.isWarnEnabled()) {
3256 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
3257 }
3258
3259 throw new NoSuchActivityAchievementException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
3260 primaryKey);
3261 }
3262
3263 return remove(socialActivityAchievement);
3264 }
3265 catch (NoSuchActivityAchievementException nsee) {
3266 throw nsee;
3267 }
3268 catch (Exception e) {
3269 throw processException(e);
3270 }
3271 finally {
3272 closeSession(session);
3273 }
3274 }
3275
3276 @Override
3277 protected SocialActivityAchievement removeImpl(
3278 SocialActivityAchievement socialActivityAchievement) {
3279 socialActivityAchievement = toUnwrappedModel(socialActivityAchievement);
3280
3281 Session session = null;
3282
3283 try {
3284 session = openSession();
3285
3286 if (!session.contains(socialActivityAchievement)) {
3287 socialActivityAchievement = (SocialActivityAchievement)session.get(SocialActivityAchievementImpl.class,
3288 socialActivityAchievement.getPrimaryKeyObj());
3289 }
3290
3291 if (socialActivityAchievement != null) {
3292 session.delete(socialActivityAchievement);
3293 }
3294 }
3295 catch (Exception e) {
3296 throw processException(e);
3297 }
3298 finally {
3299 closeSession(session);
3300 }
3301
3302 if (socialActivityAchievement != null) {
3303 clearCache(socialActivityAchievement);
3304 }
3305
3306 return socialActivityAchievement;
3307 }
3308
3309 @Override
3310 public SocialActivityAchievement updateImpl(
3311 com.liferay.portlet.social.model.SocialActivityAchievement socialActivityAchievement) {
3312 socialActivityAchievement = toUnwrappedModel(socialActivityAchievement);
3313
3314 boolean isNew = socialActivityAchievement.isNew();
3315
3316 SocialActivityAchievementModelImpl socialActivityAchievementModelImpl = (SocialActivityAchievementModelImpl)socialActivityAchievement;
3317
3318 Session session = null;
3319
3320 try {
3321 session = openSession();
3322
3323 if (socialActivityAchievement.isNew()) {
3324 session.save(socialActivityAchievement);
3325
3326 socialActivityAchievement.setNew(false);
3327 }
3328 else {
3329 session.merge(socialActivityAchievement);
3330 }
3331 }
3332 catch (Exception e) {
3333 throw processException(e);
3334 }
3335 finally {
3336 closeSession(session);
3337 }
3338
3339 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3340
3341 if (isNew ||
3342 !SocialActivityAchievementModelImpl.COLUMN_BITMASK_ENABLED) {
3343 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3344 }
3345
3346 else {
3347 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3348 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID.getColumnBitmask()) != 0) {
3349 Object[] args = new Object[] {
3350 socialActivityAchievementModelImpl.getOriginalGroupId()
3351 };
3352
3353 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_GROUPID, args);
3354 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID,
3355 args);
3356
3357 args = new Object[] {
3358 socialActivityAchievementModelImpl.getGroupId()
3359 };
3360
3361 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_GROUPID, args);
3362 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_GROUPID,
3363 args);
3364 }
3365
3366 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3367 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U.getColumnBitmask()) != 0) {
3368 Object[] args = new Object[] {
3369 socialActivityAchievementModelImpl.getOriginalGroupId(),
3370 socialActivityAchievementModelImpl.getOriginalUserId()
3371 };
3372
3373 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U, args);
3374 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U,
3375 args);
3376
3377 args = new Object[] {
3378 socialActivityAchievementModelImpl.getGroupId(),
3379 socialActivityAchievementModelImpl.getUserId()
3380 };
3381
3382 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U, args);
3383 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U,
3384 args);
3385 }
3386
3387 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3388 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N.getColumnBitmask()) != 0) {
3389 Object[] args = new Object[] {
3390 socialActivityAchievementModelImpl.getOriginalGroupId(),
3391 socialActivityAchievementModelImpl.getOriginalName()
3392 };
3393
3394 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_N, args);
3395 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N,
3396 args);
3397
3398 args = new Object[] {
3399 socialActivityAchievementModelImpl.getGroupId(),
3400 socialActivityAchievementModelImpl.getName()
3401 };
3402
3403 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_N, args);
3404 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_N,
3405 args);
3406 }
3407
3408 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3409 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F.getColumnBitmask()) != 0) {
3410 Object[] args = new Object[] {
3411 socialActivityAchievementModelImpl.getOriginalGroupId(),
3412 socialActivityAchievementModelImpl.getOriginalFirstInGroup()
3413 };
3414
3415 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_F, args);
3416 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F,
3417 args);
3418
3419 args = new Object[] {
3420 socialActivityAchievementModelImpl.getGroupId(),
3421 socialActivityAchievementModelImpl.getFirstInGroup()
3422 };
3423
3424 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_F, args);
3425 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_F,
3426 args);
3427 }
3428
3429 if ((socialActivityAchievementModelImpl.getColumnBitmask() &
3430 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F.getColumnBitmask()) != 0) {
3431 Object[] args = new Object[] {
3432 socialActivityAchievementModelImpl.getOriginalGroupId(),
3433 socialActivityAchievementModelImpl.getOriginalUserId(),
3434 socialActivityAchievementModelImpl.getOriginalFirstInGroup()
3435 };
3436
3437 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_F, args);
3438 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F,
3439 args);
3440
3441 args = new Object[] {
3442 socialActivityAchievementModelImpl.getGroupId(),
3443 socialActivityAchievementModelImpl.getUserId(),
3444 socialActivityAchievementModelImpl.getFirstInGroup()
3445 };
3446
3447 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_G_U_F, args);
3448 FinderCacheUtil.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_G_U_F,
3449 args);
3450 }
3451 }
3452
3453 EntityCacheUtil.putResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3454 SocialActivityAchievementImpl.class,
3455 socialActivityAchievement.getPrimaryKey(),
3456 socialActivityAchievement, false);
3457
3458 clearUniqueFindersCache(socialActivityAchievement);
3459 cacheUniqueFindersCache(socialActivityAchievement);
3460
3461 socialActivityAchievement.resetOriginalValues();
3462
3463 return socialActivityAchievement;
3464 }
3465
3466 protected SocialActivityAchievement toUnwrappedModel(
3467 SocialActivityAchievement socialActivityAchievement) {
3468 if (socialActivityAchievement instanceof SocialActivityAchievementImpl) {
3469 return socialActivityAchievement;
3470 }
3471
3472 SocialActivityAchievementImpl socialActivityAchievementImpl = new SocialActivityAchievementImpl();
3473
3474 socialActivityAchievementImpl.setNew(socialActivityAchievement.isNew());
3475 socialActivityAchievementImpl.setPrimaryKey(socialActivityAchievement.getPrimaryKey());
3476
3477 socialActivityAchievementImpl.setActivityAchievementId(socialActivityAchievement.getActivityAchievementId());
3478 socialActivityAchievementImpl.setGroupId(socialActivityAchievement.getGroupId());
3479 socialActivityAchievementImpl.setCompanyId(socialActivityAchievement.getCompanyId());
3480 socialActivityAchievementImpl.setUserId(socialActivityAchievement.getUserId());
3481 socialActivityAchievementImpl.setCreateDate(socialActivityAchievement.getCreateDate());
3482 socialActivityAchievementImpl.setName(socialActivityAchievement.getName());
3483 socialActivityAchievementImpl.setFirstInGroup(socialActivityAchievement.isFirstInGroup());
3484
3485 return socialActivityAchievementImpl;
3486 }
3487
3488
3495 @Override
3496 public SocialActivityAchievement findByPrimaryKey(Serializable primaryKey)
3497 throws NoSuchActivityAchievementException {
3498 SocialActivityAchievement socialActivityAchievement = fetchByPrimaryKey(primaryKey);
3499
3500 if (socialActivityAchievement == null) {
3501 if (_log.isWarnEnabled()) {
3502 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
3503 }
3504
3505 throw new NoSuchActivityAchievementException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
3506 primaryKey);
3507 }
3508
3509 return socialActivityAchievement;
3510 }
3511
3512
3519 @Override
3520 public SocialActivityAchievement findByPrimaryKey(
3521 long activityAchievementId) throws NoSuchActivityAchievementException {
3522 return findByPrimaryKey((Serializable)activityAchievementId);
3523 }
3524
3525
3531 @Override
3532 public SocialActivityAchievement fetchByPrimaryKey(Serializable primaryKey) {
3533 SocialActivityAchievement socialActivityAchievement = (SocialActivityAchievement)EntityCacheUtil.getResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3534 SocialActivityAchievementImpl.class, primaryKey);
3535
3536 if (socialActivityAchievement == _nullSocialActivityAchievement) {
3537 return null;
3538 }
3539
3540 if (socialActivityAchievement == null) {
3541 Session session = null;
3542
3543 try {
3544 session = openSession();
3545
3546 socialActivityAchievement = (SocialActivityAchievement)session.get(SocialActivityAchievementImpl.class,
3547 primaryKey);
3548
3549 if (socialActivityAchievement != null) {
3550 cacheResult(socialActivityAchievement);
3551 }
3552 else {
3553 EntityCacheUtil.putResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3554 SocialActivityAchievementImpl.class, primaryKey,
3555 _nullSocialActivityAchievement);
3556 }
3557 }
3558 catch (Exception e) {
3559 EntityCacheUtil.removeResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3560 SocialActivityAchievementImpl.class, primaryKey);
3561
3562 throw processException(e);
3563 }
3564 finally {
3565 closeSession(session);
3566 }
3567 }
3568
3569 return socialActivityAchievement;
3570 }
3571
3572
3578 @Override
3579 public SocialActivityAchievement fetchByPrimaryKey(
3580 long activityAchievementId) {
3581 return fetchByPrimaryKey((Serializable)activityAchievementId);
3582 }
3583
3584 @Override
3585 public Map<Serializable, SocialActivityAchievement> fetchByPrimaryKeys(
3586 Set<Serializable> primaryKeys) {
3587 if (primaryKeys.isEmpty()) {
3588 return Collections.emptyMap();
3589 }
3590
3591 Map<Serializable, SocialActivityAchievement> map = new HashMap<Serializable, SocialActivityAchievement>();
3592
3593 if (primaryKeys.size() == 1) {
3594 Iterator<Serializable> iterator = primaryKeys.iterator();
3595
3596 Serializable primaryKey = iterator.next();
3597
3598 SocialActivityAchievement socialActivityAchievement = fetchByPrimaryKey(primaryKey);
3599
3600 if (socialActivityAchievement != null) {
3601 map.put(primaryKey, socialActivityAchievement);
3602 }
3603
3604 return map;
3605 }
3606
3607 Set<Serializable> uncachedPrimaryKeys = null;
3608
3609 for (Serializable primaryKey : primaryKeys) {
3610 SocialActivityAchievement socialActivityAchievement = (SocialActivityAchievement)EntityCacheUtil.getResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3611 SocialActivityAchievementImpl.class, primaryKey);
3612
3613 if (socialActivityAchievement == null) {
3614 if (uncachedPrimaryKeys == null) {
3615 uncachedPrimaryKeys = new HashSet<Serializable>();
3616 }
3617
3618 uncachedPrimaryKeys.add(primaryKey);
3619 }
3620 else {
3621 map.put(primaryKey, socialActivityAchievement);
3622 }
3623 }
3624
3625 if (uncachedPrimaryKeys == null) {
3626 return map;
3627 }
3628
3629 StringBundler query = new StringBundler((uncachedPrimaryKeys.size() * 2) +
3630 1);
3631
3632 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE_PKS_IN);
3633
3634 for (Serializable primaryKey : uncachedPrimaryKeys) {
3635 query.append(String.valueOf(primaryKey));
3636
3637 query.append(StringPool.COMMA);
3638 }
3639
3640 query.setIndex(query.index() - 1);
3641
3642 query.append(StringPool.CLOSE_PARENTHESIS);
3643
3644 String sql = query.toString();
3645
3646 Session session = null;
3647
3648 try {
3649 session = openSession();
3650
3651 Query q = session.createQuery(sql);
3652
3653 for (SocialActivityAchievement socialActivityAchievement : (List<SocialActivityAchievement>)q.list()) {
3654 map.put(socialActivityAchievement.getPrimaryKeyObj(),
3655 socialActivityAchievement);
3656
3657 cacheResult(socialActivityAchievement);
3658
3659 uncachedPrimaryKeys.remove(socialActivityAchievement.getPrimaryKeyObj());
3660 }
3661
3662 for (Serializable primaryKey : uncachedPrimaryKeys) {
3663 EntityCacheUtil.putResult(SocialActivityAchievementModelImpl.ENTITY_CACHE_ENABLED,
3664 SocialActivityAchievementImpl.class, primaryKey,
3665 _nullSocialActivityAchievement);
3666 }
3667 }
3668 catch (Exception e) {
3669 throw processException(e);
3670 }
3671 finally {
3672 closeSession(session);
3673 }
3674
3675 return map;
3676 }
3677
3678
3683 @Override
3684 public List<SocialActivityAchievement> findAll() {
3685 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
3686 }
3687
3688
3699 @Override
3700 public List<SocialActivityAchievement> findAll(int start, int end) {
3701 return findAll(start, end, null);
3702 }
3703
3704
3716 @Override
3717 public List<SocialActivityAchievement> findAll(int start, int end,
3718 OrderByComparator<SocialActivityAchievement> orderByComparator) {
3719 boolean pagination = true;
3720 FinderPath finderPath = null;
3721 Object[] finderArgs = null;
3722
3723 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
3724 (orderByComparator == null)) {
3725 pagination = false;
3726 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL;
3727 finderArgs = FINDER_ARGS_EMPTY;
3728 }
3729 else {
3730 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL;
3731 finderArgs = new Object[] { start, end, orderByComparator };
3732 }
3733
3734 List<SocialActivityAchievement> list = (List<SocialActivityAchievement>)FinderCacheUtil.getResult(finderPath,
3735 finderArgs, this);
3736
3737 if (list == null) {
3738 StringBundler query = null;
3739 String sql = null;
3740
3741 if (orderByComparator != null) {
3742 query = new StringBundler(2 +
3743 (orderByComparator.getOrderByFields().length * 3));
3744
3745 query.append(_SQL_SELECT_SOCIALACTIVITYACHIEVEMENT);
3746
3747 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
3748 orderByComparator);
3749
3750 sql = query.toString();
3751 }
3752 else {
3753 sql = _SQL_SELECT_SOCIALACTIVITYACHIEVEMENT;
3754
3755 if (pagination) {
3756 sql = sql.concat(SocialActivityAchievementModelImpl.ORDER_BY_JPQL);
3757 }
3758 }
3759
3760 Session session = null;
3761
3762 try {
3763 session = openSession();
3764
3765 Query q = session.createQuery(sql);
3766
3767 if (!pagination) {
3768 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
3769 getDialect(), start, end, false);
3770
3771 Collections.sort(list);
3772
3773 list = Collections.unmodifiableList(list);
3774 }
3775 else {
3776 list = (List<SocialActivityAchievement>)QueryUtil.list(q,
3777 getDialect(), start, end);
3778 }
3779
3780 cacheResult(list);
3781
3782 FinderCacheUtil.putResult(finderPath, finderArgs, list);
3783 }
3784 catch (Exception e) {
3785 FinderCacheUtil.removeResult(finderPath, finderArgs);
3786
3787 throw processException(e);
3788 }
3789 finally {
3790 closeSession(session);
3791 }
3792 }
3793
3794 return list;
3795 }
3796
3797
3801 @Override
3802 public void removeAll() {
3803 for (SocialActivityAchievement socialActivityAchievement : findAll()) {
3804 remove(socialActivityAchievement);
3805 }
3806 }
3807
3808
3813 @Override
3814 public int countAll() {
3815 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
3816 FINDER_ARGS_EMPTY, this);
3817
3818 if (count == null) {
3819 Session session = null;
3820
3821 try {
3822 session = openSession();
3823
3824 Query q = session.createQuery(_SQL_COUNT_SOCIALACTIVITYACHIEVEMENT);
3825
3826 count = (Long)q.uniqueResult();
3827
3828 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL,
3829 FINDER_ARGS_EMPTY, count);
3830 }
3831 catch (Exception e) {
3832 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_ALL,
3833 FINDER_ARGS_EMPTY);
3834
3835 throw processException(e);
3836 }
3837 finally {
3838 closeSession(session);
3839 }
3840 }
3841
3842 return count.intValue();
3843 }
3844
3845
3848 public void afterPropertiesSet() {
3849 }
3850
3851 public void destroy() {
3852 EntityCacheUtil.removeCache(SocialActivityAchievementImpl.class.getName());
3853 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_ENTITY);
3854 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
3855 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
3856 }
3857
3858 private static final String _SQL_SELECT_SOCIALACTIVITYACHIEVEMENT = "SELECT socialActivityAchievement FROM SocialActivityAchievement socialActivityAchievement";
3859 private static final String _SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE_PKS_IN =
3860 "SELECT socialActivityAchievement FROM SocialActivityAchievement socialActivityAchievement WHERE activityAchievementId IN (";
3861 private static final String _SQL_SELECT_SOCIALACTIVITYACHIEVEMENT_WHERE = "SELECT socialActivityAchievement FROM SocialActivityAchievement socialActivityAchievement WHERE ";
3862 private static final String _SQL_COUNT_SOCIALACTIVITYACHIEVEMENT = "SELECT COUNT(socialActivityAchievement) FROM SocialActivityAchievement socialActivityAchievement";
3863 private static final String _SQL_COUNT_SOCIALACTIVITYACHIEVEMENT_WHERE = "SELECT COUNT(socialActivityAchievement) FROM SocialActivityAchievement socialActivityAchievement WHERE ";
3864 private static final String _ORDER_BY_ENTITY_ALIAS = "socialActivityAchievement.";
3865 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No SocialActivityAchievement exists with the primary key ";
3866 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No SocialActivityAchievement exists with the key {";
3867 private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = com.liferay.portal.util.PropsValues.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE;
3868 private static final Log _log = LogFactoryUtil.getLog(SocialActivityAchievementPersistenceImpl.class);
3869 private static final SocialActivityAchievement _nullSocialActivityAchievement =
3870 new SocialActivityAchievementImpl() {
3871 @Override
3872 public Object clone() {
3873 return this;
3874 }
3875
3876 @Override
3877 public CacheModel<SocialActivityAchievement> toCacheModel() {
3878 return _nullSocialActivityAchievementCacheModel;
3879 }
3880 };
3881
3882 private static final CacheModel<SocialActivityAchievement> _nullSocialActivityAchievementCacheModel =
3883 new CacheModel<SocialActivityAchievement>() {
3884 @Override
3885 public SocialActivityAchievement toEntityModel() {
3886 return _nullSocialActivityAchievement;
3887 }
3888 };
3889 }