001
014
015 package com.liferay.portlet.asset.service.persistence.impl;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.dao.orm.EntityCache;
020 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
021 import com.liferay.portal.kernel.dao.orm.FinderCache;
022 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
023 import com.liferay.portal.kernel.dao.orm.FinderPath;
024 import com.liferay.portal.kernel.dao.orm.Query;
025 import com.liferay.portal.kernel.dao.orm.QueryPos;
026 import com.liferay.portal.kernel.dao.orm.QueryUtil;
027 import com.liferay.portal.kernel.dao.orm.Session;
028 import com.liferay.portal.kernel.log.Log;
029 import com.liferay.portal.kernel.log.LogFactoryUtil;
030 import com.liferay.portal.kernel.util.OrderByComparator;
031 import com.liferay.portal.kernel.util.StringBundler;
032 import com.liferay.portal.kernel.util.StringPool;
033 import com.liferay.portal.model.CacheModel;
034 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
035
036 import com.liferay.portlet.asset.NoSuchTagStatsException;
037 import com.liferay.portlet.asset.model.AssetTagStats;
038 import com.liferay.portlet.asset.model.impl.AssetTagStatsImpl;
039 import com.liferay.portlet.asset.model.impl.AssetTagStatsModelImpl;
040 import com.liferay.portlet.asset.service.persistence.AssetTagStatsPersistence;
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 AssetTagStatsPersistenceImpl extends BasePersistenceImpl<AssetTagStats>
066 implements AssetTagStatsPersistence {
067
072 public static final String FINDER_CLASS_NAME_ENTITY = AssetTagStatsImpl.class.getName();
073 public static final String FINDER_CLASS_NAME_LIST_WITH_PAGINATION = FINDER_CLASS_NAME_ENTITY +
074 ".List1";
075 public static final String FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION = FINDER_CLASS_NAME_ENTITY +
076 ".List2";
077 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_ALL = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
078 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
079 AssetTagStatsImpl.class, FINDER_CLASS_NAME_LIST_WITH_PAGINATION,
080 "findAll", new String[0]);
081 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
082 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
083 AssetTagStatsImpl.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
084 "findAll", new String[0]);
085 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
086 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED, Long.class,
087 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll", new String[0]);
088 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_TAGID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
089 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
090 AssetTagStatsImpl.class, FINDER_CLASS_NAME_LIST_WITH_PAGINATION,
091 "findByTagId",
092 new String[] {
093 Long.class.getName(),
094
095 Integer.class.getName(), Integer.class.getName(),
096 OrderByComparator.class.getName()
097 });
098 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_TAGID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
099 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
100 AssetTagStatsImpl.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
101 "findByTagId", new String[] { Long.class.getName() },
102 AssetTagStatsModelImpl.TAGID_COLUMN_BITMASK |
103 AssetTagStatsModelImpl.ASSETCOUNT_COLUMN_BITMASK);
104 public static final FinderPath FINDER_PATH_COUNT_BY_TAGID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
105 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED, Long.class,
106 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByTagId",
107 new String[] { Long.class.getName() });
108
109
115 @Override
116 public List<AssetTagStats> findByTagId(long tagId) {
117 return findByTagId(tagId, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
118 }
119
120
132 @Override
133 public List<AssetTagStats> findByTagId(long tagId, int start, int end) {
134 return findByTagId(tagId, start, end, null);
135 }
136
137
150 @Override
151 public List<AssetTagStats> findByTagId(long tagId, int start, int end,
152 OrderByComparator<AssetTagStats> orderByComparator) {
153 return findByTagId(tagId, start, end, orderByComparator, true);
154 }
155
156
170 @Override
171 public List<AssetTagStats> findByTagId(long tagId, int start, int end,
172 OrderByComparator<AssetTagStats> orderByComparator,
173 boolean retrieveFromCache) {
174 boolean pagination = true;
175 FinderPath finderPath = null;
176 Object[] finderArgs = null;
177
178 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
179 (orderByComparator == null)) {
180 pagination = false;
181 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_TAGID;
182 finderArgs = new Object[] { tagId };
183 }
184 else {
185 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_TAGID;
186 finderArgs = new Object[] { tagId, start, end, orderByComparator };
187 }
188
189 List<AssetTagStats> list = null;
190
191 if (retrieveFromCache) {
192 list = (List<AssetTagStats>)finderCache.getResult(finderPath,
193 finderArgs, this);
194
195 if ((list != null) && !list.isEmpty()) {
196 for (AssetTagStats assetTagStats : list) {
197 if ((tagId != assetTagStats.getTagId())) {
198 list = null;
199
200 break;
201 }
202 }
203 }
204 }
205
206 if (list == null) {
207 StringBundler query = null;
208
209 if (orderByComparator != null) {
210 query = new StringBundler(3 +
211 (orderByComparator.getOrderByFields().length * 3));
212 }
213 else {
214 query = new StringBundler(3);
215 }
216
217 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
218
219 query.append(_FINDER_COLUMN_TAGID_TAGID_2);
220
221 if (orderByComparator != null) {
222 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
223 orderByComparator);
224 }
225 else
226 if (pagination) {
227 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
228 }
229
230 String sql = query.toString();
231
232 Session session = null;
233
234 try {
235 session = openSession();
236
237 Query q = session.createQuery(sql);
238
239 QueryPos qPos = QueryPos.getInstance(q);
240
241 qPos.add(tagId);
242
243 if (!pagination) {
244 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
245 start, end, false);
246
247 Collections.sort(list);
248
249 list = Collections.unmodifiableList(list);
250 }
251 else {
252 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
253 start, end);
254 }
255
256 cacheResult(list);
257
258 finderCache.putResult(finderPath, finderArgs, list);
259 }
260 catch (Exception e) {
261 finderCache.removeResult(finderPath, finderArgs);
262
263 throw processException(e);
264 }
265 finally {
266 closeSession(session);
267 }
268 }
269
270 return list;
271 }
272
273
281 @Override
282 public AssetTagStats findByTagId_First(long tagId,
283 OrderByComparator<AssetTagStats> orderByComparator)
284 throws NoSuchTagStatsException {
285 AssetTagStats assetTagStats = fetchByTagId_First(tagId,
286 orderByComparator);
287
288 if (assetTagStats != null) {
289 return assetTagStats;
290 }
291
292 StringBundler msg = new StringBundler(4);
293
294 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
295
296 msg.append("tagId=");
297 msg.append(tagId);
298
299 msg.append(StringPool.CLOSE_CURLY_BRACE);
300
301 throw new NoSuchTagStatsException(msg.toString());
302 }
303
304
311 @Override
312 public AssetTagStats fetchByTagId_First(long tagId,
313 OrderByComparator<AssetTagStats> orderByComparator) {
314 List<AssetTagStats> list = findByTagId(tagId, 0, 1, orderByComparator);
315
316 if (!list.isEmpty()) {
317 return list.get(0);
318 }
319
320 return null;
321 }
322
323
331 @Override
332 public AssetTagStats findByTagId_Last(long tagId,
333 OrderByComparator<AssetTagStats> orderByComparator)
334 throws NoSuchTagStatsException {
335 AssetTagStats assetTagStats = fetchByTagId_Last(tagId, orderByComparator);
336
337 if (assetTagStats != null) {
338 return assetTagStats;
339 }
340
341 StringBundler msg = new StringBundler(4);
342
343 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
344
345 msg.append("tagId=");
346 msg.append(tagId);
347
348 msg.append(StringPool.CLOSE_CURLY_BRACE);
349
350 throw new NoSuchTagStatsException(msg.toString());
351 }
352
353
360 @Override
361 public AssetTagStats fetchByTagId_Last(long tagId,
362 OrderByComparator<AssetTagStats> orderByComparator) {
363 int count = countByTagId(tagId);
364
365 if (count == 0) {
366 return null;
367 }
368
369 List<AssetTagStats> list = findByTagId(tagId, count - 1, count,
370 orderByComparator);
371
372 if (!list.isEmpty()) {
373 return list.get(0);
374 }
375
376 return null;
377 }
378
379
388 @Override
389 public AssetTagStats[] findByTagId_PrevAndNext(long tagStatsId, long tagId,
390 OrderByComparator<AssetTagStats> orderByComparator)
391 throws NoSuchTagStatsException {
392 AssetTagStats assetTagStats = findByPrimaryKey(tagStatsId);
393
394 Session session = null;
395
396 try {
397 session = openSession();
398
399 AssetTagStats[] array = new AssetTagStatsImpl[3];
400
401 array[0] = getByTagId_PrevAndNext(session, assetTagStats, tagId,
402 orderByComparator, true);
403
404 array[1] = assetTagStats;
405
406 array[2] = getByTagId_PrevAndNext(session, assetTagStats, tagId,
407 orderByComparator, false);
408
409 return array;
410 }
411 catch (Exception e) {
412 throw processException(e);
413 }
414 finally {
415 closeSession(session);
416 }
417 }
418
419 protected AssetTagStats getByTagId_PrevAndNext(Session session,
420 AssetTagStats assetTagStats, long tagId,
421 OrderByComparator<AssetTagStats> orderByComparator, boolean previous) {
422 StringBundler query = null;
423
424 if (orderByComparator != null) {
425 query = new StringBundler(6 +
426 (orderByComparator.getOrderByFields().length * 6));
427 }
428 else {
429 query = new StringBundler(3);
430 }
431
432 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
433
434 query.append(_FINDER_COLUMN_TAGID_TAGID_2);
435
436 if (orderByComparator != null) {
437 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
438
439 if (orderByConditionFields.length > 0) {
440 query.append(WHERE_AND);
441 }
442
443 for (int i = 0; i < orderByConditionFields.length; i++) {
444 query.append(_ORDER_BY_ENTITY_ALIAS);
445 query.append(orderByConditionFields[i]);
446
447 if ((i + 1) < orderByConditionFields.length) {
448 if (orderByComparator.isAscending() ^ previous) {
449 query.append(WHERE_GREATER_THAN_HAS_NEXT);
450 }
451 else {
452 query.append(WHERE_LESSER_THAN_HAS_NEXT);
453 }
454 }
455 else {
456 if (orderByComparator.isAscending() ^ previous) {
457 query.append(WHERE_GREATER_THAN);
458 }
459 else {
460 query.append(WHERE_LESSER_THAN);
461 }
462 }
463 }
464
465 query.append(ORDER_BY_CLAUSE);
466
467 String[] orderByFields = orderByComparator.getOrderByFields();
468
469 for (int i = 0; i < orderByFields.length; i++) {
470 query.append(_ORDER_BY_ENTITY_ALIAS);
471 query.append(orderByFields[i]);
472
473 if ((i + 1) < orderByFields.length) {
474 if (orderByComparator.isAscending() ^ previous) {
475 query.append(ORDER_BY_ASC_HAS_NEXT);
476 }
477 else {
478 query.append(ORDER_BY_DESC_HAS_NEXT);
479 }
480 }
481 else {
482 if (orderByComparator.isAscending() ^ previous) {
483 query.append(ORDER_BY_ASC);
484 }
485 else {
486 query.append(ORDER_BY_DESC);
487 }
488 }
489 }
490 }
491 else {
492 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
493 }
494
495 String sql = query.toString();
496
497 Query q = session.createQuery(sql);
498
499 q.setFirstResult(0);
500 q.setMaxResults(2);
501
502 QueryPos qPos = QueryPos.getInstance(q);
503
504 qPos.add(tagId);
505
506 if (orderByComparator != null) {
507 Object[] values = orderByComparator.getOrderByConditionValues(assetTagStats);
508
509 for (Object value : values) {
510 qPos.add(value);
511 }
512 }
513
514 List<AssetTagStats> list = q.list();
515
516 if (list.size() == 2) {
517 return list.get(1);
518 }
519 else {
520 return null;
521 }
522 }
523
524
529 @Override
530 public void removeByTagId(long tagId) {
531 for (AssetTagStats assetTagStats : findByTagId(tagId,
532 QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
533 remove(assetTagStats);
534 }
535 }
536
537
543 @Override
544 public int countByTagId(long tagId) {
545 FinderPath finderPath = FINDER_PATH_COUNT_BY_TAGID;
546
547 Object[] finderArgs = new Object[] { tagId };
548
549 Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
550
551 if (count == null) {
552 StringBundler query = new StringBundler(2);
553
554 query.append(_SQL_COUNT_ASSETTAGSTATS_WHERE);
555
556 query.append(_FINDER_COLUMN_TAGID_TAGID_2);
557
558 String sql = query.toString();
559
560 Session session = null;
561
562 try {
563 session = openSession();
564
565 Query q = session.createQuery(sql);
566
567 QueryPos qPos = QueryPos.getInstance(q);
568
569 qPos.add(tagId);
570
571 count = (Long)q.uniqueResult();
572
573 finderCache.putResult(finderPath, finderArgs, count);
574 }
575 catch (Exception e) {
576 finderCache.removeResult(finderPath, finderArgs);
577
578 throw processException(e);
579 }
580 finally {
581 closeSession(session);
582 }
583 }
584
585 return count.intValue();
586 }
587
588 private static final String _FINDER_COLUMN_TAGID_TAGID_2 = "assetTagStats.tagId = ?";
589 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_BY_CLASSNAMEID =
590 new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
591 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
592 AssetTagStatsImpl.class, FINDER_CLASS_NAME_LIST_WITH_PAGINATION,
593 "findByClassNameId",
594 new String[] {
595 Long.class.getName(),
596
597 Integer.class.getName(), Integer.class.getName(),
598 OrderByComparator.class.getName()
599 });
600 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CLASSNAMEID =
601 new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
602 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
603 AssetTagStatsImpl.class, FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION,
604 "findByClassNameId", new String[] { Long.class.getName() },
605 AssetTagStatsModelImpl.CLASSNAMEID_COLUMN_BITMASK |
606 AssetTagStatsModelImpl.ASSETCOUNT_COLUMN_BITMASK);
607 public static final FinderPath FINDER_PATH_COUNT_BY_CLASSNAMEID = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
608 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED, Long.class,
609 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByClassNameId",
610 new String[] { Long.class.getName() });
611
612
618 @Override
619 public List<AssetTagStats> findByClassNameId(long classNameId) {
620 return findByClassNameId(classNameId, QueryUtil.ALL_POS,
621 QueryUtil.ALL_POS, null);
622 }
623
624
636 @Override
637 public List<AssetTagStats> findByClassNameId(long classNameId, int start,
638 int end) {
639 return findByClassNameId(classNameId, start, end, null);
640 }
641
642
655 @Override
656 public List<AssetTagStats> findByClassNameId(long classNameId, int start,
657 int end, OrderByComparator<AssetTagStats> orderByComparator) {
658 return findByClassNameId(classNameId, start, end, orderByComparator,
659 true);
660 }
661
662
676 @Override
677 public List<AssetTagStats> findByClassNameId(long classNameId, int start,
678 int end, OrderByComparator<AssetTagStats> orderByComparator,
679 boolean retrieveFromCache) {
680 boolean pagination = true;
681 FinderPath finderPath = null;
682 Object[] finderArgs = null;
683
684 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
685 (orderByComparator == null)) {
686 pagination = false;
687 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CLASSNAMEID;
688 finderArgs = new Object[] { classNameId };
689 }
690 else {
691 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_CLASSNAMEID;
692 finderArgs = new Object[] { classNameId, start, end, orderByComparator };
693 }
694
695 List<AssetTagStats> list = null;
696
697 if (retrieveFromCache) {
698 list = (List<AssetTagStats>)finderCache.getResult(finderPath,
699 finderArgs, this);
700
701 if ((list != null) && !list.isEmpty()) {
702 for (AssetTagStats assetTagStats : list) {
703 if ((classNameId != assetTagStats.getClassNameId())) {
704 list = null;
705
706 break;
707 }
708 }
709 }
710 }
711
712 if (list == null) {
713 StringBundler query = null;
714
715 if (orderByComparator != null) {
716 query = new StringBundler(3 +
717 (orderByComparator.getOrderByFields().length * 3));
718 }
719 else {
720 query = new StringBundler(3);
721 }
722
723 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
724
725 query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
726
727 if (orderByComparator != null) {
728 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
729 orderByComparator);
730 }
731 else
732 if (pagination) {
733 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
734 }
735
736 String sql = query.toString();
737
738 Session session = null;
739
740 try {
741 session = openSession();
742
743 Query q = session.createQuery(sql);
744
745 QueryPos qPos = QueryPos.getInstance(q);
746
747 qPos.add(classNameId);
748
749 if (!pagination) {
750 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
751 start, end, false);
752
753 Collections.sort(list);
754
755 list = Collections.unmodifiableList(list);
756 }
757 else {
758 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
759 start, end);
760 }
761
762 cacheResult(list);
763
764 finderCache.putResult(finderPath, finderArgs, list);
765 }
766 catch (Exception e) {
767 finderCache.removeResult(finderPath, finderArgs);
768
769 throw processException(e);
770 }
771 finally {
772 closeSession(session);
773 }
774 }
775
776 return list;
777 }
778
779
787 @Override
788 public AssetTagStats findByClassNameId_First(long classNameId,
789 OrderByComparator<AssetTagStats> orderByComparator)
790 throws NoSuchTagStatsException {
791 AssetTagStats assetTagStats = fetchByClassNameId_First(classNameId,
792 orderByComparator);
793
794 if (assetTagStats != null) {
795 return assetTagStats;
796 }
797
798 StringBundler msg = new StringBundler(4);
799
800 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
801
802 msg.append("classNameId=");
803 msg.append(classNameId);
804
805 msg.append(StringPool.CLOSE_CURLY_BRACE);
806
807 throw new NoSuchTagStatsException(msg.toString());
808 }
809
810
817 @Override
818 public AssetTagStats fetchByClassNameId_First(long classNameId,
819 OrderByComparator<AssetTagStats> orderByComparator) {
820 List<AssetTagStats> list = findByClassNameId(classNameId, 0, 1,
821 orderByComparator);
822
823 if (!list.isEmpty()) {
824 return list.get(0);
825 }
826
827 return null;
828 }
829
830
838 @Override
839 public AssetTagStats findByClassNameId_Last(long classNameId,
840 OrderByComparator<AssetTagStats> orderByComparator)
841 throws NoSuchTagStatsException {
842 AssetTagStats assetTagStats = fetchByClassNameId_Last(classNameId,
843 orderByComparator);
844
845 if (assetTagStats != null) {
846 return assetTagStats;
847 }
848
849 StringBundler msg = new StringBundler(4);
850
851 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
852
853 msg.append("classNameId=");
854 msg.append(classNameId);
855
856 msg.append(StringPool.CLOSE_CURLY_BRACE);
857
858 throw new NoSuchTagStatsException(msg.toString());
859 }
860
861
868 @Override
869 public AssetTagStats fetchByClassNameId_Last(long classNameId,
870 OrderByComparator<AssetTagStats> orderByComparator) {
871 int count = countByClassNameId(classNameId);
872
873 if (count == 0) {
874 return null;
875 }
876
877 List<AssetTagStats> list = findByClassNameId(classNameId, count - 1,
878 count, orderByComparator);
879
880 if (!list.isEmpty()) {
881 return list.get(0);
882 }
883
884 return null;
885 }
886
887
896 @Override
897 public AssetTagStats[] findByClassNameId_PrevAndNext(long tagStatsId,
898 long classNameId, OrderByComparator<AssetTagStats> orderByComparator)
899 throws NoSuchTagStatsException {
900 AssetTagStats assetTagStats = findByPrimaryKey(tagStatsId);
901
902 Session session = null;
903
904 try {
905 session = openSession();
906
907 AssetTagStats[] array = new AssetTagStatsImpl[3];
908
909 array[0] = getByClassNameId_PrevAndNext(session, assetTagStats,
910 classNameId, orderByComparator, true);
911
912 array[1] = assetTagStats;
913
914 array[2] = getByClassNameId_PrevAndNext(session, assetTagStats,
915 classNameId, orderByComparator, false);
916
917 return array;
918 }
919 catch (Exception e) {
920 throw processException(e);
921 }
922 finally {
923 closeSession(session);
924 }
925 }
926
927 protected AssetTagStats getByClassNameId_PrevAndNext(Session session,
928 AssetTagStats assetTagStats, long classNameId,
929 OrderByComparator<AssetTagStats> orderByComparator, boolean previous) {
930 StringBundler query = null;
931
932 if (orderByComparator != null) {
933 query = new StringBundler(6 +
934 (orderByComparator.getOrderByFields().length * 6));
935 }
936 else {
937 query = new StringBundler(3);
938 }
939
940 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
941
942 query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
943
944 if (orderByComparator != null) {
945 String[] orderByConditionFields = orderByComparator.getOrderByConditionFields();
946
947 if (orderByConditionFields.length > 0) {
948 query.append(WHERE_AND);
949 }
950
951 for (int i = 0; i < orderByConditionFields.length; i++) {
952 query.append(_ORDER_BY_ENTITY_ALIAS);
953 query.append(orderByConditionFields[i]);
954
955 if ((i + 1) < orderByConditionFields.length) {
956 if (orderByComparator.isAscending() ^ previous) {
957 query.append(WHERE_GREATER_THAN_HAS_NEXT);
958 }
959 else {
960 query.append(WHERE_LESSER_THAN_HAS_NEXT);
961 }
962 }
963 else {
964 if (orderByComparator.isAscending() ^ previous) {
965 query.append(WHERE_GREATER_THAN);
966 }
967 else {
968 query.append(WHERE_LESSER_THAN);
969 }
970 }
971 }
972
973 query.append(ORDER_BY_CLAUSE);
974
975 String[] orderByFields = orderByComparator.getOrderByFields();
976
977 for (int i = 0; i < orderByFields.length; i++) {
978 query.append(_ORDER_BY_ENTITY_ALIAS);
979 query.append(orderByFields[i]);
980
981 if ((i + 1) < orderByFields.length) {
982 if (orderByComparator.isAscending() ^ previous) {
983 query.append(ORDER_BY_ASC_HAS_NEXT);
984 }
985 else {
986 query.append(ORDER_BY_DESC_HAS_NEXT);
987 }
988 }
989 else {
990 if (orderByComparator.isAscending() ^ previous) {
991 query.append(ORDER_BY_ASC);
992 }
993 else {
994 query.append(ORDER_BY_DESC);
995 }
996 }
997 }
998 }
999 else {
1000 query.append(AssetTagStatsModelImpl.ORDER_BY_JPQL);
1001 }
1002
1003 String sql = query.toString();
1004
1005 Query q = session.createQuery(sql);
1006
1007 q.setFirstResult(0);
1008 q.setMaxResults(2);
1009
1010 QueryPos qPos = QueryPos.getInstance(q);
1011
1012 qPos.add(classNameId);
1013
1014 if (orderByComparator != null) {
1015 Object[] values = orderByComparator.getOrderByConditionValues(assetTagStats);
1016
1017 for (Object value : values) {
1018 qPos.add(value);
1019 }
1020 }
1021
1022 List<AssetTagStats> list = q.list();
1023
1024 if (list.size() == 2) {
1025 return list.get(1);
1026 }
1027 else {
1028 return null;
1029 }
1030 }
1031
1032
1037 @Override
1038 public void removeByClassNameId(long classNameId) {
1039 for (AssetTagStats assetTagStats : findByClassNameId(classNameId,
1040 QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) {
1041 remove(assetTagStats);
1042 }
1043 }
1044
1045
1051 @Override
1052 public int countByClassNameId(long classNameId) {
1053 FinderPath finderPath = FINDER_PATH_COUNT_BY_CLASSNAMEID;
1054
1055 Object[] finderArgs = new Object[] { classNameId };
1056
1057 Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
1058
1059 if (count == null) {
1060 StringBundler query = new StringBundler(2);
1061
1062 query.append(_SQL_COUNT_ASSETTAGSTATS_WHERE);
1063
1064 query.append(_FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2);
1065
1066 String sql = query.toString();
1067
1068 Session session = null;
1069
1070 try {
1071 session = openSession();
1072
1073 Query q = session.createQuery(sql);
1074
1075 QueryPos qPos = QueryPos.getInstance(q);
1076
1077 qPos.add(classNameId);
1078
1079 count = (Long)q.uniqueResult();
1080
1081 finderCache.putResult(finderPath, finderArgs, count);
1082 }
1083 catch (Exception e) {
1084 finderCache.removeResult(finderPath, finderArgs);
1085
1086 throw processException(e);
1087 }
1088 finally {
1089 closeSession(session);
1090 }
1091 }
1092
1093 return count.intValue();
1094 }
1095
1096 private static final String _FINDER_COLUMN_CLASSNAMEID_CLASSNAMEID_2 = "assetTagStats.classNameId = ?";
1097 public static final FinderPath FINDER_PATH_FETCH_BY_T_C = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1098 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED,
1099 AssetTagStatsImpl.class, FINDER_CLASS_NAME_ENTITY, "fetchByT_C",
1100 new String[] { Long.class.getName(), Long.class.getName() },
1101 AssetTagStatsModelImpl.TAGID_COLUMN_BITMASK |
1102 AssetTagStatsModelImpl.CLASSNAMEID_COLUMN_BITMASK);
1103 public static final FinderPath FINDER_PATH_COUNT_BY_T_C = new FinderPath(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1104 AssetTagStatsModelImpl.FINDER_CACHE_ENABLED, Long.class,
1105 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByT_C",
1106 new String[] { Long.class.getName(), Long.class.getName() });
1107
1108
1116 @Override
1117 public AssetTagStats findByT_C(long tagId, long classNameId)
1118 throws NoSuchTagStatsException {
1119 AssetTagStats assetTagStats = fetchByT_C(tagId, classNameId);
1120
1121 if (assetTagStats == null) {
1122 StringBundler msg = new StringBundler(6);
1123
1124 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1125
1126 msg.append("tagId=");
1127 msg.append(tagId);
1128
1129 msg.append(", classNameId=");
1130 msg.append(classNameId);
1131
1132 msg.append(StringPool.CLOSE_CURLY_BRACE);
1133
1134 if (_log.isWarnEnabled()) {
1135 _log.warn(msg.toString());
1136 }
1137
1138 throw new NoSuchTagStatsException(msg.toString());
1139 }
1140
1141 return assetTagStats;
1142 }
1143
1144
1151 @Override
1152 public AssetTagStats fetchByT_C(long tagId, long classNameId) {
1153 return fetchByT_C(tagId, classNameId, true);
1154 }
1155
1156
1164 @Override
1165 public AssetTagStats fetchByT_C(long tagId, long classNameId,
1166 boolean retrieveFromCache) {
1167 Object[] finderArgs = new Object[] { tagId, classNameId };
1168
1169 Object result = null;
1170
1171 if (retrieveFromCache) {
1172 result = finderCache.getResult(FINDER_PATH_FETCH_BY_T_C,
1173 finderArgs, this);
1174 }
1175
1176 if (result instanceof AssetTagStats) {
1177 AssetTagStats assetTagStats = (AssetTagStats)result;
1178
1179 if ((tagId != assetTagStats.getTagId()) ||
1180 (classNameId != assetTagStats.getClassNameId())) {
1181 result = null;
1182 }
1183 }
1184
1185 if (result == null) {
1186 StringBundler query = new StringBundler(4);
1187
1188 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE);
1189
1190 query.append(_FINDER_COLUMN_T_C_TAGID_2);
1191
1192 query.append(_FINDER_COLUMN_T_C_CLASSNAMEID_2);
1193
1194 String sql = query.toString();
1195
1196 Session session = null;
1197
1198 try {
1199 session = openSession();
1200
1201 Query q = session.createQuery(sql);
1202
1203 QueryPos qPos = QueryPos.getInstance(q);
1204
1205 qPos.add(tagId);
1206
1207 qPos.add(classNameId);
1208
1209 List<AssetTagStats> list = q.list();
1210
1211 if (list.isEmpty()) {
1212 finderCache.putResult(FINDER_PATH_FETCH_BY_T_C, finderArgs,
1213 list);
1214 }
1215 else {
1216 AssetTagStats assetTagStats = list.get(0);
1217
1218 result = assetTagStats;
1219
1220 cacheResult(assetTagStats);
1221
1222 if ((assetTagStats.getTagId() != tagId) ||
1223 (assetTagStats.getClassNameId() != classNameId)) {
1224 finderCache.putResult(FINDER_PATH_FETCH_BY_T_C,
1225 finderArgs, assetTagStats);
1226 }
1227 }
1228 }
1229 catch (Exception e) {
1230 finderCache.removeResult(FINDER_PATH_FETCH_BY_T_C, finderArgs);
1231
1232 throw processException(e);
1233 }
1234 finally {
1235 closeSession(session);
1236 }
1237 }
1238
1239 if (result instanceof List<?>) {
1240 return null;
1241 }
1242 else {
1243 return (AssetTagStats)result;
1244 }
1245 }
1246
1247
1254 @Override
1255 public AssetTagStats removeByT_C(long tagId, long classNameId)
1256 throws NoSuchTagStatsException {
1257 AssetTagStats assetTagStats = findByT_C(tagId, classNameId);
1258
1259 return remove(assetTagStats);
1260 }
1261
1262
1269 @Override
1270 public int countByT_C(long tagId, long classNameId) {
1271 FinderPath finderPath = FINDER_PATH_COUNT_BY_T_C;
1272
1273 Object[] finderArgs = new Object[] { tagId, classNameId };
1274
1275 Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
1276
1277 if (count == null) {
1278 StringBundler query = new StringBundler(3);
1279
1280 query.append(_SQL_COUNT_ASSETTAGSTATS_WHERE);
1281
1282 query.append(_FINDER_COLUMN_T_C_TAGID_2);
1283
1284 query.append(_FINDER_COLUMN_T_C_CLASSNAMEID_2);
1285
1286 String sql = query.toString();
1287
1288 Session session = null;
1289
1290 try {
1291 session = openSession();
1292
1293 Query q = session.createQuery(sql);
1294
1295 QueryPos qPos = QueryPos.getInstance(q);
1296
1297 qPos.add(tagId);
1298
1299 qPos.add(classNameId);
1300
1301 count = (Long)q.uniqueResult();
1302
1303 finderCache.putResult(finderPath, finderArgs, count);
1304 }
1305 catch (Exception e) {
1306 finderCache.removeResult(finderPath, finderArgs);
1307
1308 throw processException(e);
1309 }
1310 finally {
1311 closeSession(session);
1312 }
1313 }
1314
1315 return count.intValue();
1316 }
1317
1318 private static final String _FINDER_COLUMN_T_C_TAGID_2 = "assetTagStats.tagId = ? AND ";
1319 private static final String _FINDER_COLUMN_T_C_CLASSNAMEID_2 = "assetTagStats.classNameId = ?";
1320
1321 public AssetTagStatsPersistenceImpl() {
1322 setModelClass(AssetTagStats.class);
1323 }
1324
1325
1330 @Override
1331 public void cacheResult(AssetTagStats assetTagStats) {
1332 entityCache.putResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1333 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey(),
1334 assetTagStats);
1335
1336 finderCache.putResult(FINDER_PATH_FETCH_BY_T_C,
1337 new Object[] {
1338 assetTagStats.getTagId(), assetTagStats.getClassNameId()
1339 }, assetTagStats);
1340
1341 assetTagStats.resetOriginalValues();
1342 }
1343
1344
1349 @Override
1350 public void cacheResult(List<AssetTagStats> assetTagStatses) {
1351 for (AssetTagStats assetTagStats : assetTagStatses) {
1352 if (entityCache.getResult(
1353 AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1354 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey()) == null) {
1355 cacheResult(assetTagStats);
1356 }
1357 else {
1358 assetTagStats.resetOriginalValues();
1359 }
1360 }
1361 }
1362
1363
1370 @Override
1371 public void clearCache() {
1372 entityCache.clearCache(AssetTagStatsImpl.class);
1373
1374 finderCache.clearCache(FINDER_CLASS_NAME_ENTITY);
1375 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
1376 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
1377 }
1378
1379
1386 @Override
1387 public void clearCache(AssetTagStats assetTagStats) {
1388 entityCache.removeResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1389 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey());
1390
1391 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
1392 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
1393
1394 clearUniqueFindersCache((AssetTagStatsModelImpl)assetTagStats);
1395 }
1396
1397 @Override
1398 public void clearCache(List<AssetTagStats> assetTagStatses) {
1399 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
1400 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
1401
1402 for (AssetTagStats assetTagStats : assetTagStatses) {
1403 entityCache.removeResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1404 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey());
1405
1406 clearUniqueFindersCache((AssetTagStatsModelImpl)assetTagStats);
1407 }
1408 }
1409
1410 protected void cacheUniqueFindersCache(
1411 AssetTagStatsModelImpl assetTagStatsModelImpl, boolean isNew) {
1412 if (isNew) {
1413 Object[] args = new Object[] {
1414 assetTagStatsModelImpl.getTagId(),
1415 assetTagStatsModelImpl.getClassNameId()
1416 };
1417
1418 finderCache.putResult(FINDER_PATH_COUNT_BY_T_C, args,
1419 Long.valueOf(1));
1420 finderCache.putResult(FINDER_PATH_FETCH_BY_T_C, args,
1421 assetTagStatsModelImpl);
1422 }
1423 else {
1424 if ((assetTagStatsModelImpl.getColumnBitmask() &
1425 FINDER_PATH_FETCH_BY_T_C.getColumnBitmask()) != 0) {
1426 Object[] args = new Object[] {
1427 assetTagStatsModelImpl.getTagId(),
1428 assetTagStatsModelImpl.getClassNameId()
1429 };
1430
1431 finderCache.putResult(FINDER_PATH_COUNT_BY_T_C, args,
1432 Long.valueOf(1));
1433 finderCache.putResult(FINDER_PATH_FETCH_BY_T_C, args,
1434 assetTagStatsModelImpl);
1435 }
1436 }
1437 }
1438
1439 protected void clearUniqueFindersCache(
1440 AssetTagStatsModelImpl assetTagStatsModelImpl) {
1441 Object[] args = new Object[] {
1442 assetTagStatsModelImpl.getTagId(),
1443 assetTagStatsModelImpl.getClassNameId()
1444 };
1445
1446 finderCache.removeResult(FINDER_PATH_COUNT_BY_T_C, args);
1447 finderCache.removeResult(FINDER_PATH_FETCH_BY_T_C, args);
1448
1449 if ((assetTagStatsModelImpl.getColumnBitmask() &
1450 FINDER_PATH_FETCH_BY_T_C.getColumnBitmask()) != 0) {
1451 args = new Object[] {
1452 assetTagStatsModelImpl.getOriginalTagId(),
1453 assetTagStatsModelImpl.getOriginalClassNameId()
1454 };
1455
1456 finderCache.removeResult(FINDER_PATH_COUNT_BY_T_C, args);
1457 finderCache.removeResult(FINDER_PATH_FETCH_BY_T_C, args);
1458 }
1459 }
1460
1461
1467 @Override
1468 public AssetTagStats create(long tagStatsId) {
1469 AssetTagStats assetTagStats = new AssetTagStatsImpl();
1470
1471 assetTagStats.setNew(true);
1472 assetTagStats.setPrimaryKey(tagStatsId);
1473
1474 return assetTagStats;
1475 }
1476
1477
1484 @Override
1485 public AssetTagStats remove(long tagStatsId) throws NoSuchTagStatsException {
1486 return remove((Serializable)tagStatsId);
1487 }
1488
1489
1496 @Override
1497 public AssetTagStats remove(Serializable primaryKey)
1498 throws NoSuchTagStatsException {
1499 Session session = null;
1500
1501 try {
1502 session = openSession();
1503
1504 AssetTagStats assetTagStats = (AssetTagStats)session.get(AssetTagStatsImpl.class,
1505 primaryKey);
1506
1507 if (assetTagStats == null) {
1508 if (_log.isWarnEnabled()) {
1509 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
1510 }
1511
1512 throw new NoSuchTagStatsException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
1513 primaryKey);
1514 }
1515
1516 return remove(assetTagStats);
1517 }
1518 catch (NoSuchTagStatsException nsee) {
1519 throw nsee;
1520 }
1521 catch (Exception e) {
1522 throw processException(e);
1523 }
1524 finally {
1525 closeSession(session);
1526 }
1527 }
1528
1529 @Override
1530 protected AssetTagStats removeImpl(AssetTagStats assetTagStats) {
1531 assetTagStats = toUnwrappedModel(assetTagStats);
1532
1533 Session session = null;
1534
1535 try {
1536 session = openSession();
1537
1538 if (!session.contains(assetTagStats)) {
1539 assetTagStats = (AssetTagStats)session.get(AssetTagStatsImpl.class,
1540 assetTagStats.getPrimaryKeyObj());
1541 }
1542
1543 if (assetTagStats != null) {
1544 session.delete(assetTagStats);
1545 }
1546 }
1547 catch (Exception e) {
1548 throw processException(e);
1549 }
1550 finally {
1551 closeSession(session);
1552 }
1553
1554 if (assetTagStats != null) {
1555 clearCache(assetTagStats);
1556 }
1557
1558 return assetTagStats;
1559 }
1560
1561 @Override
1562 public AssetTagStats updateImpl(AssetTagStats assetTagStats) {
1563 assetTagStats = toUnwrappedModel(assetTagStats);
1564
1565 boolean isNew = assetTagStats.isNew();
1566
1567 AssetTagStatsModelImpl assetTagStatsModelImpl = (AssetTagStatsModelImpl)assetTagStats;
1568
1569 Session session = null;
1570
1571 try {
1572 session = openSession();
1573
1574 if (assetTagStats.isNew()) {
1575 session.save(assetTagStats);
1576
1577 assetTagStats.setNew(false);
1578 }
1579 else {
1580 assetTagStats = (AssetTagStats)session.merge(assetTagStats);
1581 }
1582 }
1583 catch (Exception e) {
1584 throw processException(e);
1585 }
1586 finally {
1587 closeSession(session);
1588 }
1589
1590 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
1591
1592 if (isNew || !AssetTagStatsModelImpl.COLUMN_BITMASK_ENABLED) {
1593 finderCache.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
1594 }
1595
1596 else {
1597 if ((assetTagStatsModelImpl.getColumnBitmask() &
1598 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_TAGID.getColumnBitmask()) != 0) {
1599 Object[] args = new Object[] {
1600 assetTagStatsModelImpl.getOriginalTagId()
1601 };
1602
1603 finderCache.removeResult(FINDER_PATH_COUNT_BY_TAGID, args);
1604 finderCache.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_TAGID,
1605 args);
1606
1607 args = new Object[] { assetTagStatsModelImpl.getTagId() };
1608
1609 finderCache.removeResult(FINDER_PATH_COUNT_BY_TAGID, args);
1610 finderCache.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_TAGID,
1611 args);
1612 }
1613
1614 if ((assetTagStatsModelImpl.getColumnBitmask() &
1615 FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CLASSNAMEID.getColumnBitmask()) != 0) {
1616 Object[] args = new Object[] {
1617 assetTagStatsModelImpl.getOriginalClassNameId()
1618 };
1619
1620 finderCache.removeResult(FINDER_PATH_COUNT_BY_CLASSNAMEID, args);
1621 finderCache.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CLASSNAMEID,
1622 args);
1623
1624 args = new Object[] { assetTagStatsModelImpl.getClassNameId() };
1625
1626 finderCache.removeResult(FINDER_PATH_COUNT_BY_CLASSNAMEID, args);
1627 finderCache.removeResult(FINDER_PATH_WITHOUT_PAGINATION_FIND_BY_CLASSNAMEID,
1628 args);
1629 }
1630 }
1631
1632 entityCache.putResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1633 AssetTagStatsImpl.class, assetTagStats.getPrimaryKey(),
1634 assetTagStats, false);
1635
1636 clearUniqueFindersCache(assetTagStatsModelImpl);
1637 cacheUniqueFindersCache(assetTagStatsModelImpl, isNew);
1638
1639 assetTagStats.resetOriginalValues();
1640
1641 return assetTagStats;
1642 }
1643
1644 protected AssetTagStats toUnwrappedModel(AssetTagStats assetTagStats) {
1645 if (assetTagStats instanceof AssetTagStatsImpl) {
1646 return assetTagStats;
1647 }
1648
1649 AssetTagStatsImpl assetTagStatsImpl = new AssetTagStatsImpl();
1650
1651 assetTagStatsImpl.setNew(assetTagStats.isNew());
1652 assetTagStatsImpl.setPrimaryKey(assetTagStats.getPrimaryKey());
1653
1654 assetTagStatsImpl.setTagStatsId(assetTagStats.getTagStatsId());
1655 assetTagStatsImpl.setCompanyId(assetTagStats.getCompanyId());
1656 assetTagStatsImpl.setTagId(assetTagStats.getTagId());
1657 assetTagStatsImpl.setClassNameId(assetTagStats.getClassNameId());
1658 assetTagStatsImpl.setAssetCount(assetTagStats.getAssetCount());
1659
1660 return assetTagStatsImpl;
1661 }
1662
1663
1670 @Override
1671 public AssetTagStats findByPrimaryKey(Serializable primaryKey)
1672 throws NoSuchTagStatsException {
1673 AssetTagStats assetTagStats = fetchByPrimaryKey(primaryKey);
1674
1675 if (assetTagStats == null) {
1676 if (_log.isWarnEnabled()) {
1677 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
1678 }
1679
1680 throw new NoSuchTagStatsException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
1681 primaryKey);
1682 }
1683
1684 return assetTagStats;
1685 }
1686
1687
1694 @Override
1695 public AssetTagStats findByPrimaryKey(long tagStatsId)
1696 throws NoSuchTagStatsException {
1697 return findByPrimaryKey((Serializable)tagStatsId);
1698 }
1699
1700
1706 @Override
1707 public AssetTagStats fetchByPrimaryKey(Serializable primaryKey) {
1708 AssetTagStats assetTagStats = (AssetTagStats)entityCache.getResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1709 AssetTagStatsImpl.class, primaryKey);
1710
1711 if (assetTagStats == _nullAssetTagStats) {
1712 return null;
1713 }
1714
1715 if (assetTagStats == null) {
1716 Session session = null;
1717
1718 try {
1719 session = openSession();
1720
1721 assetTagStats = (AssetTagStats)session.get(AssetTagStatsImpl.class,
1722 primaryKey);
1723
1724 if (assetTagStats != null) {
1725 cacheResult(assetTagStats);
1726 }
1727 else {
1728 entityCache.putResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1729 AssetTagStatsImpl.class, primaryKey, _nullAssetTagStats);
1730 }
1731 }
1732 catch (Exception e) {
1733 entityCache.removeResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1734 AssetTagStatsImpl.class, primaryKey);
1735
1736 throw processException(e);
1737 }
1738 finally {
1739 closeSession(session);
1740 }
1741 }
1742
1743 return assetTagStats;
1744 }
1745
1746
1752 @Override
1753 public AssetTagStats fetchByPrimaryKey(long tagStatsId) {
1754 return fetchByPrimaryKey((Serializable)tagStatsId);
1755 }
1756
1757 @Override
1758 public Map<Serializable, AssetTagStats> fetchByPrimaryKeys(
1759 Set<Serializable> primaryKeys) {
1760 if (primaryKeys.isEmpty()) {
1761 return Collections.emptyMap();
1762 }
1763
1764 Map<Serializable, AssetTagStats> map = new HashMap<Serializable, AssetTagStats>();
1765
1766 if (primaryKeys.size() == 1) {
1767 Iterator<Serializable> iterator = primaryKeys.iterator();
1768
1769 Serializable primaryKey = iterator.next();
1770
1771 AssetTagStats assetTagStats = fetchByPrimaryKey(primaryKey);
1772
1773 if (assetTagStats != null) {
1774 map.put(primaryKey, assetTagStats);
1775 }
1776
1777 return map;
1778 }
1779
1780 Set<Serializable> uncachedPrimaryKeys = null;
1781
1782 for (Serializable primaryKey : primaryKeys) {
1783 AssetTagStats assetTagStats = (AssetTagStats)entityCache.getResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1784 AssetTagStatsImpl.class, primaryKey);
1785
1786 if (assetTagStats == null) {
1787 if (uncachedPrimaryKeys == null) {
1788 uncachedPrimaryKeys = new HashSet<Serializable>();
1789 }
1790
1791 uncachedPrimaryKeys.add(primaryKey);
1792 }
1793 else {
1794 map.put(primaryKey, assetTagStats);
1795 }
1796 }
1797
1798 if (uncachedPrimaryKeys == null) {
1799 return map;
1800 }
1801
1802 StringBundler query = new StringBundler((uncachedPrimaryKeys.size() * 2) +
1803 1);
1804
1805 query.append(_SQL_SELECT_ASSETTAGSTATS_WHERE_PKS_IN);
1806
1807 for (Serializable primaryKey : uncachedPrimaryKeys) {
1808 query.append(String.valueOf(primaryKey));
1809
1810 query.append(StringPool.COMMA);
1811 }
1812
1813 query.setIndex(query.index() - 1);
1814
1815 query.append(StringPool.CLOSE_PARENTHESIS);
1816
1817 String sql = query.toString();
1818
1819 Session session = null;
1820
1821 try {
1822 session = openSession();
1823
1824 Query q = session.createQuery(sql);
1825
1826 for (AssetTagStats assetTagStats : (List<AssetTagStats>)q.list()) {
1827 map.put(assetTagStats.getPrimaryKeyObj(), assetTagStats);
1828
1829 cacheResult(assetTagStats);
1830
1831 uncachedPrimaryKeys.remove(assetTagStats.getPrimaryKeyObj());
1832 }
1833
1834 for (Serializable primaryKey : uncachedPrimaryKeys) {
1835 entityCache.putResult(AssetTagStatsModelImpl.ENTITY_CACHE_ENABLED,
1836 AssetTagStatsImpl.class, primaryKey, _nullAssetTagStats);
1837 }
1838 }
1839 catch (Exception e) {
1840 throw processException(e);
1841 }
1842 finally {
1843 closeSession(session);
1844 }
1845
1846 return map;
1847 }
1848
1849
1854 @Override
1855 public List<AssetTagStats> findAll() {
1856 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1857 }
1858
1859
1870 @Override
1871 public List<AssetTagStats> findAll(int start, int end) {
1872 return findAll(start, end, null);
1873 }
1874
1875
1887 @Override
1888 public List<AssetTagStats> findAll(int start, int end,
1889 OrderByComparator<AssetTagStats> orderByComparator) {
1890 return findAll(start, end, orderByComparator, true);
1891 }
1892
1893
1906 @Override
1907 public List<AssetTagStats> findAll(int start, int end,
1908 OrderByComparator<AssetTagStats> orderByComparator,
1909 boolean retrieveFromCache) {
1910 boolean pagination = true;
1911 FinderPath finderPath = null;
1912 Object[] finderArgs = null;
1913
1914 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
1915 (orderByComparator == null)) {
1916 pagination = false;
1917 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL;
1918 finderArgs = FINDER_ARGS_EMPTY;
1919 }
1920 else {
1921 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL;
1922 finderArgs = new Object[] { start, end, orderByComparator };
1923 }
1924
1925 List<AssetTagStats> list = null;
1926
1927 if (retrieveFromCache) {
1928 list = (List<AssetTagStats>)finderCache.getResult(finderPath,
1929 finderArgs, this);
1930 }
1931
1932 if (list == null) {
1933 StringBundler query = null;
1934 String sql = null;
1935
1936 if (orderByComparator != null) {
1937 query = new StringBundler(2 +
1938 (orderByComparator.getOrderByFields().length * 3));
1939
1940 query.append(_SQL_SELECT_ASSETTAGSTATS);
1941
1942 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1943 orderByComparator);
1944
1945 sql = query.toString();
1946 }
1947 else {
1948 sql = _SQL_SELECT_ASSETTAGSTATS;
1949
1950 if (pagination) {
1951 sql = sql.concat(AssetTagStatsModelImpl.ORDER_BY_JPQL);
1952 }
1953 }
1954
1955 Session session = null;
1956
1957 try {
1958 session = openSession();
1959
1960 Query q = session.createQuery(sql);
1961
1962 if (!pagination) {
1963 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
1964 start, end, false);
1965
1966 Collections.sort(list);
1967
1968 list = Collections.unmodifiableList(list);
1969 }
1970 else {
1971 list = (List<AssetTagStats>)QueryUtil.list(q, getDialect(),
1972 start, end);
1973 }
1974
1975 cacheResult(list);
1976
1977 finderCache.putResult(finderPath, finderArgs, list);
1978 }
1979 catch (Exception e) {
1980 finderCache.removeResult(finderPath, finderArgs);
1981
1982 throw processException(e);
1983 }
1984 finally {
1985 closeSession(session);
1986 }
1987 }
1988
1989 return list;
1990 }
1991
1992
1996 @Override
1997 public void removeAll() {
1998 for (AssetTagStats assetTagStats : findAll()) {
1999 remove(assetTagStats);
2000 }
2001 }
2002
2003
2008 @Override
2009 public int countAll() {
2010 Long count = (Long)finderCache.getResult(FINDER_PATH_COUNT_ALL,
2011 FINDER_ARGS_EMPTY, this);
2012
2013 if (count == null) {
2014 Session session = null;
2015
2016 try {
2017 session = openSession();
2018
2019 Query q = session.createQuery(_SQL_COUNT_ASSETTAGSTATS);
2020
2021 count = (Long)q.uniqueResult();
2022
2023 finderCache.putResult(FINDER_PATH_COUNT_ALL, FINDER_ARGS_EMPTY,
2024 count);
2025 }
2026 catch (Exception e) {
2027 finderCache.removeResult(FINDER_PATH_COUNT_ALL,
2028 FINDER_ARGS_EMPTY);
2029
2030 throw processException(e);
2031 }
2032 finally {
2033 closeSession(session);
2034 }
2035 }
2036
2037 return count.intValue();
2038 }
2039
2040 @Override
2041 protected Map<String, Integer> getTableColumnsMap() {
2042 return AssetTagStatsModelImpl.TABLE_COLUMNS_MAP;
2043 }
2044
2045
2048 public void afterPropertiesSet() {
2049 }
2050
2051 public void destroy() {
2052 entityCache.removeCache(AssetTagStatsImpl.class.getName());
2053 finderCache.removeCache(FINDER_CLASS_NAME_ENTITY);
2054 finderCache.removeCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
2055 finderCache.removeCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
2056 }
2057
2058 protected EntityCache entityCache = EntityCacheUtil.getEntityCache();
2059 protected FinderCache finderCache = FinderCacheUtil.getFinderCache();
2060 private static final String _SQL_SELECT_ASSETTAGSTATS = "SELECT assetTagStats FROM AssetTagStats assetTagStats";
2061 private static final String _SQL_SELECT_ASSETTAGSTATS_WHERE_PKS_IN = "SELECT assetTagStats FROM AssetTagStats assetTagStats WHERE tagStatsId IN (";
2062 private static final String _SQL_SELECT_ASSETTAGSTATS_WHERE = "SELECT assetTagStats FROM AssetTagStats assetTagStats WHERE ";
2063 private static final String _SQL_COUNT_ASSETTAGSTATS = "SELECT COUNT(assetTagStats) FROM AssetTagStats assetTagStats";
2064 private static final String _SQL_COUNT_ASSETTAGSTATS_WHERE = "SELECT COUNT(assetTagStats) FROM AssetTagStats assetTagStats WHERE ";
2065 private static final String _ORDER_BY_ENTITY_ALIAS = "assetTagStats.";
2066 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No AssetTagStats exists with the primary key ";
2067 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No AssetTagStats exists with the key {";
2068 private static final Log _log = LogFactoryUtil.getLog(AssetTagStatsPersistenceImpl.class);
2069 private static final AssetTagStats _nullAssetTagStats = new AssetTagStatsImpl() {
2070 @Override
2071 public Object clone() {
2072 return this;
2073 }
2074
2075 @Override
2076 public CacheModel<AssetTagStats> toCacheModel() {
2077 return _nullAssetTagStatsCacheModel;
2078 }
2079 };
2080
2081 private static final CacheModel<AssetTagStats> _nullAssetTagStatsCacheModel = new CacheModel<AssetTagStats>() {
2082 @Override
2083 public AssetTagStats toEntityModel() {
2084 return _nullAssetTagStats;
2085 }
2086 };
2087 }