001
014
015 package com.liferay.portlet.ratings.service.persistence;
016
017 import com.liferay.portal.kernel.cache.CacheRegistryUtil;
018 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
019 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
020 import com.liferay.portal.kernel.dao.orm.FinderPath;
021 import com.liferay.portal.kernel.dao.orm.Query;
022 import com.liferay.portal.kernel.dao.orm.QueryPos;
023 import com.liferay.portal.kernel.dao.orm.QueryUtil;
024 import com.liferay.portal.kernel.dao.orm.Session;
025 import com.liferay.portal.kernel.exception.SystemException;
026 import com.liferay.portal.kernel.log.Log;
027 import com.liferay.portal.kernel.log.LogFactoryUtil;
028 import com.liferay.portal.kernel.util.GetterUtil;
029 import com.liferay.portal.kernel.util.InstanceFactory;
030 import com.liferay.portal.kernel.util.OrderByComparator;
031 import com.liferay.portal.kernel.util.StringBundler;
032 import com.liferay.portal.kernel.util.StringPool;
033 import com.liferay.portal.kernel.util.StringUtil;
034 import com.liferay.portal.kernel.util.UnmodifiableList;
035 import com.liferay.portal.model.CacheModel;
036 import com.liferay.portal.model.ModelListener;
037 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
038
039 import com.liferay.portlet.ratings.NoSuchStatsException;
040 import com.liferay.portlet.ratings.model.RatingsStats;
041 import com.liferay.portlet.ratings.model.impl.RatingsStatsImpl;
042 import com.liferay.portlet.ratings.model.impl.RatingsStatsModelImpl;
043
044 import java.io.Serializable;
045
046 import java.util.ArrayList;
047 import java.util.Collections;
048 import java.util.List;
049
050
062 public class RatingsStatsPersistenceImpl extends BasePersistenceImpl<RatingsStats>
063 implements RatingsStatsPersistence {
064
069 public static final String FINDER_CLASS_NAME_ENTITY = RatingsStatsImpl.class.getName();
070 public static final String FINDER_CLASS_NAME_LIST_WITH_PAGINATION = FINDER_CLASS_NAME_ENTITY +
071 ".List1";
072 public static final String FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION = FINDER_CLASS_NAME_ENTITY +
073 ".List2";
074 public static final FinderPath FINDER_PATH_WITH_PAGINATION_FIND_ALL = new FinderPath(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
075 RatingsStatsModelImpl.FINDER_CACHE_ENABLED, RatingsStatsImpl.class,
076 FINDER_CLASS_NAME_LIST_WITH_PAGINATION, "findAll", new String[0]);
077 public static final FinderPath FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL = new FinderPath(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
078 RatingsStatsModelImpl.FINDER_CACHE_ENABLED, RatingsStatsImpl.class,
079 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "findAll", new String[0]);
080 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
081 RatingsStatsModelImpl.FINDER_CACHE_ENABLED, Long.class,
082 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countAll", new String[0]);
083 public static final FinderPath FINDER_PATH_FETCH_BY_C_C = new FinderPath(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
084 RatingsStatsModelImpl.FINDER_CACHE_ENABLED, RatingsStatsImpl.class,
085 FINDER_CLASS_NAME_ENTITY, "fetchByC_C",
086 new String[] { Long.class.getName(), Long.class.getName() },
087 RatingsStatsModelImpl.CLASSNAMEID_COLUMN_BITMASK |
088 RatingsStatsModelImpl.CLASSPK_COLUMN_BITMASK);
089 public static final FinderPath FINDER_PATH_COUNT_BY_C_C = new FinderPath(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
090 RatingsStatsModelImpl.FINDER_CACHE_ENABLED, Long.class,
091 FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION, "countByC_C",
092 new String[] { Long.class.getName(), Long.class.getName() });
093
094
103 @Override
104 public RatingsStats findByC_C(long classNameId, long classPK)
105 throws NoSuchStatsException, SystemException {
106 RatingsStats ratingsStats = fetchByC_C(classNameId, classPK);
107
108 if (ratingsStats == null) {
109 StringBundler msg = new StringBundler(6);
110
111 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
112
113 msg.append("classNameId=");
114 msg.append(classNameId);
115
116 msg.append(", classPK=");
117 msg.append(classPK);
118
119 msg.append(StringPool.CLOSE_CURLY_BRACE);
120
121 if (_log.isWarnEnabled()) {
122 _log.warn(msg.toString());
123 }
124
125 throw new NoSuchStatsException(msg.toString());
126 }
127
128 return ratingsStats;
129 }
130
131
139 @Override
140 public RatingsStats fetchByC_C(long classNameId, long classPK)
141 throws SystemException {
142 return fetchByC_C(classNameId, classPK, true);
143 }
144
145
154 @Override
155 public RatingsStats fetchByC_C(long classNameId, long classPK,
156 boolean retrieveFromCache) throws SystemException {
157 Object[] finderArgs = new Object[] { classNameId, classPK };
158
159 Object result = null;
160
161 if (retrieveFromCache) {
162 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_C_C,
163 finderArgs, this);
164 }
165
166 if (result instanceof RatingsStats) {
167 RatingsStats ratingsStats = (RatingsStats)result;
168
169 if ((classNameId != ratingsStats.getClassNameId()) ||
170 (classPK != ratingsStats.getClassPK())) {
171 result = null;
172 }
173 }
174
175 if (result == null) {
176 StringBundler query = new StringBundler(4);
177
178 query.append(_SQL_SELECT_RATINGSSTATS_WHERE);
179
180 query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_2);
181
182 query.append(_FINDER_COLUMN_C_C_CLASSPK_2);
183
184 String sql = query.toString();
185
186 Session session = null;
187
188 try {
189 session = openSession();
190
191 Query q = session.createQuery(sql);
192
193 QueryPos qPos = QueryPos.getInstance(q);
194
195 qPos.add(classNameId);
196
197 qPos.add(classPK);
198
199 List<RatingsStats> list = q.list();
200
201 if (list.isEmpty()) {
202 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_C,
203 finderArgs, list);
204 }
205 else {
206 RatingsStats ratingsStats = list.get(0);
207
208 result = ratingsStats;
209
210 cacheResult(ratingsStats);
211
212 if ((ratingsStats.getClassNameId() != classNameId) ||
213 (ratingsStats.getClassPK() != classPK)) {
214 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_C,
215 finderArgs, ratingsStats);
216 }
217 }
218 }
219 catch (Exception e) {
220 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_C,
221 finderArgs);
222
223 throw processException(e);
224 }
225 finally {
226 closeSession(session);
227 }
228 }
229
230 if (result instanceof List<?>) {
231 return null;
232 }
233 else {
234 return (RatingsStats)result;
235 }
236 }
237
238
246 @Override
247 public RatingsStats removeByC_C(long classNameId, long classPK)
248 throws NoSuchStatsException, SystemException {
249 RatingsStats ratingsStats = findByC_C(classNameId, classPK);
250
251 return remove(ratingsStats);
252 }
253
254
262 @Override
263 public int countByC_C(long classNameId, long classPK)
264 throws SystemException {
265 FinderPath finderPath = FINDER_PATH_COUNT_BY_C_C;
266
267 Object[] finderArgs = new Object[] { classNameId, classPK };
268
269 Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs,
270 this);
271
272 if (count == null) {
273 StringBundler query = new StringBundler(3);
274
275 query.append(_SQL_COUNT_RATINGSSTATS_WHERE);
276
277 query.append(_FINDER_COLUMN_C_C_CLASSNAMEID_2);
278
279 query.append(_FINDER_COLUMN_C_C_CLASSPK_2);
280
281 String sql = query.toString();
282
283 Session session = null;
284
285 try {
286 session = openSession();
287
288 Query q = session.createQuery(sql);
289
290 QueryPos qPos = QueryPos.getInstance(q);
291
292 qPos.add(classNameId);
293
294 qPos.add(classPK);
295
296 count = (Long)q.uniqueResult();
297
298 FinderCacheUtil.putResult(finderPath, finderArgs, count);
299 }
300 catch (Exception e) {
301 FinderCacheUtil.removeResult(finderPath, finderArgs);
302
303 throw processException(e);
304 }
305 finally {
306 closeSession(session);
307 }
308 }
309
310 return count.intValue();
311 }
312
313 private static final String _FINDER_COLUMN_C_C_CLASSNAMEID_2 = "ratingsStats.classNameId = ? AND ";
314 private static final String _FINDER_COLUMN_C_C_CLASSPK_2 = "ratingsStats.classPK = ?";
315
316 public RatingsStatsPersistenceImpl() {
317 setModelClass(RatingsStats.class);
318 }
319
320
325 @Override
326 public void cacheResult(RatingsStats ratingsStats) {
327 EntityCacheUtil.putResult(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
328 RatingsStatsImpl.class, ratingsStats.getPrimaryKey(), ratingsStats);
329
330 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_C,
331 new Object[] {
332 ratingsStats.getClassNameId(), ratingsStats.getClassPK()
333 }, ratingsStats);
334
335 ratingsStats.resetOriginalValues();
336 }
337
338
343 @Override
344 public void cacheResult(List<RatingsStats> ratingsStatses) {
345 for (RatingsStats ratingsStats : ratingsStatses) {
346 if (EntityCacheUtil.getResult(
347 RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
348 RatingsStatsImpl.class, ratingsStats.getPrimaryKey()) == null) {
349 cacheResult(ratingsStats);
350 }
351 else {
352 ratingsStats.resetOriginalValues();
353 }
354 }
355 }
356
357
364 @Override
365 public void clearCache() {
366 if (_HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE) {
367 CacheRegistryUtil.clear(RatingsStatsImpl.class.getName());
368 }
369
370 EntityCacheUtil.clearCache(RatingsStatsImpl.class.getName());
371
372 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
373 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
374 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
375 }
376
377
384 @Override
385 public void clearCache(RatingsStats ratingsStats) {
386 EntityCacheUtil.removeResult(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
387 RatingsStatsImpl.class, ratingsStats.getPrimaryKey());
388
389 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
390 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
391
392 clearUniqueFindersCache(ratingsStats);
393 }
394
395 @Override
396 public void clearCache(List<RatingsStats> ratingsStatses) {
397 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
398 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
399
400 for (RatingsStats ratingsStats : ratingsStatses) {
401 EntityCacheUtil.removeResult(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
402 RatingsStatsImpl.class, ratingsStats.getPrimaryKey());
403
404 clearUniqueFindersCache(ratingsStats);
405 }
406 }
407
408 protected void cacheUniqueFindersCache(RatingsStats ratingsStats) {
409 if (ratingsStats.isNew()) {
410 Object[] args = new Object[] {
411 ratingsStats.getClassNameId(), ratingsStats.getClassPK()
412 };
413
414 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C, args,
415 Long.valueOf(1));
416 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_C, args,
417 ratingsStats);
418 }
419 else {
420 RatingsStatsModelImpl ratingsStatsModelImpl = (RatingsStatsModelImpl)ratingsStats;
421
422 if ((ratingsStatsModelImpl.getColumnBitmask() &
423 FINDER_PATH_FETCH_BY_C_C.getColumnBitmask()) != 0) {
424 Object[] args = new Object[] {
425 ratingsStats.getClassNameId(), ratingsStats.getClassPK()
426 };
427
428 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C, args,
429 Long.valueOf(1));
430 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_C_C, args,
431 ratingsStats);
432 }
433 }
434 }
435
436 protected void clearUniqueFindersCache(RatingsStats ratingsStats) {
437 RatingsStatsModelImpl ratingsStatsModelImpl = (RatingsStatsModelImpl)ratingsStats;
438
439 Object[] args = new Object[] {
440 ratingsStats.getClassNameId(), ratingsStats.getClassPK()
441 };
442
443 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_C_C, args);
444 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_C, args);
445
446 if ((ratingsStatsModelImpl.getColumnBitmask() &
447 FINDER_PATH_FETCH_BY_C_C.getColumnBitmask()) != 0) {
448 args = new Object[] {
449 ratingsStatsModelImpl.getOriginalClassNameId(),
450 ratingsStatsModelImpl.getOriginalClassPK()
451 };
452
453 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_BY_C_C, args);
454 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_C_C, args);
455 }
456 }
457
458
464 @Override
465 public RatingsStats create(long statsId) {
466 RatingsStats ratingsStats = new RatingsStatsImpl();
467
468 ratingsStats.setNew(true);
469 ratingsStats.setPrimaryKey(statsId);
470
471 return ratingsStats;
472 }
473
474
482 @Override
483 public RatingsStats remove(long statsId)
484 throws NoSuchStatsException, SystemException {
485 return remove((Serializable)statsId);
486 }
487
488
496 @Override
497 public RatingsStats remove(Serializable primaryKey)
498 throws NoSuchStatsException, SystemException {
499 Session session = null;
500
501 try {
502 session = openSession();
503
504 RatingsStats ratingsStats = (RatingsStats)session.get(RatingsStatsImpl.class,
505 primaryKey);
506
507 if (ratingsStats == null) {
508 if (_log.isWarnEnabled()) {
509 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
510 }
511
512 throw new NoSuchStatsException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
513 primaryKey);
514 }
515
516 return remove(ratingsStats);
517 }
518 catch (NoSuchStatsException nsee) {
519 throw nsee;
520 }
521 catch (Exception e) {
522 throw processException(e);
523 }
524 finally {
525 closeSession(session);
526 }
527 }
528
529 @Override
530 protected RatingsStats removeImpl(RatingsStats ratingsStats)
531 throws SystemException {
532 ratingsStats = toUnwrappedModel(ratingsStats);
533
534 Session session = null;
535
536 try {
537 session = openSession();
538
539 if (!session.contains(ratingsStats)) {
540 ratingsStats = (RatingsStats)session.get(RatingsStatsImpl.class,
541 ratingsStats.getPrimaryKeyObj());
542 }
543
544 if (ratingsStats != null) {
545 session.delete(ratingsStats);
546 }
547 }
548 catch (Exception e) {
549 throw processException(e);
550 }
551 finally {
552 closeSession(session);
553 }
554
555 if (ratingsStats != null) {
556 clearCache(ratingsStats);
557 }
558
559 return ratingsStats;
560 }
561
562 @Override
563 public RatingsStats updateImpl(
564 com.liferay.portlet.ratings.model.RatingsStats ratingsStats)
565 throws SystemException {
566 ratingsStats = toUnwrappedModel(ratingsStats);
567
568 boolean isNew = ratingsStats.isNew();
569
570 Session session = null;
571
572 try {
573 session = openSession();
574
575 if (ratingsStats.isNew()) {
576 session.save(ratingsStats);
577
578 ratingsStats.setNew(false);
579 }
580 else {
581 session.merge(ratingsStats);
582 }
583 }
584 catch (Exception e) {
585 throw processException(e);
586 }
587 finally {
588 closeSession(session);
589 }
590
591 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
592
593 if (isNew || !RatingsStatsModelImpl.COLUMN_BITMASK_ENABLED) {
594 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
595 }
596
597 EntityCacheUtil.putResult(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
598 RatingsStatsImpl.class, ratingsStats.getPrimaryKey(), ratingsStats);
599
600 clearUniqueFindersCache(ratingsStats);
601 cacheUniqueFindersCache(ratingsStats);
602
603 return ratingsStats;
604 }
605
606 protected RatingsStats toUnwrappedModel(RatingsStats ratingsStats) {
607 if (ratingsStats instanceof RatingsStatsImpl) {
608 return ratingsStats;
609 }
610
611 RatingsStatsImpl ratingsStatsImpl = new RatingsStatsImpl();
612
613 ratingsStatsImpl.setNew(ratingsStats.isNew());
614 ratingsStatsImpl.setPrimaryKey(ratingsStats.getPrimaryKey());
615
616 ratingsStatsImpl.setStatsId(ratingsStats.getStatsId());
617 ratingsStatsImpl.setClassNameId(ratingsStats.getClassNameId());
618 ratingsStatsImpl.setClassPK(ratingsStats.getClassPK());
619 ratingsStatsImpl.setTotalEntries(ratingsStats.getTotalEntries());
620 ratingsStatsImpl.setTotalScore(ratingsStats.getTotalScore());
621 ratingsStatsImpl.setAverageScore(ratingsStats.getAverageScore());
622
623 return ratingsStatsImpl;
624 }
625
626
634 @Override
635 public RatingsStats findByPrimaryKey(Serializable primaryKey)
636 throws NoSuchStatsException, SystemException {
637 RatingsStats ratingsStats = fetchByPrimaryKey(primaryKey);
638
639 if (ratingsStats == null) {
640 if (_log.isWarnEnabled()) {
641 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + primaryKey);
642 }
643
644 throw new NoSuchStatsException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
645 primaryKey);
646 }
647
648 return ratingsStats;
649 }
650
651
659 @Override
660 public RatingsStats findByPrimaryKey(long statsId)
661 throws NoSuchStatsException, SystemException {
662 return findByPrimaryKey((Serializable)statsId);
663 }
664
665
672 @Override
673 public RatingsStats fetchByPrimaryKey(Serializable primaryKey)
674 throws SystemException {
675 RatingsStats ratingsStats = (RatingsStats)EntityCacheUtil.getResult(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
676 RatingsStatsImpl.class, primaryKey);
677
678 if (ratingsStats == _nullRatingsStats) {
679 return null;
680 }
681
682 if (ratingsStats == null) {
683 Session session = null;
684
685 try {
686 session = openSession();
687
688 ratingsStats = (RatingsStats)session.get(RatingsStatsImpl.class,
689 primaryKey);
690
691 if (ratingsStats != null) {
692 cacheResult(ratingsStats);
693 }
694 else {
695 EntityCacheUtil.putResult(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
696 RatingsStatsImpl.class, primaryKey, _nullRatingsStats);
697 }
698 }
699 catch (Exception e) {
700 EntityCacheUtil.removeResult(RatingsStatsModelImpl.ENTITY_CACHE_ENABLED,
701 RatingsStatsImpl.class, primaryKey);
702
703 throw processException(e);
704 }
705 finally {
706 closeSession(session);
707 }
708 }
709
710 return ratingsStats;
711 }
712
713
720 @Override
721 public RatingsStats fetchByPrimaryKey(long statsId)
722 throws SystemException {
723 return fetchByPrimaryKey((Serializable)statsId);
724 }
725
726
732 @Override
733 public List<RatingsStats> findAll() throws SystemException {
734 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
735 }
736
737
749 @Override
750 public List<RatingsStats> findAll(int start, int end)
751 throws SystemException {
752 return findAll(start, end, null);
753 }
754
755
768 @Override
769 public List<RatingsStats> findAll(int start, int end,
770 OrderByComparator orderByComparator) throws SystemException {
771 boolean pagination = true;
772 FinderPath finderPath = null;
773 Object[] finderArgs = null;
774
775 if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) &&
776 (orderByComparator == null)) {
777 pagination = false;
778 finderPath = FINDER_PATH_WITHOUT_PAGINATION_FIND_ALL;
779 finderArgs = FINDER_ARGS_EMPTY;
780 }
781 else {
782 finderPath = FINDER_PATH_WITH_PAGINATION_FIND_ALL;
783 finderArgs = new Object[] { start, end, orderByComparator };
784 }
785
786 List<RatingsStats> list = (List<RatingsStats>)FinderCacheUtil.getResult(finderPath,
787 finderArgs, this);
788
789 if (list == null) {
790 StringBundler query = null;
791 String sql = null;
792
793 if (orderByComparator != null) {
794 query = new StringBundler(2 +
795 (orderByComparator.getOrderByFields().length * 3));
796
797 query.append(_SQL_SELECT_RATINGSSTATS);
798
799 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
800 orderByComparator);
801
802 sql = query.toString();
803 }
804 else {
805 sql = _SQL_SELECT_RATINGSSTATS;
806
807 if (pagination) {
808 sql = sql.concat(RatingsStatsModelImpl.ORDER_BY_JPQL);
809 }
810 }
811
812 Session session = null;
813
814 try {
815 session = openSession();
816
817 Query q = session.createQuery(sql);
818
819 if (!pagination) {
820 list = (List<RatingsStats>)QueryUtil.list(q, getDialect(),
821 start, end, false);
822
823 Collections.sort(list);
824
825 list = new UnmodifiableList<RatingsStats>(list);
826 }
827 else {
828 list = (List<RatingsStats>)QueryUtil.list(q, getDialect(),
829 start, end);
830 }
831
832 cacheResult(list);
833
834 FinderCacheUtil.putResult(finderPath, finderArgs, list);
835 }
836 catch (Exception e) {
837 FinderCacheUtil.removeResult(finderPath, finderArgs);
838
839 throw processException(e);
840 }
841 finally {
842 closeSession(session);
843 }
844 }
845
846 return list;
847 }
848
849
854 @Override
855 public void removeAll() throws SystemException {
856 for (RatingsStats ratingsStats : findAll()) {
857 remove(ratingsStats);
858 }
859 }
860
861
867 @Override
868 public int countAll() throws SystemException {
869 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
870 FINDER_ARGS_EMPTY, this);
871
872 if (count == null) {
873 Session session = null;
874
875 try {
876 session = openSession();
877
878 Query q = session.createQuery(_SQL_COUNT_RATINGSSTATS);
879
880 count = (Long)q.uniqueResult();
881
882 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL,
883 FINDER_ARGS_EMPTY, count);
884 }
885 catch (Exception e) {
886 FinderCacheUtil.removeResult(FINDER_PATH_COUNT_ALL,
887 FINDER_ARGS_EMPTY);
888
889 throw processException(e);
890 }
891 finally {
892 closeSession(session);
893 }
894 }
895
896 return count.intValue();
897 }
898
899
902 public void afterPropertiesSet() {
903 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
904 com.liferay.portal.util.PropsUtil.get(
905 "value.object.listener.com.liferay.portlet.ratings.model.RatingsStats")));
906
907 if (listenerClassNames.length > 0) {
908 try {
909 List<ModelListener<RatingsStats>> listenersList = new ArrayList<ModelListener<RatingsStats>>();
910
911 for (String listenerClassName : listenerClassNames) {
912 listenersList.add((ModelListener<RatingsStats>)InstanceFactory.newInstance(
913 getClassLoader(), listenerClassName));
914 }
915
916 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
917 }
918 catch (Exception e) {
919 _log.error(e);
920 }
921 }
922 }
923
924 public void destroy() {
925 EntityCacheUtil.removeCache(RatingsStatsImpl.class.getName());
926 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_ENTITY);
927 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITH_PAGINATION);
928 FinderCacheUtil.removeCache(FINDER_CLASS_NAME_LIST_WITHOUT_PAGINATION);
929 }
930
931 private static final String _SQL_SELECT_RATINGSSTATS = "SELECT ratingsStats FROM RatingsStats ratingsStats";
932 private static final String _SQL_SELECT_RATINGSSTATS_WHERE = "SELECT ratingsStats FROM RatingsStats ratingsStats WHERE ";
933 private static final String _SQL_COUNT_RATINGSSTATS = "SELECT COUNT(ratingsStats) FROM RatingsStats ratingsStats";
934 private static final String _SQL_COUNT_RATINGSSTATS_WHERE = "SELECT COUNT(ratingsStats) FROM RatingsStats ratingsStats WHERE ";
935 private static final String _ORDER_BY_ENTITY_ALIAS = "ratingsStats.";
936 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No RatingsStats exists with the primary key ";
937 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No RatingsStats exists with the key {";
938 private static final boolean _HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE = com.liferay.portal.util.PropsValues.HIBERNATE_CACHE_USE_SECOND_LEVEL_CACHE;
939 private static Log _log = LogFactoryUtil.getLog(RatingsStatsPersistenceImpl.class);
940 private static RatingsStats _nullRatingsStats = new RatingsStatsImpl() {
941 @Override
942 public Object clone() {
943 return this;
944 }
945
946 @Override
947 public CacheModel<RatingsStats> toCacheModel() {
948 return _nullRatingsStatsCacheModel;
949 }
950 };
951
952 private static CacheModel<RatingsStats> _nullRatingsStatsCacheModel = new CacheModel<RatingsStats>() {
953 @Override
954 public RatingsStats toEntityModel() {
955 return _nullRatingsStats;
956 }
957 };
958 }